├── .gitignore └── README.md /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ## Soft Skills для разработчиков 2 | 3 | Собрал по вакансиям крупных компаний требования к разработчикам, которые не укладываются в стандартное «*знание языка X, платформы Y, опыт работы не менее Z лет*». 4 | 5 | ### Ответственность 6 | 7 | - Умение точно сформулировать какую задачу я решаю в данный момент, почему именно эту, и почему это важно 8 | - Умение оценивать объем и сроки выполнения работ, а потом делать обещанное вовремя без лишних напоминаний 9 | - Сообщать о проблемах своевременно 10 | 11 | ### Кодирование 12 | 13 | - Умение писать простой и понятный код, который легко поддерживать 14 | - Участие в документировании программного кода в соответствии с принятыми в компании процедурами 15 | - Умение работать с чужим кодом, проводить code review коллег, рефакторинг и оптимизацию существующего кода 16 | - Умение покрывать код тестами 17 | 18 | ### Решение проблем 19 | 20 | - Умение декомпозировать задачу на последовательность конкретных шагов, которые нужны для ее решения 21 | - Умение находить простые решения для сложных задач 22 | - Понимать, что любую задачу можно решить несколькими способами, уметь находить эти способы, оценивать их и выбирать оптимальный в данных конкретных условиях 23 | - Умение проверять что задача действительно решена 24 | 25 | ### Командная работа 26 | 27 | - Знание средств командной разработки 28 | - Активное взаимодействие с командами смежников внутри компании 29 | - Не бояться общения с заказчиками, в том числе внутренними 30 | - Делать выводы о своей деятельности в ходе любого взаимодействия с членами команды 31 | 32 | ### Архитектура 33 | 34 | - Умение быстро разобраться в новой для себя технологии 35 | - Понимание конкретных сценариев использования разрабатываемой системы 36 | - Умение прорабатывать архитектурные решения 37 | - Умение искать и интегрировать готовые решения вместо придумывания своих велосипедов 38 | - Создание API для веб-сервисов, микросервисов, разработка и поддержка библиотек 39 | - Понимание архитектуры и проблем высоконагруженных систем, задач распределения нагрузки и масштабируемости 40 | 41 | ### Бизнес 42 | 43 | - Понимание того, как бизнес-решения влияют на приоритезацию процесса разработки 44 | - Привычка аргументировать свои решения метриками 45 | - Желание передавать знания и управлять подчиненными, обучать и развивать профессионалов 46 | - Участие в найме необходимых для работы людей, участие в их адаптации к работе в компании 47 | - Умение говорить на одном языке с разработчиками и бизнес-командой, задавать вопросы, формулировать, структурировать, давать обратную связь 48 | 49 | ## Исправления или добавления? 50 | 51 | Вы знаете, как это сделать. 52 | 53 | --------------------------------------------------------------------------------