Работайте ради денег, а не ради удовольствия. 19 советов, которые помогут программисту сделать карьеру

  • 5 июля, 14:53
  • 3595
  • 0

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

За последние 12 месяцев CodeWithDragos помог более 40 амбициозным разработчикам заработать более 772,441 доллара на рекламных акциях и повышении заработной платы с новых позиций - в бэкэнде и во фронтенде - по всей Европе, от Берлина до Лондона.

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

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

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

1. Что действительно заставляет вас продвигаться вперед как разработчика

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

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

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

2. Вы можете сменить работу, но не зарплату.

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

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

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

3. Наиболее частые ошибки новичков.

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

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

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

4. Кодируйте ради денег, а не ради удовольствия.

Что ты только что сказал? Я знаю, что иметь репутацию разработчика, которого интересуют только деньги, многим очень стыдно. 

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

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

5. Обезьяна видит, как обезьяна делает но обезьяна не выдерживает испытания кодом.

С сенсационными заголовками, такими как «от собаковода до инженера-программиста за 12 недель», мы находимся в той  отрасли, где каждый, кто просмотрит видео JavaScript для новичков на Youtube, называет себя экспертом.

Культура «обезьяна видит, как обезьяна делает», популяризируемая «бесплатными» курсами (Youtube не бесплатный, это вампир, высасывающий время), а посредственность набирает обороты.  Вы можете смотреть «Игру престолов» сколько угодно, это не значит, что вы научитесь управлять страной (или своей деревней).

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

6. Как именно спланировать свой технический рост

Фраза, которую мы больше всего вспоминаем из наших интервью с более чем 250 разработчиками, которые подали заявки на нашу программу, была «У меня нет плана». Что еще хуже, многие разработчики, с которыми мы разговаривали, полностью делегировали эту ответственность своей компании.

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

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

7. Право на хвастовство с открытым исходным кодом и бесплатную работу (или ради статуса).

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

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

Самые высокооплачиваемые разработчики, с которыми мы работали, решали глубокие мрачные проблемы, скрытые в нечетких требованиях и устаревшем коде. Подумай об этом. Что может быть проще: расшифровать код, созданный десятилетиями давности, согласовать с людьми, не имеющими технических знаний, в сжатые сроки или потратить выходные, чтобы исправить какую-то проблему GitHub?

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

8. Как получать то, что вы заслуживаете (и даже больше).

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

Вы зарабатываете больше всего денег на написании хорошего долбаного программного обеспечения. Тадааа. Довольно неожиданно, да? Теперь взгляните в зеркало и спросите себя, сколько времени вы потратили за последний месяц на то, чтобы научиться писать более качественное программное обеспечение? Социальные сети не в счет. Интернет-серфинг не считается.

Сделайте написание программного обеспечения главным. Потому что это и есть главное.

9. Технический «набор инструментов», чтобы уберечь вас от неприятностей.

Что вы ели на завтрак 17 дней назад? Что это за критическая проблема в спринте 6 месяцев назад? Возможно, вы сумеете ответить на эти вопросы, но это непросто (если только вы не едите всегда одно и то же на завтрак). Человеческая память постоянно дает сбой.

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

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

10. Почему стартап - худшее место для начала работы разработчика

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

Если не брать в расчет некоторые избранные места и все прославление стартапов в СМИ, реальность такова, что они - довольно плохие места для начала разработки программного обеспечения. 

На самом деле девелоперам приходилось проводить долгие и одинокие ночи, строя то, что обещали основатели стартапов. Уже не так привлекательно, правда?

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

11. Они говорят, что нанимают за потенциал, но вместо этого нанимают за способности.

Менеджеры не хотят брать на себя дополнительный риск. Создание программного обеспечения уже связано с большим риском. Зачем делать ставку на новичка? Вы когда-нибудь задумывались, откуда берутся предложения о работе «джуниор с 3-летним опытом»? 

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

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

12. Почему «сообщество» все поняло неправильно

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

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

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

13. Секретный трюк, чтобы продать себя (даже если вы просто еще один интроверт).

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

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

Один из наших подопечных продолжает получать от 5 до 7 звонков в неделю даже через 3 месяца после того, как он занял высокооплачиваемую руководящую должность. В чем их секреты? Слишком много, чтобы сосчитать.

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

14. Что нельзя пропустить в своем резюме 

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

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

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

15. Успех не имеет вкуса

Вы хотите знать, что делают наши самые успешные подопечные, что позволяет им преуспевать и постоянно находить лучшие возможности? Мне было любопытно. На самом деле, мне было чертовски любопытно. 10% лучших разработчиков программного обеспечения, с которыми мы работали, получили повышение зарплаты на 35%.

И знаете что, у них всех была неприятная общая черта. Да, независимо от их специализации (фронтенд, бэкэнд), все они не зависели от технологий и понимали разработку программного обеспечения. Это означает понимание вещей, выходящих за рамки технологий, фреймворков и языков.

16. Универсальный совет для прохождения технического интервью

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

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

Мы вывели игру на совершенно новый уровень, построив высоко структурированный процесс и устранив неэффективность (например, снова и снова писать код). Это повысило эффективность в некоторых случаях в 10 раз.

17. Как предсказать будущее, свое будущее

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

Но этот  тип стадного мышления не приносит желаемых результатов. Почему? Все просто. Анонимные благотворители в Google, Stackoverflow и ваши дорогие друзья не знают, в чем вы хороши а в чем не очень.

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

Чтобы предсказать, что вам следует узнать дальше, вы должны заглянуть в прошлое, в свое прошлое. Вы должны потратить время на то, чтобы точить топор. Например, изучение Kubernetes, когда вы все еще не уверены в JavaScript, только усугубит ваши пробелы.

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

18. Успех можно повторить

В CodeWithDragos мы обнаружили, что основные принципы, которые сделали разработчиков, с которыми мы работали, такими безумно успешными, могут быть применены к любому. На данный момент мы применили эту систему вместе с более чем 40 разработчиками программного обеспечения по всему миру. Пример: один из разработчиков, недавно присоединившийся к программе, достиг своей целевой должности и зарплаты на 4-й неделе программы.

19. Что делать, если кодить не хочется

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

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

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

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

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


Banner
0 комментариев
Сортировка:
Добавить комментарий