В продолжение моей предыдущей статьи 9 способов роста для средних бэкенд-инженеров я хочу поделиться еще несколькими советами для старших инженеров.
Вы должны по-прежнему поддерживать высокий уровень работы со всеми пунктами, упомянутыми выше. Помимо того, что вы хороши в них, вы также обладаете более ценным активом — опытом. Вы не можете получить опыт на курсах, только через решение реальных проблем.
Так что на уровне старшего инженера-программиста вы лучше всего подходите для применения своего опыта в работе. От вас часто ожидают, что вы будете иметь/находить решения каждой проблемы самостоятельно, в то время как это отнимает драгоценное время у ваших менее старших коллег, для вас это был просто некоторый опыт, который вы можете быстро применить в новой среде.
Экономьте деньги — либо за счет эффективных решений, либо за счет того, что не программируете их
Да, делать меньше работы — это ваш приоритет номер один. Время — самый ценный актив, и для вашего работодателя оно напрямую конвертируется в деньги.
- Думайте как заинтересованная сторона, как клиент. Предлагайте свои улучшения на основе опыта и того, что работает, а что нет.
- На данном этапе вашей карьеры вы достаточно опытны, чтобы предлагать свои решения проблем клиентов. Если вы видите, что что-то будет не так — скажите об этом, в начале проекта цена ошибки очень мала по сравнению с тем, когда решение полностью развернуто.
Используйте функции, которые являются новыми для вашей команды
Вы очень хорошо разбираетесь в стеке компании, поэтому используйте все возможности, чтобы освоить функции, которые являются новыми для вашей команды — это точки роста.
- Билеты DevOps.
- Дизайн системы для рефакторинга.
- Получите draw.io и создайте несколько схем.
- Билеты на расследование, чтобы сравнить разные решения одной проблемы (и предложить как минимум 3 варианта ее решения).
- Кодирование совершенно новой функции, где вам нужно добавить новые зависимости в стек (новая БД, новый сервис, новый API, новый домен и т. д.).
Создавайте хорошо продуманные решения для обучения (в качестве хобби)
- Выберите небольшую проблему, о которой вы знаете (если она у вас хотя бы есть), и попытайтесь найти решение (проекты среднего и большого размера — их очень сложно выполнить самостоятельно в свободное время, так что не беспокойтесь).
- Попрактикуйтесь в проектировании системы и нарисуйте схему. Как данные передаются в вашем приложении (назовем его v1).
- Создайте проект, внедрите все, что вы знаете на данный момент (добавьте CI/CD, добавьте lint и lint-fix, автоматизируйте его, добавьте хуки GitHub, разверните в облаке, примените передовые инженерные практики и получите тестовое покрытие, а также хороший файл readme)
- Попробуйте новые стеки — внедрите сервисное взаимодействие через публикацию/подписку, реализуйте асинхронные задания через очереди, попробуйте реплики чтения/записи для хранилища и сегментирование. Поэкспериментируйте с тем, что может оказаться полезным в вашей повседневной работе. Когда придет время высказаться, у вас будут готовы демо и факты.
- Рефакторинг — через какое-то время вы завершаете набор функций своего хобби-проекта, тратите время и размышляете над созданной архитектурой. Вы увидите, как что-то можно реорганизовать для достижения большей расширяемости. Рефакторинг вашего кода, чтобы исправить проблему.
- Перерисовать схему проектирования системы до версии 2.
- Повторяйте итерацию рефакторинга, пока не будете полностью удовлетворены результатом.
Надеюсь, это было полезно. Удачи и счастливой инженерии!