Собрал по вакансиям крупных компаний требования к разработчикам, которые не укладываются в стандартное «знание языка X, платформы Y, опыт работы не менее Z лет».
- Умение точно сформулировать какую задачу я решаю в данный момент, почему именно эту, и почему это важно
- Умение оценивать объем и сроки выполнения работ, а потом делать обещанное вовремя без лишних напоминаний
- Сообщать о проблемах своевременно
- Умение писать простой и понятный код, который легко поддерживать
- Участие в документировании программного кода в соответствии с принятыми в компании процедурами
- Умение работать с чужим кодом, проводить code review коллег, рефакторинг и оптимизацию существующего кода
- Умение покрывать код тестами
- Умение декомпозировать задачу на последовательность конкретных шагов, которые нужны для ее решения
- Умение находить простые решения для сложных задач
- Понимать, что любую задачу можно решить несколькими способами, уметь находить эти способы, оценивать их и выбирать оптимальный в данных конкретных условиях
- Умение проверять что задача действительно решена
- Знание средств командной разработки
- Активное взаимодействие с командами смежников внутри компании
- Не бояться общения с заказчиками, в том числе внутренними
- Делать выводы о своей деятельности в ходе любого взаимодействия с членами команды
- Умение быстро разобраться в новой для себя технологии
- Понимание конкретных сценариев использования разрабатываемой системы
- Умение прорабатывать архитектурные решения
- Умение искать и интегрировать готовые решения вместо придумывания своих велосипедов
- Создание API для веб-сервисов, микросервисов, разработка и поддержка библиотек
- Понимание архитектуры и проблем высоконагруженных систем, задач распределения нагрузки и масштабируемости
- Понимание того, как бизнес-решения влияют на приоритезацию процесса разработки
- Привычка аргументировать свои решения метриками
- Желание передавать знания и управлять подчиненными, обучать и развивать профессионалов
- Участие в найме необходимых для работы людей, участие в их адаптации к работе в компании
- Умение говорить на одном языке с разработчиками и бизнес-командой, задавать вопросы, формулировать, структурировать, давать обратную связь
Вы знаете, как это сделать.