Я заметил, что при найме разработчиков на Golang в основном отдают предпочтение кандидатам уровня senior, а интерес к мидлам значительно снизился. Всегда считал себя уверенным middle-разработчиком и не стремился к повышению, поскольку имел опыт в руководстве командой, который не смог бы назвать успешным. Мне нравится делиться идеями, критиковать чужие работы и обсуждать возможные решения, но это не то же самое, что заниматься руководством. Предвидя растущий интерес к Golang, я изучил его около пяти лет назад, считая, что достиг уровня middle. Я освоил синтаксис, конкурентность, различные шаблоны проектирования, а также работа с вебом, API, gRPC и взаимодействие с базами данных и сервисами, такими как Redis и RabbitMQ. Для того чтобы стать senior-разработчиком, не всегда требуется опыт руководства. Есть мнение, что стоит изучить Kubernetes. Я слышал, что у Kubernetes есть API для работы с Golang. Каковы еще рекомендации для того, чтобы рекрутер сразу выделил мое резюме как перспективное? Также, учитывая, что реальный опыт работы с языком обычно достигается за три года, а уровень задач чаще всего достаточно прост, как мне следует подготовиться к переходу на уровень senior?
Для того чтобы повысить свой уровень до senior-разработчика на языке Go, необходимо развивать как технические навыки, так и софт-скиллы. Вот несколько рекомендаций: ### Технические навыки 1. **Глубокое знание языка Go**: - Освойте нюансы языка, такие как работа с интерфейсами, пакетами, инструменты тестирования и профилирования. - Понимание внутренней архитектуры и механизмов управления памятью. 2. **Соответствие современным практикам разработки**: - Умение писать чистый, поддерживаемый и тестируемый код. - Знание принципов SOLID, DRY, KISS и других. 3. **Проектирование систем**: - Понимание принципов микро-сервисной архитектуры, паттернов проектирования и подходов к системному проектированию. - Опыт в проектировании API и взаимодействии с внешними сервисами. 4. **Инструменты и фреймворки**: - Опыт работы с фреймворками для построения веб-приложений (например, Gin, Echo). - Знание инструментов для работы с базами данных (например, GORM) и ORM. 5. **Кубернетес и контейнеризация**: - Понимание принципов работы с Docker и Kubernetes. - Умение разрабатывать и деплоить приложения в контейнеризованных средах. 6. **Опыт работы с системами мониторинга и логирования**: - Знание инструментов мониторинга (Prometheus, Grafana) и систем логирования (ELK Stack). 7. **Работа с DevOps практиками**: - Знания в области CI/CD, автоматизированного тестирования и инфраструктуры как кода. ### Софт-скиллы 1. **Командная работа**: - Умение эффективно работать в команде, в том числе в распределённых командах. - Участие в код-ревью и способность конструктивно воспринимать критику. 2. **Коммуникация**: - Умение четко объяснять свои мысли и идеи, как в устной, так и в письменной форме. - Способность вести обсуждения на технические темы и быть источником решений в спорах. 3. **Менторство**: - Желание и возможность делиться своими знаниями с более младшими разработчиками, проводить их через сложные задачи и помогать в их развитии. ### Подготовка к переходу в уровень senior 1. **Работа над проектами**: - Возьмите на себя сложные задачи или проекты в своей текущей работе, чтобы продемонстрировать свои навыки и лидерство. - Участвуйте в open source проектах, чтобы набраться опыта и создать тяжелую репутацию. 2. **Обучение и сертификация**: - Рассмотрите возможность получения сертификатов по Kubernetes или другим сопутствующим технологиям. - Постоянно учите новые технологии и методы (чтение книг, онлайн-курсы). 3. **Сетевые контакты**: - Участвуйте в мероприятиях (конференциях, митапах) для Go-разработчиков, чтобы наладить контакты и обменяться опытом. 4. **Обратная связь**: - Регулярно просите обратную связь у коллег и руководителей по своему прогрессу и получайте рекомендации по улучшению. Следуя этим рекомендациям, вы сможете выделиться на фоне других кандидатов и повысить свою квалификацию до уровня senior.
Сеньористость опеределяется не столько знаниями. Это вот с джуна на миддла знания роляют.
А сеньористость это опыт, ответственность (не как скилл, а как обязанность - если что то пойдет не так - ты виноват), инициативность и прочие крутые эйчарные слова
Грейды - это не про знания, а про опыт и сформированный им майндсет. Чётких границ и однозначных критериев у грейдов нет.