Как стать автором
Обновить

10 советов как пройти путь от начинающего до программиста среднего уровня

Время на прочтение6 мин
Количество просмотров11K
Добрый день

Предлагаю вниманию сообществу перевод статьи «10 tips to go from a beginner to an intermediate developer». Её автор Justin James — один из работников компании Levit & James, занимает должность, которая включает в себя программирование, сетевое управление и системное администрирование. Ведёт постоянно свой блог на TechRepublic с 2005 года. Пишет статьи для MSDN Magazine.

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


№1: Изучите другой язык.


Вне зависимости от того, какой язык вы учите, изучение другого языка (несмотря на то, как много вы уже знаете) сделает вас еще лучшим разработчиком. Будет лучше учить такой язык, который значительно отличается используемого вами в настоящий момент. Другими словами, если вы C# разработчик, изучение VB.NET или Java не поможет вам настолько насколько поможет Ruby или Groovy.

Когда я говорю «Изучите другой язык», я имею ввиду, что его следует действительно изучить. Изучение обычно состоит из трёх сфер знаний: синтаксис, встроенные операторы и библиотеки, и «как его использовать». С первыми двумя всё легко; я думаю, что опытный разработчик может вникнуть в синтаксис языка (настолько, чтобы он смог поддерживать код), за период от 30 минут до нескольких часов в зависимости от языка. Операторы и библиотеки — это просто дело накопления знаний и желания обращаться к справочному материалу до тех пор, пока не запомнится необходимая информация. Но вот третий пункт — «как его использовать» — может быть только изучен за месяца работы с языком. И вот там-то вся магия и происходит. Я советую делать проект, который хорошо подходит для изучаемого языка и делать этот проект следует в стиле этого языка.

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

№2: Освойте современные технологию поиска, тактику и стратегию.


Всё более и более выражение «хороший разработчик» начинает означать не только ваши навыки, но также ваше умение искать информацию. Современные языки и концепции разработки становятся слишком громоздки для запоминания всех деталей. Как результат, ваше умение сделать работу часто зависит от вашего умения найти нужную информацию. К несчастью, чтобы сделать поиск нужной, высококачественной информации — надо сделать несколько больше чем просто зайти на Хабрахабр за ответом или ввести пару слов в ваш любимый поисковик.

Слова “технология”, “тактика” и “стратегия” могут звучать как синонимы, но они таковыми не являются. Технологии, которые вам надо изучить — это современные поисковые системы на вашем любимом движке; вам надо изучить такие вещи как логические операторы, также, как фильтровать результаты (ключевые слова отрицания, ограничения домена, и т.д.), какую роль играет порядок слов и т.д. Т.е. в сущности, RTFM.

Вам следует изучить тактику: как следует начинать любой конкретный поиск и знать что именно вы ищите. С ошибками всё просто — надо просто искать код ошибки. Но вот выбор ключевых слов для поиска — задача куда более сложная.

Касательно стратегии, вам необходимо узнать, какие поисковые системы использовать(подсказка: поисковики общего назначения не всегда правильный решение), какие сайты посещать _перед_ тем, как пользоваться общими поисковиками. А также в какие форумы обращаться, чтобы получить помощь.

№3: Помогайте другим


Обучение другого человека — это один из лучших способов изучить что-либо самому. Вполне понятно, что вы будете думать, что ничему толком других научить не сможете, поскольку сами относительно новичок в области разработки ПО. Это вздор. Почти всему, что вы знаете, вы научились у других людей; так постарайтесь же побыть таким «другим человеком», благодаря которому кто-то еще сможет чему-то научиться. Проведите несколько минут в день, пытаясь ответить на вопросы на TechRepublic или другом похожем сайте. К тому же, вы можете многому научиться читая ответы других участников.

№4: Быть терпеливым и продолжать практиковаться


Исследование показывает, чтобы процесс становления экспертом занимает около десяти лет или от десяти до двадцати тысяч часов практики. Это уйма времени. Более того, становление экспертом, не всегда означает выполнение одной и той же работы на протяжении 10 лет; часто это означает выполнение широкого диапазона заданий в конкретной области около 10 лет.

Займёт много времени и энергии, чтобы стать эксперотм. Работать разработчиком несколько лет недостаточно. Хотите стать старшим разработчиком (senior developer) уже в первые годы после 30 лет? Тогда либо начните ваше обучение раньше, либо вам придётся быть готовым и иметь желание много работать, читать и практиковаться на досуге. Я начал программировать в средней школе, и посвятил много внеурочных часов налаживанию контактов с IT-отраслью, обучению новых навыков и т.д. Как результат, я добился должностей среднего(intermediate) и старшего(senior) разработчиков в моей карьере значительно раньше чем большинство моих сверстников.

№5: Оставьте ваши догмы у двери


Пришло время жестокой честности: начинающие разработчики, вероятно, не знают достаточно, чтобы утверждать, что существует один найлучший способ решить задачу. Уважать мнение друга, или авторитетной фигуры это хорошо, но до тех пор, пока вы не стали более опытными, не выдавайте их мнения за свои собственные. Факт в том, что вы еще не знаете достаточно для того, что бы разобраться в этих вещах самостоятельно, как же вы сможете тогда определить какой из экспертов прав? Я знаю, это звучит жёстко, но пожалуйста, поверьте мне; я встречал довольно много подающих надежды разработчиков, которые сами препятствовали своей карьере или своему росту годами, потому что они цеплялись за чей-то глупый совет или следовали за некоторыми «экспертами», которые на самом деле не разбирались в вещах, о которых говорили. Отличный пример — злоупотребление объектно-ориентированной архитектурой. Многие начинающие программисты прочитают немного информации об ОО, и раз — диаграммы классов их простых приложений начинали выглядеть как Эйфелева Башня.

№6: Изучите тщательно несколько передовых идей


Становясь intermediate developer важно иметь на вооружении несколько концепций, с которыми вы хорошо работаете. Для меня такими являются многопоточность и параллелизм, регулярные выражения и как использовать динамические языки (последние две затухают по мере моего удаления от Perl). Как это произошло? Многопоточностю и параллельнной обработкой я овладел, т.к. читал много статей по этой теме и старался разобраться сам; Я продолжал писать приложения, которые использовали эти технологии. У меня была работа, на которой приходилось использовать огромное количество регулярных выражений на Perl. также, я закончил написанием моего собственного движка электронной коммерции, работавшего на шаблонной обработке (Template Processing) и имеющим встроенную систему баз данных. Затем, я провёл около двух лет, работая над ним.

Найдите что-то, что вас по-настоящему захватывает. Это может быть работа с изображением, или, может, дизайн баз данных или что-угодно. Даже если вы разработчик начального уровня во всём, постарайтесь стать экспертом хотя бы в одной области. И это довольно быстро поможет вам продвинуться на средний (intermediate) уровень. А будучи там — вы окажетесь на полпути до эксперта.

№7: Изучите фундаментальные теории и принципы в вашей области


Одна вещь — написать «Hello World», но совершено другая вещь — понять как эти буквы появляются на экране. Изучив «основы» той области, в которой вы заняты, вы станете чувствовать себя намного лучше и увереннее в самой области. Почему? Потому что вы поймёте почему вещи работают так как они работают. В чём может быть проблема, когда что-то не работает и т.д. Вы станете лучше изучая что происходит на более низком уровне, нежели тот, на котором вы работаете. Если вы веб-разработчик, прочтите спецификацию HTML и HTTP RFC. Если вы используете генератор кода, посмотрите на код, который он герерирует. Если вы используете инструмены для базы данных, ознакомтесь с низлежащим SQL, который генерируется этими инструментами. Продолжать можно долго.

№8: Смотрите на код старших разработчиков


На вашей работе ознакомтесь с кодом, который пишут старшие(senior) разработчики и спросите как и почему было сделано именно так, а не иначе. Если можете, посмотрите в код проектов с открытым исходным кодом (open source projects). Даже если другие разработчики не имеют хороших привычек в написании кода, вы сможе узнать многое о том, как код пишется. Но будьте осторожны и не подцепите плохие привычки. Суть не в том, чтобы слепо имитировать то, что делают другие разработчики, а в том, чтобы понять суть вещей, понять что и как работает, знать, что имеет смысл делать, и попытаться имитировать именно это.

№9: Учитесь хорошему стилю


Ничто так не выдаёт так неопытного кодера как бестолковые имена переменных, отсутствие отступов (форматирования кода) и другие признаки неряшливости. К сожалению, очень часто, разработчик учится программировать и оставляет в стороне менее интересные детали, такие как форматирование кода. Хотя, эта привычка не делает лучше ни ваш код, ни даже вас самих как разработчика, она в некой мере приводит к тому, что вас не будут уже воспринимать как абсолютного новичка. Даже если кто-то и является старшим разработчиком и пишет код, в котором переменные называются в честь 97 типов, к которым они приводятся или его функции называются “doSomething()”, такой программист выглядят как человек, который не знает, что он делают. Его код становится трудным для поддержания в дальнейшем.

№10: Развлекайтесь


Хотите застрять на беговой дорожке вашей карьеры? Тогда возненавидьте свою работу. Всё, что надо для продвижение вверх в этом деле — это не только настойчивое стремление приносить домой всё более растущую зарплату, но также умение наслаждаться вашей работой. Если вы не любите свою работу и вы младший(junior) разработчик, почему вы думаете, что быть средним или старшим разработчиком лучше? Смените работу. Напротив, если вам нравится ваше ремесло — это просто здорово! Я гарантирую, что вы можете стать еще лучшим разработчиком, если будете продолжать в таком же духе.

Оригинал статьи http://blogs.techrepublic.com.com/programming-and-development/?p=1139&tag=rbxccnbtr1
Теги:
Хабы:
+24
Комментарии18

Публикации

Изменить настройки темы

Истории

Ближайшие события

Weekend Offer в AliExpress
Дата20 – 21 апреля
Время10:00 – 20:00
Место
Онлайн