Главная

Как стать хорошим разработчиком программного обеспечения.

В тебе намного больше потенциала, чем ты думаешь.

Поделиться:
 

33+

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

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

❶ Не обесценивайте себя

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

Вы нужны компании, а не она вам!

Давайте разберемся в этом более детально. Один только рынок США в настоящее время сталкивается с дефицитом в 500 000 разработчиков программного обеспечения. Этот разрыв будет увеличиваться в геометрической прогрессии в течение следующих пяти-десяти лет из-за растущего спроса и демографических изменений. То же самое относится и к другим странам и континентам.

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

❷ Инвестируйте в себя и свою карьеру

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

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

Но, все же, обучаться надо, и вот вам несколько советов о том, как стоит подходить к вопросу обучения:

Вы должны инвестировать свое время с умом!

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

1.Не практикуйте React.js сегодня, Vue.js завтра и Angular на следующей неделе.
2.Не изучайте продвинутые концепции JavaScript, если вы еще не освоили основы.
3.Не переключайтесь между курсами, книгами и тренингами.

Ответьте себе на следующие вопросы:
• Вам нравится работать в back end или front end?
• Вы визуал или любите цифры?
• Над какими проектами вы сейчас работаете и какие знания вам необходимы в данный момент?
• Какие технологии, платформы и языки востребованы сейчас?
• Вы хотите узнать что-то новое по конкретной причине (новая работа, более высокая зарплата, смена профессии) или просто для удовольствия?
• Какие технологии остаются актуальными несмотря на то, что они уже достаточно давние?

Помните, у вас ограниченный запас времени, поэтому потратьте его на то, что действительно важно. И если вы уже решили потратить свое драгоценное время на что-то, будьте преданны и придерживайтесь этому. Мы склонны терять интерес спустя какое-то время и начинать делать что-то другое. Так поступать не стоит!

❸ Избегайте токсичных боссов и плохой атмосферы.

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

Джек Ма (Alibaba)

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

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

Боссы не меняются.

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

❹ Подумайте о том, чтобы заняться чем-то еще

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

Когда вы работаете над продуктами или услугами для компаний и клиентов, вы используете технологии, используемые вашей компанией, или исполняете пожелания клиентов. Хотя я люблю кодить, через некоторое время это может наскучить, особенно, если не использовать новые технологии. Многие компании по-прежнему используют Java 6,7 или 8, хотя уже есть Java 11. Или PHP без фреймворков таких, как Laravel.

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

❺ Работайте над своим профилем в LinkedIn

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

Я был не прав. Мои взгляды на смену места работы постепенно менялись, а также я постоянно завидовал своим коллегам, у которых горел телефон от звонков рекрутеров и HR-менеджеров. Даже сегодня я вижу, что много очень талантливых программистов остаются на своих должностях с той же “средненькой” зарплатой, что и много лет назад, только потому что никто не знает, на что они действительно способны.

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

Однако есть одна маленькая деталь: плохо поддерживаемый профиль хуже, чем отсутствие профиля.

Вам стоит тратить свое время на постоянное улучшение и обновление профиля в LinkedIn. Вот вам несколько советов, основанных на моем опыте работы с LinkedIn за последние пару лет:
• Загружайте только те фотографии, которые представляют вас в хорошем свете. Не стоит постить фотографии с тусовок, но и не надо фотографироваться в костюме с галстуком.
• Придумайте себе какой-то слоган, который лаконично описывает вас. Что-то вроде «Senior JavaScript-разработчик с 10-летним опытом работы».
• Двумя тремя предложениями охарактеризуйте свои навыки и умения.
• Опишите свой опыт двумя тремя предложениями, а также выделяйте ключевые слова, такие как JavaReactHTML. Поисковым алгоритмам, а следовательно и рекрутерам, будет проще вас найти.
• Навыки и одобрения — отличный способ выделиться среди других. Перечислите все свои технические и нетехнические навыки (технических навыков должно быть немного больше) и постарайтесь получить одобрение для каждого из них. Попросите своих друзей и коллег получить одобрение, одобрить навыки других людей и вежливо спросить, одобряют ли они и ваши, или присоединиться к группам LinkedIn (например, JavaScript) и попросить о взаимных одобрениях. Не забывайте, что ваши три главных навыка должны быть липкими, и они появляются первыми в вашем профиле. Используйте это!
• Сертификаты не являются обязательными. Однако если они у вас есть, продемонстрируйте их.
Я бы также порекомендовал посвятить один два часа в неделю общению с другими пользователями LinkedIn, написанию ответов на сообщения и поиску проектов или вакансий.

❻ Не бойтесь задавать вопросы!

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

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

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

❼ Тренируйте свои социальные навыки

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

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

Улучшение ваших социальных навыков не должно быть чем-то отяготительным. Часто это мелочи, которые имеют значение. Слушайте других с уважением, не перебивайте, когда другие люди разговаривают, и сдерживайте своё эго.
Многие компании предлагают обучение по навыкам общения для своих сотрудников. Некоторые разработчики считают, что обучение социальным навыкам – это пустая трата времени. Это совершенно неправильный поход!

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

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

33+