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

Просмотрите код своего товарища по команде

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

Проверка кода - прекрасная возможность поучиться у других инженеров. Вы можете задавать вопросы по коду; «Почему ты так сделал?», «Как это работает?» и т.д. Большинство инженеров с удовольствием объяснят вам это.

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

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

Найдите себе наставника

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

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

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

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

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

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

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

Упражняться!

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

Ваш наставник может дать вам несколько идей и побудить вас продолжать их реализацию.

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

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

Сосредоточьте свое обучение

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

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

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

Оцените себя

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

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

Делайте это регулярно, и вскоре вы заметите, что становитесь лучше.

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

Научи кого-нибудь другого

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

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

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

Если вы думаете о присоединении к среде, пожалуйста, воспользуйтесь моей реферальной ссылкой - https://richard-t-bell90.medium.com/membership