Мнения экспертов от старших разработчиков и недавних молодых людей

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

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

Отношение ›Способность

- Кристина Смитерс

Иметь желание учиться

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

Вероятно, самое важное: постарайтесь сделать это самостоятельно, прежде чем задавать вопросы, но не сопротивляйтесь слишком долго без посторонней помощи. «Слишком долго» очень субъективно и может составлять от 15 минут до дня и действительно зависит от того, над чем вы работаете.

- Кайл Спаанс

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

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

- дион (из Slack)

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

Будьте скромны со своими сверстниками

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

- Кристина Смитерс

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

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

Полюбопытствовать

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

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

Оставайтесь организованными

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

Прочитать исходный код

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

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

Будьте хорошим сторонником открытого исходного кода

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

  • Если вы использовали инструмент или модуль с неполными документами, внесите свой вклад!
  • Оставьте код лучше, чем вы его нашли. Рефакторинг методов для лучшего понимания людьми или добавление комментариев к неизбежно расплывчатому коду
  • Напишите самодокументированный код; например, вот руководство по самодокументирующему JavaScript
  • На таких форумах, как Stack Overflow, проголосуйте за полезные ответы или добавьте комментарии, если ваша ситуация хоть немного отличается, так как это может помочь кому-то другому.

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

У Stack Overflow есть много правильных ответов, но также много неправильных ответов, много ответов, которые подходят для вариантов использования, которые кажутся вам вашими, но не похожими на вас, и множество ответов, которые близки к правильным для вас, но которые вам нужно знать как правильно адаптироваться или интегрироваться.

- jkaplowitz (из Slack)

Баланс самообучения и самореализации

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

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

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

Попробуй, и твои крылья найдут тебя

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

Если бы вы недавно были на младшей должности, что вы сделали для развития своей карьеры? Если бы у вас был опыт наставничества, что бы вы посоветовали сегодня младшим разработчикам? Подобные разговоры и многие другие постоянно происходят на TechMasters.chat. Вступайте сегодня!