Распаковка характеристик уважаемого, успешного программиста в этом быстро меняющемся мире технологий. 🌐

⏩ Введение

Технологическая индустрия продолжает расти, и спрос на квалифицированных разработчиков растет с каждым днем ​​— даже после подъема индустрии ИИ и No-Code. Тем не менее, ведутся давние споры о том, что на самом деле означает быть профессиональным и очень ценным разработчиком.

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

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

🧑‍🏫 Быть ответственным, эффективным и инициативным. Но и технически великолепно.

Привет, коллеги-разработчики! ✋

Сегодня мы поговорим о том, что делает разработчика профессиональным и очень ценным в технологической индустрии. 💰💻

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

Мы не пишем тесты, потому что у нас недостаточно времени для этого — руководство считает, что тесты — это пустая трата времени. 😡

Я не так много учусь, потому что наши компании не дают нам ни времени, ни денег, чтобы заниматься этим в рабочее время. ⏳

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

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

Технические решения должны исходить от технических специалистов, включая написание тестов 🔴🟢

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

Говоря о качестве, тесты имеют решающее значение! 👨‍🔬 Они гарантируют качество и определяют успех нашей работы. Если кто-то когда-нибудь попытается воспрепятствовать или подвергнуть сомнению тесты, поддержите свою работу и объясните, почему она так важна для успеха продукта. 🙌

Помните, что качество работы всегда дается как должное: если все идет хорошо, это считается нормальным 🙂 если что-то не работает должным образом, кого-то ждет разочарование. 😢

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

Мы технические ребята, у нас есть технические навыки и опыт, чтобы решить, как делать нашу работу, и мы не должны позволять никому, кроме других разработчиков, обсуждать это. 🧑‍💻

🎓 Обучение — это обязанность разработчика, а не компании

Как разработчики, мы все знаем, как важно постоянно учиться и совершенствовать свои навыки. Хотя было бы здорово, если бы компании обеспечивали нас постоянным обучением, в конечном счете мы обязаны идти в ногу с отраслевыми стандартами. 🏋️‍♀️

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

Мы — разработчики, поэтому наша обязанность — поддерживать это убеждение и давать всем понять, насколько это важно. Есть две основные вещи, которые вы можете сделать как разработчик, чтобы внедрить это в компанию:

  1. Дайте понять во время собеседования: когда вы обсуждаете новую должность, спросите об обучении и убедитесь, что понимаете, предлагает ли компания время и/или деньги для поддержки вашего обучения. Если вы думаете, что этого недостаточно, будьте милы, но скажите об этом и попытайтесь понять, можете ли вы получить больше.
  2. Объясните, когда вы получаете что-то благодаря своему обучению: особенно если компания все еще не так сильно поддерживает вас, и ваше обучение пришло из личного времени, обязательно укажите, что вы смогли добиться большего благодаря этому — это даст вам аргументы, чтобы попросить больше.

Помните!

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

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

Если тебе не становится лучше, тебе становится хуже [Джо Патерно]

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

Решайте проблемы, а не просто пишите код ⌨️

Не будьте простым исполнителем — всегда задавайте вопросы, ищите компромиссы и понимайте почему все, что вы делаете. Речь идет не только о ваших навыках программирования, но и о ваших способностях решать проблемы. 🔍

Как правило, это один из самых больших признаков старшинства для разработчика:

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

Получив возможность решать реальные бизнес-задачи, вы станете всесторонне развитым профессиональным разработчиком, и это то, что никогда не сможет воспроизвести ни платформа с искусственным интеллектом, ни платформа без кода. 🚀

Итак, помните — у вас есть возможность создавать отличные работы, принимать важные решения и быть ценным активом для любой компании. Продолжайте учиться и продолжать подталкивать себя, и вы будете неудержимы. 💪

До следующего раза, удачного программирования! 🤓👩‍💻👨‍💻

Иди глубже 🔎

📚 Забронировать

Professional PHP — книга о том, как быть профессиональным разработчиком с упором на техническую часть. Примеры на PHP, но применимы ко всем языкам ООП.

📩 Выпуски рассылки

Как научиться лучше учиться на собственном опыте [Широкий диапазон, информационный бюллетень Дэвида Эпштейна]

📄 Посты в блоге

12 основных навыков, которым нужно научиться, чтобы стать профессиональным разработчиком программного обеспечения

🎙️ Эпизоды подкастов

Привычки успешных инженеров-программистов — быстрое написание кода и модельное мышление [подкаст Developer Tea]

👨🏻‍🏫 Онлайн-курсы

Exercism — лучший онлайн-инструмент для изучения языков программирования и открытия новых ката

🙏 Спасибо, что прочитали эту сокращенную версию бесплатного информационного бюллетеня Learn Agile Practices на Substack. Если вам понравился этот контент, рассмотрите возможность подписки здесь➡️https://learnagilepractices.substack.com/about.

Преимущества бесплатной подписки включают:

  • еженедельный выпуск, доставляемый каждый вторник в 7 утра — выпуски похожи на этот пост, но лучше! Выпуски публикуются за 1 месяц до этого в информационном бюллетене и включают в себя дополнительный раздел, в котором я рассказываю об этой теме более личным образом, привожу примеры и даю советы, основанные на своем опыте, а также более крупный раздел «Углубляйся», в котором в среднем предлагается в 3 раза больше ресурсов. узнайте больше по этой теме.
  • полный доступ к архиву, где вы можете найти все наши прошлые выпуски, включая этот, в их полной версии
  • Код на скидку 10%, всегда активен, действителен для всех наших цифровых продуктов или услуг (полный список здесь)
  • PDF-файл «3 книги + 1 для изучения разработки через тестирование»