Эта статья перепечатана из 51CTO (ID: weixin51cto), автор: Сюн Сяомэй



В 2006 году я начал свою карьеру в программировании. Когда я осознал, что достиг важной вехи — десяти лет, я почувствовал необходимость оглянуться на ошибки, которые совершил за эти десять лет, обобщить свой опыт и дать несколько советов тем, кто борется в этой профессии. Индустрия разработки меняется быстро, и я не могу быть уверен, останутся ли эти рекомендации актуальными в следующие десять лет, но я верю, что мои слова обязательно помогут вам, будь вы новичок, только начинающий, или ветеран с несколькими годами опыта.


Придерживайтесь одной платформы разработки, одного фреймворка или одного языка


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


Мой опыт начался с разработки корпоративных приложений на Java, затем с программирования встраиваемых систем на C, затем с разработки настольных приложений Windows на VB, C# и C++, затем с написания приложений iOS на Objective-C, затем с написания библиотек Android с помощью NDK и, наконец, с написания приложений Android.


Такая карьерная траектория звучит впечатляюще, но работодателям на самом деле всё равно. Они не будут обращать внимание на ваш 10-летний разнообразный опыт разработки, но если увидят, что у вас недостаточно опыта разработки Android-приложений, вы не получите работу в области разработки под Android.


Смена платформ оказывает огромное негативное влияние на ваше резюме. Для работодателя на самом деле нет способа проверить по вашему резюме, являетесь ли вы экспертом в конкретной области разработки и разумно ли платить вам большие деньги.


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


Так как же адаптироваться к изменениям рынка? Пока вы продолжаете писать код, вы естественным образом адаптируетесь к рынку, но также нужно вкладывать некоторое время в новые навыки. Вам следует выделять время на изучение новых навыков в свободное время, а также придётся снизить зарплатные ожидания. Нужно сделать шаг назад, чтобы сделать два шага вперёд.


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

Не гонитесь за руководящими должностями ради высоких зарплат


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


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


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


Если вы устали от программирования, переход на руководящую должность — не решение. Лучший способ — сделать горизонтальное перемещение, сменить отдел, сменить компанию или отправиться в путешествие. Вы даже можете выбрать работу за границей, чтобы освободить свой разум. В мире есть много технологических центров, где к разработчикам предъявляются высокие требования, что может помочь расширить горизонты.

Сделайте перерыв


До прошлого года я никогда не был «безработным». После десяти лет я почувствовал, что мне нужен перерыв, чтобы «отрефакторить» свою карьеру, и это оказалось одним из лучших решений, которые я когда-либо принимал.


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


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


В моём случае за последние четыре года я всегда хотел сесть и выучить немецкий, но у меня никогда не было времени. За эти 5 месяцев я прошёл интенсивный курс немецкого, по 3 часа в день, и улучшил свой немецкий с A2 до B2.


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

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


1. ABC: всегда пишите код


Даже во время перерыва не прекращайте программировать. Во время моего 5-месячного перерыва я сделал личный проект: Android-приложение, использующее API discogs.com. Это удобное личное приложение, которое помогает мне добавлять и удалять записи из таблицы данных, а также я хотел использовать его для обобщения и обновления своих навыков разработки.


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


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


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

2. Станьте участником сообщества разработчиков


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


Но я ошибался.


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

Там вы столкнетесь со многими группами новичков, которым нужны наставники. Вы можете наставлять новичков, давать им возможности практиковаться и даже спонсировать мероприятия.


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


3. Не откликайтесь на вакансии на сайтах по поиску работы


Это моя последняя «жемчужина мудрости»: не откликайтесь на вакансии на сайтах.

За сайтами вакансий стоят сложные HR-процессы, системы отслеживания кандидатов, массовая рассылка резюме и хаотичная коммуникация. Это несколько важных причин, по которым многие компании не могут найти таланты и полагаются на хедхантеров.


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


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


Если вы видите интересную возможность трудоустройства, сначала посмотрите в своей социальной сети, проверьте свои пользовательские группы или круги в LinkedIn, чтобы узнать, не работает ли там уже кто-нибудь, или спросите, не знают ли они кого-то. Затем свяжитесь с ними напрямую и поговорите напрямую с CTO компании, менеджером по найму или другими разработчиками.


Хедхантеры — это хорошо, но не полагайтесь на них. Их работа — просто помогать компаниям закрывать вакансию, потому что они работают не на вас. Если позиция, которую они рекомендуют, действительно соответствует тому, что вы ищете, то соглашайтесь; если она не кажется подходящей, просто скажите им: спасибо, но нет.


Об авторе: Микель Бельтран
В настоящее время ведущий Android-инженер в Good Hood GmbH, руководитель команды разработчиков Google Berlin
Оригинальное название: Ошибки, которые я допустил (как разработчик)
Перевод статьи: Чэнь Сяомэй
Оригинальная ссылка: https://medium.com/@Miqubel/mistakes-i-made-d2e1dc4e820a#.zcmzaiz67