Независимо от того, новичок ли вы в разработке программного обеспечения или занимаетесь этим годами, мы все можем стремиться стать лучше. Вот некоторые вещи (которые я делаю до сих пор), которые помогли мне добраться туда, где я сейчас нахожусь.
Просмотрите код своего товарища по команде
Я слышал, как многие младшие инженеры уклоняются от проверки кода, потому что они «недостаточно знают». Вы действительно идеальный человек для проверки моего кода. Хороший код - это простой код. Для хорошего кода не нужно, чтобы вы годами программировали, прежде чем вы сможете его понять. Если вы не понимаете мой код, мне нужно знать!
Проверка кода - прекрасная возможность поучиться у других инженеров. Вы можете задавать вопросы по коду; «Почему ты так сделал?», «Как это работает?» и т.д. Большинство инженеров с удовольствием объяснят вам это.
Попробуйте сделать хотя бы один комментарий к каждой проверке кода, которую вы просматриваете. Если вы все понимаете и думаете, что это здорово, пусть это будет вашим комментарием! Нам всем нужно больше положительных отзывов об обзоре кода (даже старшие инженеры чувствуют синдром самозванца). Я начал заниматься этим четыре или пять лет назад, и это помогло мне значительно вырасти.
Не торопитесь, просматривая код. Убедитесь, что вы увлечены этим и понимаете, как они сочетаются друг с другом. Вместо этого подумайте, как вы могли бы это сделать, а затем подумайте о плюсах и минусах каждого подхода. Это может быть действительно отличный разговор между вами и автором работы, который принесет пользу вам обоим. Я знаю, что были случаи, когда мои младшие инженеры предлагали лучшее решение, чем то, что было у меня.
Найдите себе наставника
Я написал статью о наставничестве в общем контексте, но у меня есть опыт наставничества инженеров-программистов.
Наставник должен регулярно общаться с вами, где вы можете поговорить о:
- над чем ты работаешь
- проблемы, с которыми вы сталкиваетесь
- то, что вы сделали, чем гордитесь
- что вы изучаете
- где вы хотите быть через месяц / год / 5 лет
Им не обязательно быть экспертом в этом деле. Один из моих наставников собирается пройти курс машинного обучения. Я знаю самые основы, поэтому я спросил, не потратит ли он какое-то время во время нашей встречи, чтобы научить меня тому, что он узнал.
Но они должны быть вашим защитником. Они должны постараться помочь вам сделать следующий шаг к тому, чего вы хотите. Все, что им нужно сделать, это указать вам правильное направление и держать вас подотчетным. Я считаю, что некоторые заметки, которыми вы делитесь, помогают напомнить о том, о чем вы говорили.
Найдите кого-нибудь, кого вы уважаете и с кем у вас хорошие отношения, и спросите, готовы ли они наставлять вас. Это такая привилегия, чтобы меня попросили, поэтому я уверен, что это будет много значить для них.
Еще один отличный способ расти - наставлять кого-то еще, и, как я уже сказал, для этого не нужен эксперт.
Упражняться!
Вы не можете научиться играть на гитаре, читая о ней. Прекратите читать и начните делать. Придумайте интересную задачу, которую нужно решить, и попытайтесь ее решить. Или воспользуйтесь одним из множества веб-сайтов, на которых возникают случайные проблемы (кодовые войны - это то, что я использовал очень часто).
Ваш наставник может дать вам несколько идей и побудить вас продолжать их реализацию.
Если у вас не так много возможностей писать код на работе, возможно, вам нужно сменить работу. Есть множество компаний, которые хотели бы нанять кого-то, кто хочет учиться, обучать и формировать их. Я люблю это делать, поэтому свяжитесь с нами, если собираетесь переехать.
Если вы не хотите делать решительный шаг, попробуйте внести некоторые изменения на своем рабочем месте, чтобы вы могли писать больше кода. Для вашего работодателя вы - инвестиция. Если вы не пишете код и поправляетесь, это все равно, что ваши деньги лежат на банковском счете с ужасной процентной ставкой.
Сосредоточьте свое обучение
Индустрия развивается так быстро, что вы не можете быть в курсе всего, что происходит. Выберите одну или две вещи и «git gud». Дойдите до того момента, когда вы почувствуете себя комфортно с ним, и если кто-то попросит вас что-то с этим сделать, ваша первая реакция больше не будет ужасом.
Один друг описал его подход к обучению как «как раз вовремя». Если вы хорошо владеете одним языком / фреймворком / чем-то еще, вы можете выбрать другой, если и когда вам это нужно.
Если вы только начинаете, я лично рекомендую изучить JavaScript. Вы будете использовать его в большинстве ролей веб-разработки, и вы можете использовать его как для внешнего, так и для внутреннего интерфейса.
Оцените себя
Это то, что я делаю со всеми, кого наставляю. Мы устанавливаем базовый уровень того, как подопечный чувствует себя в различных областях работы инженером-программистом. Необязательно, чтобы это был исчерпывающий список, но будьте честны с собой. Если вы делаете это с наставником, попросите его высказать свое мнение (в большинстве случаев они, вероятно, будут с вами согласны, но иногда они могут выделить сильные стороны, о которых вы даже не подозревали).
Выберите несколько из ваших более низких оценок и решите, каким должен быть следующий шаг для их улучшения, а затем сделайте это!
Делайте это регулярно, и вскоре вы заметите, что становитесь лучше.
Надеюсь, у вашего работодателя есть какая-то матрица навыков, которую он может вам предоставить, но я собираюсь записать свою в следующем посте, так что следите за этим.
Научи кого-нибудь другого
Лучший способ чему-то научиться - научить этому кого-то другого. Вам может казаться, что вы что-то знаете, но как только вы начинаете пытаться объяснить это кому-то еще, вы понимаете, в чем заключаются пробелы в вашем понимании.
Если учить кого-то нереально, напишите об этом в блоге. Я написал пару статей о создании интеграции с микро-интерфейсом времени выполнения, которая действительно помогла мне укрепить мое понимание webpack. Я только начал изучать голанг, так что скоро будет сообщение в блоге об этом.
Не бойтесь ошибиться, худшее, что может случиться, - это когда вы поймете, что чего-то не знаете. В чем собственно весь смысл.
Если вы думаете о присоединении к среде, пожалуйста, воспользуйтесь моей реферальной ссылкой - https://richard-t-bell90.medium.com/membership