И как вы можете улучшить, прежде чем стать младшим разработчиком

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

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

Проблема 1. Незнание, как и когда обратиться за помощью

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

Возможное решение

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

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

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

Это фактически приводит к следующему вопросу.

Проблема 2. Неумение задавать правильные вопросы

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

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

Возможное решение

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

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

Проблема 3. Слабые навыки презентации

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

Возможное решение

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

Проблема 4. Слабые навыки письменного общения

Все организации должны каким-то образом иметь невербальную коммуникацию. Будь то запись для уведомления, записи того, что сказано, или даже наличие внутренних источников информации для внутренних инструментов, письменное общение чрезвычайно важно. Большинство компаний будут использовать Slack, Google Hangouts Chat, Discord, электронные письма или их комбинации.

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

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

Возможное решение

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

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