Руководство по поиску IT персонала по навыкам и ролям разработчиков

Цифровая трансформация уже не «в ближайшем будущем». Это происходит прямо сейчас. Вот интересная статистика о цифровой трансформации.

Российские организации инвестируют в цифровую трансформацию от 3 до 10% от годовой выручки. Лидирующие отрасли ― ритейл (69%), банки и страхование (65%), телекоммуникации и связь (60%).

Среди ключевых ит направлений, которые российские компании уже активно используют, ― Data Analytics (34%), екоммерс (28%) и роботизация процессов (RPA) с 24%. И в результате ускорения цифровой трансформации каждая компания превратилась в технологическую компанию. Чтобы иметь правильную технологию, вам нужны профессиональные ит специалисты.

Мы составили список / руководство по поиску наиболее востребованных навыков разработчиков, разбили их по уровням (базовый, средний, продвинутый) и поделились определениями ролей и квалификации востребованных разработчиков.

Полный список навыков разработчика

1. .NET
.NET Core - это кроссплатформенная среда с открытым исходным кодом. Приложения .NET Core можно создавать с использованием нескольких языков программирования.
Базовый: Базовый уровень .NET требует понимания классов .NET, средств ввода и вывода, преобразования данных и реализации простых служб REST API.
Средний: .NET Intermediate Skill Level включает настройку доступа к данным, изучение .NET Core и Framework, общеязыковой инфраструктуры, сборок и разработку локализованных приложений.
Продвинутый: .NET Advanced Skill Level включает понимание асинхронного и параллельного программирования, изучение рекомендаций по безопасности .NET и управление памятью.

2. Angular.js
Angular - это фреймворк, который работает с Typescript или JavaScript для отображения динамического содержимого страницы.
Базовый: Базовый уровень навыков включает понимание использования компонентов, TypeScript в Angular, MVC Framework, двусторонней привязки и проверки формы.
Промежуточный: средний уровень навыков включает использование маршрутизации, NgModules, Observables для передачи данных и обработки событий, внедрения зависимостей и API-интерфейсов для передачи данных по HTTP / S.
Продвинутый: Уровень Advanced Skill включает понимание шаблонов проектирования, спецификаций требований, модульного тестирования и отладки консоли браузера.

3. Ansible

Ansible Playbooks используются для настройки приложений, серверов, больших сетей и систем. С помощью Ansible Playbooks и модулей автоматизация таких задач, как непрерывные обновления, становится простой.
Базовый: базовый уровень навыков включает настройку учебника, управление задачами, игровое поведение и выполнение простых задач автоматизации bash.
Средний: средний уровень навыков включает настройку приложений и систем с использованием REST API приложений и возможность тестирования кода Ansible.
Продвинутый: уровень Advanced Skill включает расширенную автоматизацию, включая безопасность и облако.

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

5. Apache Spark
Apache Spark - это программная среда с открытым исходным кодом, построенная на основе платформы распределенной обработки Hadoop.
Базовый: эта область компетенции включает в себя, среди прочего, установку Spark в автономном режиме, выполнение команд в интерактивной оболочке Spark, чтение и запись данных с использованием фреймов данных, преобразование данных и запуск Spark в облаке.
Средний: Эта область компетенции включает в себя объединение и анализ данных, выполнение агрегирования данных, настройку источников и приемников данных, выполнение настройки, мониторинг заданий Spark, выполнение преобразований и выполнение SQL-запросов к потоковым данным, среди прочего.
Дополнительно: эта область компетенции включает в себя установку Spark в автономном режиме, выполнение команд в интерактивной оболочке Spark, чтение и запись данных с использованием фреймов данных, преобразование данных и запуск Spark в облаке, среди прочего.

6. AWS
Amazon Web Services (AWS) - это платформа, которая предлагает несколько сервисов облачных вычислений из центров обработки данных по всему миру.
Базовый: базовый уровень навыков включает запуск безопасных инстансов Amazon EC2 с политикой автоматического масштабирования, настройку корзины Amazon S3 для статического хостинга веб-сайтов, развертывание бессерверного приложения, обеспечение безопасности корзины Amazon S3 и многое другое.
Промежуточный: AWS Intermediate Skill Level включает создание облачных уведомлений с использованием SNS, развертывание приложения с использованием Elastic Beanstalk, понимание распределения CloudFront для контента, хранящегося в Amazon S3, создание предупреждений мониторинга CloudWatch, изучение DynamoDB, среди прочего.
Продвинутый: AWS Advanced Skill Level включает анализ данных в S3 с помощью Athena, использование AWS CLI для управления ресурсами, миграции данных, автоматизации развертывания кода и т. Д.

7. Bash
Bash или Bourne-Again SHell - это интерпретатор команд и язык сценариев, широко используемый по умолчанию в операционных системах на базе Linux.
Базовый: основные компетенции включают теоретические основы Bash, общие команды, переменные и операторы, условные операторы и операторы цикла, операции ввода-вывода и умение создавать базовые сценарии Bash.
Средний: основные компетенции включают расширенные команды, использование регулярных выражений, понимание и использование конвейеров, обработку файлов, ловушку и сигналы в bash, функции и использование аргументов командной строки.
Продвинутый: основные компетенции включают обработку ошибок, асинхронные команды, умение создавать инструменты командной строки и использование / dev / null.

8. C #
C # - это объектно-ориентированный язык программирования общего назначения, разработанный для Common Language Infrastructure (CLI) и широко известный своими возможностями структурирования, строгой типизации и лексической области видимости.
Базовый: Базовый уровень навыков включает понимание структуры программ C #, типов и переменных, базового ООП, свойств и индексаторов, коллекций, обработки исключений и прочего.
Промежуточный: средний уровень навыков включает понимание общей системы, использование анонимных методов, замыканий и лямбда-синтаксиса, языковой интегрированный запрос (LINQ), управление ресурсами и использование динамических типов, среди прочего.
Продвинутый: Уровень продвинутых навыков включает понимание асинхронного программирования, отражения, небезопасного кода и деревьев выражений.

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

10. CSS
Каскадные таблицы стилей (CSS) в основном используются для включения стилей текста, таблиц и форматирования макета веб-страниц. Сферы компетенции включают изучение каскадирования и наследования, изучение основ стилей текста, понимание использования макетов в CSS, понимание упаковки элементов в CSS и многое другое.

11. Моделирование данных
Моделирование данных включает в себя различные методы моделирования данных для хранения в базах данных. Уровень базовых навыков включает в себя оценку вероятностей с использованием байесовского моделирования, понимание линейной регрессии, логистической регрессии и прогнозирование меток, чтобы назвать несколько.

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

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

14. Django
Django - это фреймворк для веб-приложений с открытым исходным кодом, основанный на Python, со множеством встроенных функций, которые можно использовать для простой и быстрой разработки приложений.
Базовый: базовый уровень навыков включает понимание ключевых понятий, таких как модели, представления, шаблоны и конфигурация URL-адресов, среди прочего.
Средний: средний уровень навыков включает в себя возможность реализовать электронную почту для связи и вести журнал, который может использоваться для отладки приложения по мере необходимости.
Продвинутый: область уровня Advanced Skill включает выполнение сложных операций, связанных с базой данных, с использованием моделей Django в сочетании с представлениями на основе классов и использованием соответствующего сопоставления URL-адресов по мере необходимости. Понимание шаблонов, аутентификации и возможности реализации Rest API, настройки Django Admin, среди прочего.

15. Docker
Docker - это платформа, которая упрощает создание, обновление, развертывание и запуск контейнерных приложений.
Базовый: базовый уровень навыков включает создание образов Docker и файлов Docker, создание, развертывание и запуск простых приложений, а также работу с .NET - контейнерами.
Средний: средний уровень навыков включает в себя создание образов, понимание основных команд DevOps для докеров, тегов и меток, а также запуск нескольких служб в контейнере, среди прочего.
Продвинутый: уровень Advanced Skill включает в себя выполнение команд внутри контейнера, обучение извлечению показателей, адаптацию более строгих методов безопасности и работу с томами, среди прочего.

16. GCP
Google Cloud Platform (GCP), предлагаемая Google, представляет собой набор модульных сервисов облачных вычислений, включая вычисления, хранение данных, аналитику данных и машинное обучение, а также набор инструментов управления.
Базовый: эта область компетенции включает в себя развертывание экземпляров Google App Engine, развертывание и управление облачными функциями Google, создание и управление корзинами хранилища Google, среди прочего.
Средний: эта область компетенции включает в себя развертывание приложений Compute Engine, расширенные развертывания App Engine, Google Kubernetes Engine, использование более продвинутых решений для баз данных, использование, среди прочего, решений в стиле оболочки для управления облачными сервисами.
Продвинутый: эта область компетенции включает в себя всестороннее облачное управление идентификацией и доступом, расширенные решения для обработки данных, более продвинутые варианты развертывания, такие услуги, как Pub / Sub, Cloud CDN, балансировку нагрузки облака и другие.

17. Golang
Golang - популярный язык, изобретенный Google в 2007 году. Он статически типизирован и является компилируемым языком программирования. Это общий язык, который используется с технологиями облачных вычислений, инструментами оркестровки контейнеров, такими как Docker и Kubernetes, простыми в создании инструментами CLI, веб-сервисами и популярными инструментами для создания DevOps и инструментов проектирования надежности сайтов.
Базовый: основные компетенции включают изучение базовых языковых функций Golang, простых структур данных, массивов, карт, типов данных и интерфейсов.
Средний уровень: основные компетенции включают работу с функциями, понимание именованных возвращаемых параметров, указателей, обработку файлов и обработку ошибок.
Продвинутый: основные компетенции включают изучение горутин, мьютексов и каналов, взаимодействие с хранилищем, работу с фиктивными объектами и тестирование конечных точек HTTP, среди прочего.

18. Hadoop
Программная среда с открытым исходным кодом Hadoop широко используется для надежных и масштабируемых распределенных вычислений на кластере машин.
Базовый: эта область компетенции включает понимание кластера с одним узлом в автономном режиме, в псевдораспределенном режиме, выполнение команд оболочки для взаимодействия с HDFS, выполнение задач параллельной обработки, среди прочего.
Промежуточный уровень: эта область компетенции включает, среди прочего, реализацию расширенного параллелизма, реализацию счетчиков, выполнение базовых запросов и подзапросов в Hive.
Продвинутый: эта область компетенции включает выполнение операций ETL с использованием Apache Pig, базы данных Apache Cassandra NoSQL, оптимизацию выполнения задач в Hadoop с использованием Tez, среди прочего.

19. HTML / CSS / JS
HTML, CSS и JavaScript являются ключевыми для создания веб-приложений. При создании веб-приложений HTML обеспечивает базовую структуру веб-сайтов, которая улучшается и модифицируется другими технологиями, такими как CSS и JavaScript. CSS используется для управления представлением, форматированием, стилем и макетом. JavaScript используется для управления поведением различных элементов в приложении.

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

21. JavaScript
Javascript используется в первую очередь для программирования веб-браузера, а также на стороне сервера с Node. Основные области применения включают добавление интерактивного поведения к веб-страницам, создание веб-приложений и мобильных приложений, создание веб-серверов и разработку серверных приложений, разработку игр и т. д.
Базовый: к ключевым компетенциям относятся, среди прочего, функции, события и обработка ошибок, каррирование, подъем, объем, наследование.
Средний уровень: эта ключевая компетенция включает в себя, среди прочего, шаблоны проектирования, управление памятью, модель параллелизма и циклы событий.

22. Jenkins
Jenkins - это бесплатная серверная система автоматизации сборки и тестирования с открытым исходным кодом, написанная на Java. Эта ключевая область компетенции включает настройку сборок проектов, планирование сборок, настройку уведомлений по электронной почте и создание сценариев для правильного резервного копирования и восстановления сервера Jenkins.

23. Kubernetes
Kubernetes (K8s) - это система с открытым исходным кодом для контейнерных приложений. Он позволяет автоматизировать развертывание, масштабирование и управление контейнерами в любом масштабе.
Базовый: эта область компетенции включает установку и настройку Kubernetes, развертывания и кластеры, работу со службами Kubernetes для доступа к развертываниям, создания конфигураций и секретных данных, среди прочего.
Средний: эта область компетенции включает в себя работу с приложениями с отслеживанием состояния, доступ к панели управления Kubernetes, работу с метками, среди прочего.
Дополнительно: эта область компетенции включает в себя работу и доступ к журналам Kubernetes и приложений в кластере, отладку, сетевую политику, настройку производительности и многое другое.

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

25. Linux
Linux относится к семейству операционных систем, основанных на ядре Linux с открытым исходным кодом [впервые выпущенном в 1991 году] с интерфейсом, в основном похожим на Unix. Это семейство операционных систем распространяется и специализируется на различных целях, таких как настольные компьютеры, смартфоны, мэйнфреймы, периферийные вычислительные устройства и т. д. Linux был построен исключительно как проект с открытым исходным кодом и сегодня является наиболее широко используемым семейством операционных систем в мире.
Базовый: компетенции включают теоретические основы, основы работы с bash, использование диспетчера пакетов, текстовых редакторов для редактирования файлов и понимание процесса загрузки Linux.
Средний уровень: основные компетенции включают использование и понимание безопасной оболочки (ssh), мониторинг и управление процессами и памятью, файловые системы, а также понимание процесса инициализации и планирования заданий.
Продвинутый: основные компетенции включают понимание диспетчеров рабочего стола и окон, теоретических основ и использования сетевого уровня в Linux, межпроцессного взаимодействия и управления пользователями для администрирования системы Linux.

26. Машинное обучение
Машинное обучение, поддомен искусственного интеллекта, позволяет компьютерам производить выходные данные без явного программирования.
Базовый: эта область компетенции включает в себя использование выбора функций и моделей, выбор, использование и оптимизацию моделей машинного обучения, сбор данных, выполнение базовых операций с данными и многое другое.
Средний: эта область компетенции включает в себя использование техники кодирования One-Hot, создание новых функций с использованием проектирования функций, выборку записей, выполнение логических выводов на предварительно обученной модели машинного обучения и многое другое.
Продвинутый: эта область компетенции включает обучение совершенно новой модели машинного обучения с нуля, оценку производительности модели машинного обучения, настройку модели машинного обучения для достижения более высокой производительности, среди прочего.

27. MongoDB
MongoDB - это база данных без SQL на основе документов. MongoDB хранит все схемы и записи с использованием синтаксиса, подобного JSON, и использует коллекции и документы.
Базовый: эта область компетенции включает создание новой базы данных с новой коллекцией, пользователями, коллекциями, вставкой и возвратом документов, среди прочего.
Средний: Эта область компетенции включает запросы документов, выполнение различных операций с документами, таких как обновление, вставка, удаление полей, удаление и другие.
Дополнительно: эта область компетенции включает, среди прочего, вставку и сортировку записей, ограничение результатов запросов, подсчет и агрегирование документов.

28. Node.js
Платформа, построенная на среде выполнения JavaScript в Chrome, обычно используется для создания быстрых и масштабируемых сетевых приложений. Узел. js использует управляемую событиями неблокирующую модель ввода-вывода, что делает ее эффективной и идеальной для приложений с интенсивным использованием данных в реальном времени, работающих на распределенных устройствах.
Базовый: ключевая компетенция включает управление пакетами и модулями, а также понимание использования обратных вызовов, цикла событий, генератора событий, буферов, потоков, файловых систем и прочего.
Средний: Компетенция включает в себя понимание событийно-ориентированной архитектуры и параллелизма, а также масштабирования и упаковки.
Продвинутый: эта ключевая компетенция включает объединение служб REST API и бизнес-факторов для достижения наилучших результатов.

29. Решение проблем
По своей сути решение проблем фокусируется на изучении, понимании и использовании структур данных и алгоритмов.
Базовый: область компетенции включает в себя основные структуры данных и алгоритмы.
Средний: область компетенции включает использование HashMaps, стеков, очередей, куч, а также анализ сложности времени выполнения и сложности пространства, среди прочего.
Продвинутый: эта область компетенции включает в себя работу со структурами данных, такими как деревья, обход графов, с использованием динамического программирования и специализированных алгоритмов, среди прочего.

30. Puppet
Puppet - это инструмент с открытым исходным кодом (и корпоративный), который используется для управления конфигурацией, автоматизации развертывания и обеспечения (AWS). Он использует парадигму конфигурации pull и упрощает управление крупными инфраструктурами с помощью простой абстракции.
Базовый: эта область компетенции включает в себя понимание управления конфигурацией, архитектуры Puppet, основ Puppet DSL и прочего.
Средний уровень: эта область компетенции включает понимание основных манифестов в Puppet, установку значения атрибута для ресурса, установку пакета, создание файла, написание простых шаблонов, изучение Puppet Forge, настройку Puppet для кластера и многое другое.

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

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

33. React.js
React.js - это фреймворк, который работает с Javascript для отображения динамического содержимого страницы. Он поддерживает переменную состояния для каждого динамического элемента, который управляется с помощью компонентов, созданных с использованием классов или функций и хуков.
Базовый: эта область компетенции включает понимание базовой маршрутизации, элементов рендеринга, управления состоянием, обработки событий и прочего.
Средний уровень: эта область компетенции включает в себя, среди прочего, управление контролируемыми компонентами, маршрутизацию с помощью Params, выборку и обработку данных с использованием веб-запросов.
Продвинутый: эта область компетенции включает интеграцию знаний о структуре с бизнес-логикой, создание и выполнение комплексных модульных тестов для приложения React, отладку, хуки и многое другое.

34. REST API
REST API делает возможным удаленное выполнение возможностей приложения, поддерживая стандартные методы HTTP, обработку ошибок и другие механизмы RESTful.
Базовый: эта область компетенции включает использование запроса GET и изучение основных функций.
Средний: эта область компетенции включает использование запроса GET и изучение основных функций.
Продвинутый уровень: эта область компетенции включает создание полной службы REST API.

35. RoR
Ruby on Rails (RoR) - это фреймворк, который в первую очередь помогает разработчикам создавать веб-сайты и приложения, абстрагируя и упрощая повторяющиеся задачи.
Базовый: эта область компетенции включает понимание структуры RoR Model / View / Controller (MVC), понимание структуры каталогов Rails, работу с задачами rake, миграциями, записями и железнодорожными маршрутами.
Средний: эта область компетенции включает в себя понимание RVM (Ruby Version Manager), настройку баз данных и работу с миграциями, изучение расширенных операций активной записи и кэширование, среди прочего.
Продвинутый: эта область компетенции включает в себя работу с рефакторингом больших кодовых баз Rails, работу с обширными наборами тестов, ноу-хау создания Gem, микросервисы, безопасность и производительность, а также другие ключевые концепции, такие как отладка, тестирование и развертывание.

36. Ruby
Ruby - это интерпретируемый, динамический язык программирования с открытым исходным кодом, ориентированный на простоту и производительность.
Базовый: эта область компетенции включает изучение основ программирования на Ruby, включая конструкторы, операторы, циклы, методы и объекты. Также включает в себя обучение написанию простых модулей, работу с массивами и ввод-вывод, среди прочего.
Средний уровень: эта область компетенции включает понимание объектов Ruby и их функций, работу со встроенными модулями Ruby, Hash, Range и Set, изучение коллекций и перечислений, создание простых регулярных выражений, чтение и запись в типы файлов JSON и XML, операции с каталогами. , среди прочего.
Продвинуты: эта область компетенции включает расширенные операции с объектами и методами Ruby, работу с некоторыми сложными операциями с регулярными выражениями, изменение классов и модулей Ruby, работу с Proc, Block и Lambda, среди прочего.

37. Selenium
Selenium - это среда для автоматизации тестирования веб-интерфейса с открытым исходным кодом. Selenium поддерживает автоматизацию в разных браузерах, платформах и языках программирования.
Базовый: в эту ключевую область компетенции входит изучение базового уровня программирования на HTML, JavaScript, CSS и Java. Также требуется хорошее понимание HTML DOM и опыт работы с различными типами локаторов, такими как XPath, ID, CSS и т. Д.
Средний: в эту ключевую область компетенции входит изучение сложных уровней программирования на HTML, JavaScript, CSS и Java. Веб-парсинг, XPath и автоматизация данных также являются ключевыми моментами для понимания.
Продвинутый: в эту ключевую область компетенции входит изучение продвинутых уровней совместимости Selenium с HTML, JavaScript, CSS и программированием на Java.

38. Spring Boot
Spring Boot - это расширение Spring Framework, которое помогает разработчикам быстро создавать простые веб-приложения с меньшим количеством кода.
Базовый: область компетенции включает в себя настройку приложения Spring MVC, основы Spring framework, работу с REST API, написание модульного теста для простого приложения, среди прочего.
Средний уровень: область компетенции включает в себя использование автоматической конфигурации Spring Boot, упаковку и развертывание простого приложения, в том числе реализацию обработки исключений.

39. SQL
Язык структурированных запросов (SQL) - это стандартный язык запросов, который работает с реляционными базами данных. В отличие от некоторых более ранних систем, запросы выполняются на сервере, и только результаты передаются клиенту. Это дало возможность эффективно работать с большими базами данных по сети.
Базовый: эта область компетенции включает понимание простых запросов, отношений и агрегаторов.
Средний: эта область компетенции включает работу со сложными соединениями, объединениями и подзапросами.
Продвинутый: эта область компетенции включает способность продемонстрировать понимание оптимизации запросов, моделирования данных, индексирования, оконных функций и сводок в SQL.

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

41. Техническая коммуникация
Техническая коммуникация используется для того, чтобы сделать информацию о технических продуктах, услугах и процессах ясной и понятной. Это способность ясно и кратко излагать мысли, замыслы, идеи и спецификации.

42. Terraform
Terraform позволяет создавать, изменять и версии вашей инфраструктуры, используя инфраструктуру как методы кода.
Базовый: эта ключевая компетенция включает в себя развертывание конфигураций Terraform, запуск и изменение экземпляра AWS с помощью Terraform, работу с реестром Terraform, ресурсами и выходными данными, среди прочего.
Средний уровень: эта ключевая компетенция включает в себя работу с поставщиком Docker, импорт существующей инфраструктуры, работу с Terraform Secrets, условными операторами, счетчиками, функциями и работу с переменными.
Продвинутый: эта ключевая компетенция включает понимание бэкендов, использование MySQL, локального провайдера и поставщика времени для управления экземплярами базы данных, отладку, разбиение на модули и понимание API Terraform Graph.
Определение ролей и квалификация востребованного разработчика
1. Инженер-программист
Кто такой инженер-программист?
Инженер - программиста нанимают для сборки индивидуальных систем и решения для конкретного заказчика. Они обладают обширными знаниями языков программирования, разработки программного обеспечения и компьютерных операционных систем. Они применяют инженерные принципы к проектированию, разработке, обслуживанию, тестированию и оценке компьютерного программного обеспечения.

Каковы основные навыки инженера-программиста?
  • Качество кода
  • Владение языком
  • Решение проблем
  • REST API
  • SQL
  • Техническая коммуникация

Какие общие вопросы собеседования с программистом ?
  • Опишите плохой код, который вы читали или унаследовали недавно.
  • Когда вы узнаете, что ваш код готов к производству?

2. Front-end разработчик
Кто такй фронтенд разработчик?
Они разрабатывают графические интерфейсы, где пользователи могут просматривать и взаимодействовать с данными. Некоторые распространенные веб-технологии, используемые интерфейсными разработчиками, включают HTML , CSS , DOM и JavaScript, которые работают на открытой веб-платформе или действуют как входные данные компиляции для сред, не относящихся к веб-платформе.

Каковы основные навыки фронтенд разработчика?
  • Качество кода
  • CSS
  • HTML / CSS / JS
  • JavaScript
  • Решение проблем
  • Техническая коммуникация

Какие вопросы можно задать на собеседовании с фронтенд разработчиком ?
  • Какие фреймворки вы использовали и каковы преимущества и недостатки каждого из них?
  • Каким образом сервер может взаимодействовать с клиентом?

3. Back-end разработчик
Кто такой back-end разработчик?
Он отвечает за логику приложения на стороне веб-сервера и хранения данных. В то время как интерфейсные разработчики сосредотачиваются на пользовательском интерфейсе, бекенд разработчики пишут веб-службы и API, используемые разработчиками интерфейсных и мобильных приложений.

Каковы основные навыки back-end разработчика?
  • Качество кода
  • Решение проблем
  • REST API
  • SQL
  • Системный дизайн
  • Техническая коммуникация

Какие вопросы можно задать на собеседовании с серверным разработчиком ?
  • Какой ваш любимый язык программирования и почему?
  • В чем разница между приемочным тестированием и функциональным тестированием?
  • В чем разница между базами данных SQL и MongoDB на высоком уровне?
  • Каковы передовые практики тестирования производительности?

4. Full-stack инженер
Кто такой full-stack инженер?
Инженер полного стека работает как с фронтом, так и с беком веб - сайта или приложения. Они могут заниматься проектами, которые включают базы данных, создавать веб-сайты, ориентированные на пользователя, и работать с клиентами на этапах планирования этого процесса.

Каковы основные навыки инженера полного цикла?
  • Качество кода
  • CSS
  • JavaScript
  • Node.js
  • Решение проблем
  • REST API
  • Техническая коммуникация

Каковы некоторые общие вопросы собеседования с инженерами?
  • Когда вам представили новый проект, как вы выбрали задействованные инструменты и технологии?
  • Что бы вы назвали лучшим опытом внедрения?
  • Допустим, вам нужно написать конечную точку для проверки существования ресурса. Какой путь и метод вы бы использовали?
  • Какие 5+ способов оптимизировать веб-сайт, чтобы сделать его максимально эффективным и масштабируемым?
  • Как бы вы помешали ботам очистить ваш общедоступный API?

5. Data Science
Кто такой Специалист по данным?
Специалисты по обработке данных собирают и анализируют большие наборы структурированных и неструктурированных данных. С помощью информатики, статистики и математики они анализируют, обрабатывают и упаковывают полезные данные для принятия ключевых решений в организациях.

Каковы некоторые фундаментальные навыки специалиста по данным?
  • Apache Spark
  • Качество кода
  • Моделирование данных
  • Визуализация данных
  • Преодоление данных
  • Машинное обучение
  • Python
  • R
  • SQL
  • Системный дизайн
  • Техническая коммуникация

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

6. Cloud Engineer
Кто такой облачный инженер?
Он коммерциализирует, стандартизирует и управляет облачными вычислениями. Они используют методы и инструменты инженерии для создания, разработки, эксплуатации и обслуживания систем и решений облачных вычислений. Облачные инженеры несут ответственность за использование облачных ресурсов для решения бизнес-задач.

Каковы основные навыки Cloud Engineer?
  • Ansible
  • AWS
  • Качество кода
  • Докер
  • Kubernetes
  • Системный дизайн
  • Техническая коммуникация
  • Terraform

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

Наши Telegram каналы про HR и IT

Публикуем вакансии и резюме. Пишем про поиск работы
Публикуем вакансии и резюме. Пишем про поиск работы
Только позитивные мемы и юмор! 18+
Нетворкинг, личный бренд и IT подбор
Хотите найти талантливого сотрудника?
Оставьте заявку и получите в подарок список вопросов для сбора рекомендаций на кандидата