19 советов разработчикам на 2019 год

0
1523
views

Перевод статьи «19 Tips For Software Engineers In 2019».

Карьера разработчика в 2019 году

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

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

1. Не отчаивайтесь

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

Правда ли, что одни люди учатся быстрее других? Да. Но это не должно отбивать у вас охоту начать.

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

Важно иметь в виду, что, несмотря на обилие учебных ресурсов, вам не нужно учить всё.

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

Если вы выбрали фронтенд, углубитесь в HTML, CSS и JavaScript. Не считайте эти навыки чем-то обыденным. Несмотря на то что многим на первый взгляд они кажутся простыми, хорошее знание основ веб-разработки поможет вам получить первое место разработчика. Большинство компаний предпочтут видеть кандидата с сильными «ванильными» навыками («vanilla» – ПО в его изначальном, чистом виде), чем с довольно хорошим пониманием популярного фреймворка/библиотеки.

Изучите HTML

Если вы решите встать на путь бэкенд-разработки, попробуйте такие языки как Python и Java. Навыки работы с этими языками пользуются спросом в тех-индустрии.

И, главное, не отчаивайтесь. Все другие люди начинали с того же. Дальше будет проще.

2. Учитесь читать и разбирать код

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

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

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

Учитесь анализировать код и определять, эффективно ли он написан.

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

3. Найдите собственный метод обучения

Все люди учатся по-разному. Некоторые лучше всего усваивают информацию, когда сами пишут код. Другие – когда читают или смотрят видео.

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

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

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

Определив «свой» метод, вы будете учиться гораздо эффективнее.

4. Вступите в сообщество

Онлайн-сообщество

Я медлила со вступлением в онлайн-сообщество около трех лет, и это сыграло против меня.

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

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

5. Следите за балансом теории и практики

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

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

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

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

6. Не сравнивайте себя с другими

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

Если лидеры индустрии изучают Ruby on Rails, это еще не значит, что вам непременно нужно делать то же самое. Найдите в программировании то, что интересует лично вас, и изучите как можно лучше.

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

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

7. Включайтесь в open source

Включайтес в open source

Open-source сообщество процветает, так почему бы не присоединиться? Если вам нужен способ для улучшения своих навыков чтения кода, найдите себе open-source проект по душе!

Начать можно с сообщества GitHub.

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

8. Привыкайте к непривычному

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

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

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

9. Не бойтесь спрашивать

Рано или поздно вы столкнетесь с проблемой, которую не сможете решить самостоятельно. И на Stack Overflow, как назло, ответа нет!

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

Просьба о помощи это не показатель вашей слабости (я все еще не могу справиться с подобным ощущением).

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

Задавайте вопросы

10. Окружайте себя людьми, которые будут вас поддерживать

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

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

11. Фокусируйтесь на одной вещи за раз

Многозадачность – самый быстрый путь к посредственности. Люди не созданы для эффективного одновременного выполнения многих задач.

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

Не пытайтесь жонглировать несколькими темами одновременно.

12. Учитесь видеть крупный план – то, как все технологии сочетаются между собой

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

Мне нравится строить диаграммы сложных проблем. Если мне нужно построить приложение, я разбиваю его на домены. Например, я знаю, что для фронтенда мне понадобятся HTML, CSS и JavaScript. Возможно, в качестве JS-библиотеки я решу использовать React. И может быть, если мне нужно будет масштабировать свое приложение, я выберу Redux для управления состояниями.

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

Это важные вопросы, на которые стоит найти ответы.

13. Составьте свой набор инструментов

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

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

  • Активно ли поддерживается этот инструмент?
  • Есть ли хорошее сообщество разработчиков, которые им пользуются (на случай, если понадобится помощь)?
  • Насколько сложно настраивать этот инструмент?
  • Может ли интеграция этого инструмента отрицательно сказаться на производительности?
  • Могу ли я решить задачу без этого инструмента?

Помните, то, что какой-то инструмент существует, еще не означает, что вам непременно нужно его использовать.

14. Поддерживайте хороший баланс работы и жизни

Баланс работы и жизни

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

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

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

15. Изучите азы дизайна

Если вы создаете приложение, нацеленное на пользователя, вам нужно знать азы дизайна. Я не имею в виду, что вам нужно уметь пользоваться Sketch или Adobe Illustrator, но изучение основ UX-дизайна позитивно повлияет на ваши приложения.

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

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

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

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

16. Найдите наставника

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

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

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

17. Создайте сногсшибательное портфолио и резюме

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

Исправьте грамматические и пунктуационные ошибки. Убедитесь, что все отформатировано последовательно и аккуратно.

18. «Падайте» часто и быстро

На ошибках учатся

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

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

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

19. Просто продолжайте двигаться

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

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

ОСТАВЬТЕ ОТВЕТ

Please enter your comment!
Please enter your name here