Подтвердить что ты не робот

Как вы развиваетесь как разработчик, когда вы единственный в данной технологии в вашей компании?

Я не единственный программист, но я единственный разработчик .NET, все остальные работают с Perl, Ext JS и сопутствующими технологиями. Я в основном участвую в обучении, используя Codeproject для изучения новых технологий.

Без каких-либо наставников в моей компании, специально осведомленных в .NET, я не уверен, могут ли классы или онлайн-учебники, книги или, возможно, какой-то другой способ, помочь мне стать лучшим разработчиком.

Моя цель, оптимистично, - стать разработчиком, способным управлять следующим .NET-разработчиком, которого мы нанимаем, или, по крайней мере, хорошо интегрироваться с ним.

В настоящее время я беру на себя задачу документировать свои программы таким образом, чтобы получать обзор от более опытных разработчиков в моей компании, независимо от того, что они не знают .NET, и я ожидаю, что это будет довольно общим, но, надеюсь, все еще выгодно.

Есть ли у кого-нибудь предложения или советы, как наиболее эффективно изучать передовые методы без прямого контроля?

4b9b3361

Ответ 1

Я всегда так делал. Мои способы улучшения:

  • Чтение высококачественных блогов
  • Применяя то, что рекомендуют эти высококачественные блоги (всякий раз, когда это соответствует вашему проекту и когда позволяет время, конечно)
  • Чтение высококачественного проекта с открытым исходным кодом исходный код
  • Написание столько кода, сколько вы можете, всегда имея в виду, что вы узнали, и всегда пытаетесь поднять уровень качества. Практика не идеальна. Только совершенная практика делает совершенным.
  • Следите за тем, что не связано с вашей линией работы. Например, если ваше основное задание - это кодирование ASP.NET на С#, прочитайте материал о функциональном программировании, F #, Haskell, другие веб-фреймворки, такие как django, Ruby on Rails и т.д. Я не говорю, что вы их изучаете, просто посмотрите, как все может быть сделано по-другому. Это расширит вашу перспективу.
  • Когда вы получаете некоторую уверенность в себе: участвуйте в проектах с открытым исходным кодом, пишите блог.

О книгах: ИМХО, книги, которые являются высокотехническими (т.е. "Buzzword 2.0 в действии!" ), не стоят вашего времени. Все происходит так быстро, что они, вероятно, устареют через 6 месяцев после их выпуска. Единственные книги, которые стоит покупать, - это те, которые касаются основных проблем, связанных с CS или архитектурой.

О занятиях: очень сложно найти высококачественные не университетские классы, которые не являются пустой тратой времени/денег. Большую часть времени вы можете быстрее учиться самостоятельно. (ОБНОВЛЕНИЕ: ускоренная до 2013 года, MOOCs - это потрясающий, высококачественный, бесплатный учебный ресурс).

Также будьте осторожны с codeproject, там есть много статей с ошибками и/или общие плохие советы.

Ответ 2

Без наставников вокруг есть несколько вещей, которые вы можете сделать, чтобы улучшить свои навыки:

  • Возьмите классы... особенно если ваш работодатель заплатит за них.
  • Прочитайте книги. Они - лучшая вещь для класса.
  • Прочитайте блоги разработчиков. Они не могут научить вас лучшим практикам, но они будут держать вас в курсе того, что нового в мире развития. Это поможет вам не отставать.
  • Предоставлено сообществом Слушать подкасты (Hanselminutes, Stackoverflow и т.д.) и смотреть Screencasts (Dimecasts имеет массу хорошего контента).
  • Участвуйте в сообществе. Иногда мы можем казаться суровыми, но вы узнаете больше о лучших методах, методах кодирования, шаблонах проектирования и т.д. И о разных способах применения всего.

Ответ 3

Я нахожусь в той же ситуации, в которой вы находитесь. Я узнаю в основном из

  • предыдущие проекты/ошибки, особенно когда вы берете старый проект от кого-то другого (50%)
  • google (25%)
  • forum/stackoverflow (25%)

Ответ 4

Изменить работодателей. Серьезно, я не пытаюсь быть рывком. Самый большой рост, который вы планируете иметь в качестве разработчика, - это работать каждый день с кем-то значительно лучше вас.

Ответ 5

Присоединитесь к проекту OSS, который работает с .NET, чтобы получить обратную связь от вашего кода у опытных разработчиков .NET. Кроме того, просмотр кода других людей - отличный способ узнать новые вещи - так же, как вы делали. Я также согласен с Джастином в том, что чтение блогов, таких как Эрик Липперт очень полезно

Ответ 6

Воспользуйтесь возможностью изучить языки и технологии, используемые вашими коллегами.

Они расскажут вам не только о синтаксисе, но еще важнее о методах, идиомах и парадигмах, которые вы не найдете в .Net, но это вызовет у вас возможность подумать о том, как вы могли бы применить или построить эти вещи в .Net, или почему .Net не имеет или не должен использовать эти вещи.

Почему Perl слабо типизирован (или он)? Какой Perl лучше, чем .Net? Что такое .Net отлично на Perl, просто ужасно? Почему эти различия существуют? Как вы можете реализовать интерпретатор Perl в .NET? Почему вы хотите?

Почему все в JavaScript хэш? Как наследование класса .Net сравнивается с прототипами JavaScript? Являются ли JavaScript первоклассными функциями отличным инструментом или источником обскурантистских злоупотреблений по сравнению с .NET сильными и статически типизированными классами?

Каковы основные структуры данных на каждом языке? Для каждого языка, почему эти типы являются фундаментальными для этого языка? Какими были различные проектные решения (или отсутствие решений), которые мотивировали и информировали каждый язык о разработке и реализации? Можете ли вы различить какие-либо общие "предковые" языки среди языков, используемых на вашем рабочем месте? Почему у нас нет "одного языка для их правильного управления"? Должны ли мы?

Наконец, превосходство на каком-либо одном языке действительно здорово, но если вы не сидите на этом стандартном комитете или не комментируете этот язык на этом языке, более широкое знание основных алгоритмов и структур данных и шаблонов, которые общий среди языков, вероятно, более важен для вашего развития в качестве программиста - и, конечно же, для управления программистами, если это ваша цель.

Ответ 7

Посмотрите на локальные группы пользователей .NET. В большинстве городов вы, скорее всего, найдете хотя бы один. Группы пользователей - отличное место для развития контактов, обсуждения вопросов о технологии и получения ответов на проблемы, которые могут возникнуть у вас. Если в вашем регионе нет групп пользователей, попробуйте поискать в Интернете.

Ответ 8

Если вы можете свободно выбирать, как вы развиваетесь, и вы получаете довольно часто новые проекты, выберите новую технологию, которую вы не знакомы с каждым проектом. Конечно, сделайте свое исследование первым и убедитесь, что это имеет смысл для проекта.

В моей последней компании я был довольно свободен использовать все, что захочу, если это имеет смысл и работает. Я всегда пытался использовать что-то новое в каждом проекте. В последнем проекте, над которым я работал, я использовал NHibernate. Никто не велел мне учиться NHibernate, но я взял на себя это, чтобы использовать его, чтобы расширить свои знания. Конечно, я убедился, что NHibernate был приемлем первым.

Лучший способ узнать что-то - использовать его. Классы и книги хороши, но ничто не заставит его придерживаться больше, чем использовать его в реальном проекте.

Ответ 9

Моя цель, оптимистично, - стать разработчика, способного управлять следующий разработчик .NET, который мы нанимаем...

В этом случае вы должны стремиться расширить или улучшить свои навыки управления людьми/проектами, а также разработать свои технические навыки программирования и дизайна в выбранной вами технологии.

Я также соглашаюсь с мнением о том, что не стоит слишком много сосредотачиваться на конкретной технологии; например.СЕТЬ. Слишком большая специализация имеет тенденцию ограничивать перспективы вашей карьеры.

Ответ 10

Год назад я был в значительной степени в одной лодке, и мне было интересно, когда я оглядываюсь назад на то, что мне не очень нравится. Осознание технологии, которую вы используете, очень важно, многие люди предлагали читать книги/блоги и т.д., Которые хороши.

Одна вещь, которая может вам помочь, - взглянуть на материал MCTS, начиная с экзамена по основам (я работаю над 70-536 экзаменом .NET 2.0 Framework), чтобы убедиться, что у вас хорошая база. Одним из преимуществ этого является то, что Microsoft приписывается Microsoft, поэтому вы можете добавить его в свое резюме на будущее, и это дает вам более структурированный подход, чем просто чтение книг.

Во-вторых, ознакомьтесь с практикой проектирования или даже с принципами дизайна (например, Gang Of Four). Сделайте все возможное, чтобы не срезать углы, и разработайте свой код наилучшим образом. Это заставляет вас думать о дизайне и ремонтопригодности, что чрезвычайно важно.

Наконец, я бы предположил, что пытаюсь убедиться, что вы не делаете то же самое снова и снова. Не просто работайте с базами данных или пользовательским интерфейсом и т.д. Попытайтесь получить смесь вещей, чтобы попробовать новые методы и узнать новые вещи.