Ушёл 2019 год. Для нас, для веб-разработчиков, это был год испытаний и возможностей. Вокруг много всего такого, что можно изучить, и такого, в чём можно попытаться достичь мастерства. Например — это JavaScript-инструменты для разработки сайтов, такие, как React, Vue, Angular и Svelte. Но это, конечно, далеко не всё. Есть ещё генераторы статических сайтов, JAMstack, бессерверные технологии, Git… Этот список можно продолжать и продолжать.
Хотя в экосистеме веб-разработки каждый может найти что-то такое, что нужно именно ему, проблема тут заключается в том, чтобы поспеть за постоянно изменяющимися технологиями. Но и технологиями дело не ограничивается. Есть ещё множество вопросов, на которые должен найти ответы каждый разработчик. Где мне хочется работать и с кем? Стать ли мне фулстек-разработчиком или нет? Нужна ли мне постоянная работа или мне ближе фриланс? Как мне развиваться и приобретать новые знания и навыки?
Автор статьи, перевод которой мы сегодня представляем вашему вниманию, говорит, что он вложил в приведённые здесь 32 совета веб-разработчику все свои знания и весь свой опыт. Он надеется на то, что эти советы пригодятся и тем, кто только начал свой путь, и тем, кто уже кое-что понимает в веб-разработке. Хотя нельзя говорить о том, что тут каждый найдёт советы на все случаи жизни, и о том, что все эти советы идеально подойдут любому, автор хочет верить в то, что читатель этого материала сможет найти среди них такие, которые его вдохновят или послужат руководством к действию в 2020 году.
Знать базовые команды Git — это хорошо, но постарайтесь понять и те концепции, которые лежат в основе этой системы.
Понимание философии чистого кода поможет вам создавать более качественный код, который будет легче читать другим людям, и в котором будет меньше ошибок.
Вы должны гордиться результатами своей работы, поэтому стоит рассказать о них всему миру и дать вашим будущим клиентам и работодателям шанс вас найти.
Написание технических статей несёт в себе много хорошего. Так, изучение чего-то нового обычно идёт легче в том случае, если человек пытается объяснить другим то, что он осваивает. Кроме того, хорошая статья — это щедрый подарок всем тем, кто интересуется тем же, чем и автор статьи. Это — дань благодарности сообществу, трудами которого пользуется тот, кто изучает новое и рассказывает об этом.
Сделайте 2020 год годом карьерных изменений. Попробуйте себя в роли «вольного художника». Взгляните на сайты, на которых размещаются объявления о работе по контракту, напишите тем, кто ищет удалённых сотрудников, посещайте разнообразные мероприятия, поинтересуйтесь — может быть ваш текущий работодатель наймёт вас в виде фрилансера.
JavaScript — это, без преувеличения, «двигатель веба». И этот язык, скорее всего, никуда не денется даже тогда, когда исчезнут популярные в наши дни фреймворки вроде React и Vue. Поэтому вложите время в изучение основ JavaScript.
В основе современных веб-приложений часто лежат фреймворки или библиотеки вроде Vue, React, Angular. Компании, наподобие Facebook, Google и Airbnb, поддерживают и используют эти инструменты. В результате можно сказать, что веб-разработчику стоит владеть хотя бы одним из подобных инструментов. Но, в конечном итоге, все они сводятся к JavaScript.
Разберитесь с тем, что значит — быть senior-разработчиком. Помимо технических знаний и умений «сеньору» очень важны и личные качества вроде способности общаться с людьми и понимать их эмоциональное состояние.
Самым важным результатом работы опытного программиста, «сеньора», является взращивание им новых «сеньоров». Поэтому попытайтесь помочь учиться другим и при этом постарайтесь не смотреть на них свысока.
Если вы изучили новый язык программирования, разобрались с какой-то новой технологией или обнаружили новую интересную возможность какого-нибудь инструмента — поделитесь знаниями с другими.
Если вы ещё не используете редактор VS Code в качестве своего основного инструмента, то вам, определённо, стоит его попробовать. Это повысит вашу продуктивность. Для VS Code создано великое множество расширений, вроде средств форматирования и автозавершения кода, некоторые из которых вам, вполне возможно, придутся по душе.
Если на работе вы постоянно сталкиваетесь с негативом, если вы не можете найти общий язык с руководством — поищите новую работу. Если вы рассчитываете на то, что со временем всё устаканится — не забывайте о том, что люди обычно не меняются. Помните о том, что вам не стоит попусту растрачивать свой талант. Найдите тех, кто по достоинству оценит вас и ваши умения.
Возможно, участие в опенсорс-проектах, это то, о чём подумывал любой разработчик. Приняв участие в подобных проектах, можно помочь сообществу единомышленников, можно попрактиковаться в программировании в реальных окружениях и сделать соответствующую запись в своём резюме. Множество опенсорсных проектов рады новым участникам, которые способны помочь этим проектам развиваться.
Для того чтобы расширить свои горизонты и выйти из зоны комфорта, можете попробовать изучить совершенно новый для себя язык программирования. Например, если вы пишете на Java — попробуйте JavaScript, Rust или Golang. Найдите что-то такое, с чем никогда раньше не встречались.
Бессерверные функции — это маленькие фрагменты кода, нацеленные на решение единственной задачи, которые развёртывают в управляемой инфраструктуре. Для их развёртывания, например, можно воспользоваться системой AWS Lambda. Бессерверные технологии используются во многих проектах, поэтому с этими технологиями стоит познакомиться.
RESTful API — это стандарт де-факто последних лет веб-разработки. Но после появления и распространения технологии Facebook GraphQL можно сказать, что любому веб-разработчику не помешает понимать концепции, лежащие в основе этой технологии.
Методика JAMstack — это подход к разработке приложений, при применении которого используются JavaScript, API и разметка (Markup). JAMstack-проекты мощны, легковесны и независимы от специализированных бэкендов. Проект, построенный по этой методике, может сыграть и роль сайта организации, и роль портфолио разработчика.
По сведениям из Википедии, Open Web Application Security Project (OWASP) — это открытый проект обеспечения безопасности веб-приложений. Изучение материалов, публикуемых в рамках этого проекта, помогает создавать более безопасные веб-приложения.
Парное программирование — это один из лучших способов обмена знаниями между разработчиками. Если вы — не очень опытный программист — так вы можете поучиться у более продвинутого коллеги. Или, если вы достаточно опытны, вы можете помочь новичкам. Это, в любом случае, весьма полезно, так как, в частности, помогает лучше сконцентрироваться на решаемой задаче.
Во многих проектах и во многих организациях код-ревью — это обязательная процедура, которая проводится до того, как код будет включён в репозиторий. Разработчику стоит стремиться к тому, чтобы как можно чаще участвовать в код-ревью. Если вы — новичок — это поможет вам расти, анализируя код других разработчиков и задавая им вопросы об этом коде. Если вы — опытный программист — это поможет повысить качество проекта, код которого вы проверяете.
Одним из признаков хорошего разработчика (точнее — «сеньора») — это возможность обращать особое внимание на решение проблемы, а не на саму проблему. Всегда старайтесь искать различные способы решения проблем.
Код, который мы пишем, никогда не будет идеальным. В нём всегда будут ошибки и недочёты. Для того чтобы их находить и устранять, нужно научиться отлаживать код.
Я всегда напоминаю себе, что я стою тех денег, которые беру с клиента, или тех, что платит мне работодатель. Все приобретённые вами знания и навыки, все часы, вложенные в программирование, все ваши бесценные личные качества должны давать вам уверенность в своих силах при переговорах с обсуждением финансовых вопросов.
Все совершают ошибки. Даже самые успешные разработчики делают массу ошибок. Но самое важное — это учиться на ошибках. Это — путь к профессиональному и личному росту.
Написание модульных или интеграционных тестов может показаться не особенно важным делом. Программист может думать, что его код, в любом случае, прекрасно написан и лишён ошибок. Но думать так — это уже само по себе — ошибка. Почти все корпоративные или опенсорсные проекты предусматривают тестирование кода. Тесты стоит писать и для личных проектов, делая это хотя бы для того, чтобы лучше освоить тестирование.
Паттерны проектирования — это строительные блоки архитектуры приложений. Они не обязательно понадобятся вам в каждом проекте. Но программисту не помешает знать, по крайней мере, самые важные паттерны.
Нет ничего плохого в том, чтобы задать кому-нибудь вопрос, попросить о помощи. Правда, всегда рекомендуется, прежде чем спрашивать, попытаться решить проблему самостоятельно. Но, вообще говоря, если вы чувствуете, что зашли в тупик, попросите совета у кого-нибудь, кто разбирается в том, с чем у вас возникли сложности.
Посещение конференций помогает узнавать о новых технологиях и общаться с другими разработчиками, которым интересно то же, что и вам. Кроме того, нередко компании готовы в какой-то мере компенсировать затраты сотрудников на посещение конференций, ожидая, что сотрудники привезут с этих мероприятий ценные знания и поделятся ими со своими коллегами.
Если у вас есть шанс выступить на конференции и рассказать там о том, что вас интересует, вам стоит этим шансом воспользоваться. Даже если вы интроверт, это поможет вам укрепить уверенность в себе.
Это легче сказать, чем сделать, но для того, чтобы поддерживать свои знания и навыки в актуальном состоянии, нужно постоянно учиться и совершенствоваться. Читайте статьи и книги, посещайте конференции, смотрите видео, подписывайтесь на рассылки, посещайте учебные курсы. Перед вами — целое море возможностей поддерживать себя в хорошей профессиональной форме.
Ничто нельзя принимать как должное. Ни одну технологию, ни один фреймворк, ни одну библиотеку. Программисту, для того, чтобы преуспеть в индустрии, нужно постоянно адаптироваться. И открытость новым идеям — это не только о технологиях. Это относится и к человеческим взаимоотношениям.
Все иногда сталкивается со сложностями — кто-то чаще, кто-то реже. Жизнь — это, вообще, сложная штука. Но помните о том, что вы не одиноки, и о том, что все когда-то с чего-то начинали. Вы справитесь!
Уважаемые читатели! Какими советами вы дополнили бы этот список?
Хотя в экосистеме веб-разработки каждый может найти что-то такое, что нужно именно ему, проблема тут заключается в том, чтобы поспеть за постоянно изменяющимися технологиями. Но и технологиями дело не ограничивается. Есть ещё множество вопросов, на которые должен найти ответы каждый разработчик. Где мне хочется работать и с кем? Стать ли мне фулстек-разработчиком или нет? Нужна ли мне постоянная работа или мне ближе фриланс? Как мне развиваться и приобретать новые знания и навыки?
Автор статьи, перевод которой мы сегодня представляем вашему вниманию, говорит, что он вложил в приведённые здесь 32 совета веб-разработчику все свои знания и весь свой опыт. Он надеется на то, что эти советы пригодятся и тем, кто только начал свой путь, и тем, кто уже кое-что понимает в веб-разработке. Хотя нельзя говорить о том, что тут каждый найдёт советы на все случаи жизни, и о том, что все эти советы идеально подойдут любому, автор хочет верить в то, что читатель этого материала сможет найти среди них такие, которые его вдохновят или послужат руководством к действию в 2020 году.
1. Постарайтесь понять концепции Git
Знать базовые команды Git — это хорошо, но постарайтесь понять и те концепции, которые лежат в основе этой системы.
2. Освойте идеи написания чистого кода
Понимание философии чистого кода поможет вам создавать более качественный код, который будет легче читать другим людям, и в котором будет меньше ошибок.
3. Создайте сайт-портфолио
Вы должны гордиться результатами своей работы, поэтому стоит рассказать о них всему миру и дать вашим будущим клиентам и работодателям шанс вас найти.
4. Пишите технические статьи
Написание технических статей несёт в себе много хорошего. Так, изучение чего-то нового обычно идёт легче в том случае, если человек пытается объяснить другим то, что он осваивает. Кроме того, хорошая статья — это щедрый подарок всем тем, кто интересуется тем же, чем и автор статьи. Это — дань благодарности сообществу, трудами которого пользуется тот, кто изучает новое и рассказывает об этом.
5. Попробуйте себя во фрилансе
Сделайте 2020 год годом карьерных изменений. Попробуйте себя в роли «вольного художника». Взгляните на сайты, на которых размещаются объявления о работе по контракту, напишите тем, кто ищет удалённых сотрудников, посещайте разнообразные мероприятия, поинтересуйтесь — может быть ваш текущий работодатель наймёт вас в виде фрилансера.
6. Изучите основы JavaScript
JavaScript — это, без преувеличения, «двигатель веба». И этот язык, скорее всего, никуда не денется даже тогда, когда исчезнут популярные в наши дни фреймворки вроде React и Vue. Поэтому вложите время в изучение основ JavaScript.
7. Изучите какой-нибудь большой JavaScript-фреймворк
В основе современных веб-приложений часто лежат фреймворки или библиотеки вроде Vue, React, Angular. Компании, наподобие Facebook, Google и Airbnb, поддерживают и используют эти инструменты. В результате можно сказать, что веб-разработчику стоит владеть хотя бы одним из подобных инструментов. Но, в конечном итоге, все они сводятся к JavaScript.
8. Попытайтесь перейти на должность senior-разработчика
Разберитесь с тем, что значит — быть senior-разработчиком. Помимо технических знаний и умений «сеньору» очень важны и личные качества вроде способности общаться с людьми и понимать их эмоциональное состояние.
9. Поддерживайте начинающих разработчиков
Самым важным результатом работы опытного программиста, «сеньора», является взращивание им новых «сеньоров». Поэтому попытайтесь помочь учиться другим и при этом постарайтесь не смотреть на них свысока.
10. Создавайте учебные материалы
Если вы изучили новый язык программирования, разобрались с какой-то новой технологией или обнаружили новую интересную возможность какого-нибудь инструмента — поделитесь знаниями с другими.
11. Попробуйте редактор VS Code и его расширения
Если вы ещё не используете редактор VS Code в качестве своего основного инструмента, то вам, определённо, стоит его попробовать. Это повысит вашу продуктивность. Для VS Code создано великое множество расширений, вроде средств форматирования и автозавершения кода, некоторые из которых вам, вполне возможно, придутся по душе.
12. Оставьте нездоровое рабочее место
Если на работе вы постоянно сталкиваетесь с негативом, если вы не можете найти общий язык с руководством — поищите новую работу. Если вы рассчитываете на то, что со временем всё устаканится — не забывайте о том, что люди обычно не меняются. Помните о том, что вам не стоит попусту растрачивать свой талант. Найдите тех, кто по достоинству оценит вас и ваши умения.
13. Сделайте вклад в опенсорс
Возможно, участие в опенсорс-проектах, это то, о чём подумывал любой разработчик. Приняв участие в подобных проектах, можно помочь сообществу единомышленников, можно попрактиковаться в программировании в реальных окружениях и сделать соответствующую запись в своём резюме. Множество опенсорсных проектов рады новым участникам, которые способны помочь этим проектам развиваться.
14. Изучите язык программирования, который не похож ни на что, уже известное вам
Для того чтобы расширить свои горизонты и выйти из зоны комфорта, можете попробовать изучить совершенно новый для себя язык программирования. Например, если вы пишете на Java — попробуйте JavaScript, Rust или Golang. Найдите что-то такое, с чем никогда раньше не встречались.
15. Разверните бессерверную функцию
Бессерверные функции — это маленькие фрагменты кода, нацеленные на решение единственной задачи, которые развёртывают в управляемой инфраструктуре. Для их развёртывания, например, можно воспользоваться системой AWS Lambda. Бессерверные технологии используются во многих проектах, поэтому с этими технологиями стоит познакомиться.
16. Изучите концепции GraphQL
RESTful API — это стандарт де-факто последних лет веб-разработки. Но после появления и распространения технологии Facebook GraphQL можно сказать, что любому веб-разработчику не помешает понимать концепции, лежащие в основе этой технологии.
17. Создайте JAMstack-приложение
Методика JAMstack — это подход к разработке приложений, при применении которого используются JavaScript, API и разметка (Markup). JAMstack-проекты мощны, легковесны и независимы от специализированных бэкендов. Проект, построенный по этой методике, может сыграть и роль сайта организации, и роль портфолио разработчика.
18. Взгляните на материалы проекта OWASP
По сведениям из Википедии, Open Web Application Security Project (OWASP) — это открытый проект обеспечения безопасности веб-приложений. Изучение материалов, публикуемых в рамках этого проекта, помогает создавать более безопасные веб-приложения.
19. Уделите больше времени парному программированию
Парное программирование — это один из лучших способов обмена знаниями между разработчиками. Если вы — не очень опытный программист — так вы можете поучиться у более продвинутого коллеги. Или, если вы достаточно опытны, вы можете помочь новичкам. Это, в любом случае, весьма полезно, так как, в частности, помогает лучше сконцентрироваться на решаемой задаче.
20. Участвуйте в код-ревью
Во многих проектах и во многих организациях код-ревью — это обязательная процедура, которая проводится до того, как код будет включён в репозиторий. Разработчику стоит стремиться к тому, чтобы как можно чаще участвовать в код-ревью. Если вы — новичок — это поможет вам расти, анализируя код других разработчиков и задавая им вопросы об этом коде. Если вы — опытный программист — это поможет повысить качество проекта, код которого вы проверяете.
21. Обращайте особое внимание на решение проблем, а не на сами проблемы
Одним из признаков хорошего разработчика (точнее — «сеньора») — это возможность обращать особое внимание на решение проблемы, а не на саму проблему. Всегда старайтесь искать различные способы решения проблем.
22. Научитесь отлаживать код
Код, который мы пишем, никогда не будет идеальным. В нём всегда будут ошибки и недочёты. Для того чтобы их находить и устранять, нужно научиться отлаживать код.
23. Знайте себе цену
Я всегда напоминаю себе, что я стою тех денег, которые беру с клиента, или тех, что платит мне работодатель. Все приобретённые вами знания и навыки, все часы, вложенные в программирование, все ваши бесценные личные качества должны давать вам уверенность в своих силах при переговорах с обсуждением финансовых вопросов.
24. Учитесь на своих ошибках
Все совершают ошибки. Даже самые успешные разработчики делают массу ошибок. Но самое важное — это учиться на ошибках. Это — путь к профессиональному и личному росту.
25. Всегда тестируйте свой код
Написание модульных или интеграционных тестов может показаться не особенно важным делом. Программист может думать, что его код, в любом случае, прекрасно написан и лишён ошибок. Но думать так — это уже само по себе — ошибка. Почти все корпоративные или опенсорсные проекты предусматривают тестирование кода. Тесты стоит писать и для личных проектов, делая это хотя бы для того, чтобы лучше освоить тестирование.
26. Изучайте паттерны проектирования
Паттерны проектирования — это строительные блоки архитектуры приложений. Они не обязательно понадобятся вам в каждом проекте. Но программисту не помешает знать, по крайней мере, самые важные паттерны.
27. Не стесняйтесь просить о помощи
Нет ничего плохого в том, чтобы задать кому-нибудь вопрос, попросить о помощи. Правда, всегда рекомендуется, прежде чем спрашивать, попытаться решить проблему самостоятельно. Но, вообще говоря, если вы чувствуете, что зашли в тупик, попросите совета у кого-нибудь, кто разбирается в том, с чем у вас возникли сложности.
28. Посещайте технические конференции
Посещение конференций помогает узнавать о новых технологиях и общаться с другими разработчиками, которым интересно то же, что и вам. Кроме того, нередко компании готовы в какой-то мере компенсировать затраты сотрудников на посещение конференций, ожидая, что сотрудники привезут с этих мероприятий ценные знания и поделятся ими со своими коллегами.
29. Выступайте на технических конференциях
Если у вас есть шанс выступить на конференции и рассказать там о том, что вас интересует, вам стоит этим шансом воспользоваться. Даже если вы интроверт, это поможет вам укрепить уверенность в себе.
30. Постарайтесь поддерживать свои знания и навыки в актуальном состоянии
Это легче сказать, чем сделать, но для того, чтобы поддерживать свои знания и навыки в актуальном состоянии, нужно постоянно учиться и совершенствоваться. Читайте статьи и книги, посещайте конференции, смотрите видео, подписывайтесь на рассылки, посещайте учебные курсы. Перед вами — целое море возможностей поддерживать себя в хорошей профессиональной форме.
31. Будьте открыты новым идеям
Ничто нельзя принимать как должное. Ни одну технологию, ни один фреймворк, ни одну библиотеку. Программисту, для того, чтобы преуспеть в индустрии, нужно постоянно адаптироваться. И открытость новым идеям — это не только о технологиях. Это относится и к человеческим взаимоотношениям.
32. Никогда не сдавайтесь
Все иногда сталкивается со сложностями — кто-то чаще, кто-то реже. Жизнь — это, вообще, сложная штука. Но помните о том, что вы не одиноки, и о том, что все когда-то с чего-то начинали. Вы справитесь!
Уважаемые читатели! Какими советами вы дополнили бы этот список?