IT-рекрутмент. Как найти лучших специалистов, когда все вокруг горит - Егор Яценко
● OpenCV — библиотека для разработки компьютерного зрения.
● OpenGL — библиотека для разработки графики и 3D-моделей и т. п.
С# (читать как «си шарп» и никак иначе) — еще один язык из семейства С, по синтаксису близок к С++ и Java. Создан и развивается силами компании Microsoft. На нем разрабатываются и клиент-серверные, и десктопные приложения.
Говоря о C#, чаще всего подразумевается. NET — программная платформа, также выпущенная компанией Microsoft и включающая в себя множество технологий и инструментов для разработки различных программных продуктов, от веб-сервисов до мобильных приложений.
Для рекрутера важно понимать, что если в вакансии написано. NET, то, скорее всего, речь идет о десктопной версии софта. Если же написано ASP.NET, то речь о веб-сервисе.
Кроме того, на шарпе раньше можно было писать только под винду (Windows) — это было существенным ограничением языка, а найти специалистов, которые делали что-то под Linux на C#, было просто нереально. В последние годы ситуация поменялась, и шарп начал двигаться в сторону кросс-платформенности, то есть совместимости с различными операционными системами.
Java — согласно рейтингу TIOBE, третий по популярности язык программирования в 2022 году. Он давно занимает лидирующие позиции, но в последние годы Python его обогнал. Java считается одним из самых безопасных языков программирования, поэтому большинство банковских и страховых систем написаны именно на нем.
Вероятнее всего, вы уже отлично это запомнили, но все же повторю: не стоит путать Java и JavaScript! Невер!
Что же пишут на Java? Можно сказать, всё! Как шутят разработчики, он есть в каждой кофемашине и холодильнике (кстати, изначально он разрабатывался действительно для бытовых приборов).
Вот несколько известных проектов, где велика доля Java-кода: eBay, Amazon, LinkedIn, Google, Twitter, Facebook.
По данным компании Oracle, в мире более 3 млрд устройств работают на Java. На сегодняшний день по миру насчитывается около 12 млн Java-разработчиков, и их число постоянно растет. По данным платформы AmazingHiring, в России на Java программируют 81,5 тысячи специалистов.
Этот язык программирования прочно занял свои позиции в разработке под Android, веб-продуктов и в сфере Enterprise, поэтому спрос на Java-девелоперов на российском рынке сложно переоценить.
Чтобы заниматься рекрутментом в этой сфере, важно помнить, что Java предоставляет разработчикам несколько платформ (фреймворков), которые облегчают разработку и запуск написанных программ. Различные платформы ориентированы на создание разных приложений для разного типа устройств. Вот некоторые из них:
● Java core — «базовая комплектация» Java в комплексе с необходимым минимальным набором технологий.
● Java SE (Standard Edition) — основная реализация Java, подходит для создания в первую очередь десктоп-систем пользовательских приложений.
● Java EE (Enterprise Edition) — наилучшим образом подходит для создания программного обеспечения уровня предприятия. В качестве альтернативы может использоваться Spring — один из самых популярных фреймворков Java.
Немного пугающих аббревиатур: в резюме Java SE и EE могут быть написаны как j2se и j2ee соответственно. Выглядит жутковато, но стоит их запомнить. Зная различные способы написания версий Java в запросе при сорсинге, вы сможете за счет таких трюков увеличить выдачу кандидатов.
● Spring — это Java-фреймворк для создания самых разнообразных веб-проектов, от простых веб-приложений до Big Data.
● Hibernate — фреймворк, часто встречающийся в описании вакансий и обеспечивающий разработчику простоту и удобство работы с реляционными базами данных. Кстати, он относится к отдельному виду ORM-систем (в народе — «оэрэмок»), то есть систем, предназначенных для общения с базами данных. Так, например, человек может писать запрос напрямую в базу данных, а может использовать специальный фреймворк. Кстати, об этом у кандидата можно так и спросить: взаимодействовали с базами данных напрямую или через ORM?
Это далеко не полный список фреймворков: например, помимо описанного выше Spring, существует Spring Boot, который немного упрощает работу самого Spring. Для реализации веб-проектов существуют Blade или GWT (Google Web Toolkit). Но я уверен: понимая, что такое фреймворк, чем он полезен разработчику и в чем теоретические отличия разных фреймворков, даже при нахождении незнакомых названий в вакансиях вы сможете быстро их нагуглить и сориентироваться, кто именно вам нужен.
Python — один из немного языков со своей философией «The Zen of Python» и, наверное, с самой обширной областью применения. Кстати, по рейтингу все того же TIOBE Index, как раз Python — самый распространенный язык программирования в мире. Он используется и в анализе данных, и в системном администрировании, и в разработке сайтов, и в машинном обучении, и даже в создании искусственного интеллекта. При этом область его применения постоянно растет. По последним данным, он уступает по популярности только Java, С и С++.
Сообщество разработчиков на Python считается одним из самых активных, именно благодаря их работе язык активно развивается. На сегодня есть две основные ветки: Python 2.x и Python 3.x.
И да, Python назван не в честь пресмыкающегося, а по названию популярной британской юмористической телепередачи Monty Python's Flying Circus (Летающий цирк Монти Пайтона).
В web Python чаще всего используется для клиент-серверных веб-приложений. Наиболее популярные фреймворки:
● Django — быстрый способ создания приложений, содержащих такие компоненты, как аутентификация пользователя, панель управления сайтом, формы, инструменты для загрузки файлов и др. Один из ключевых принципов этой платформы — DRY (англ. Don't repeat yourself). Это значит, что однажды написанные куски кода (функции) можно использовать много раз.
● Flask — фреймворк, который сознательно ограничивает разработчика самыми базовыми возможностями. Отлично подходит для создания динамических веб-приложений и сетевых приложений.
● Tornado — асинхронный фреймворк, предназначенный в первую очередь для создания веб-приложений. Одна из его задач — решить «проблему 10 000 соединений», которая заключается вот в чем: несмотря на то, что современное «железо» способно обслуживать порядка 10 тысяч соединений одновременно, неэффективные алгоритмы могут приводить к возникновению «заторов».
Системные администраторы часто пишут на Python сервисные приложения, например, чтобы легко осуществлять открытие файлов, поиск по каталогам, запуск сторонних программ и т. д.
Python также полезен для аналитиков и Data Scientist. Один из самых популярных инструментов этого направления — расширение NumPy, содержащее возможности для работы с большими массивами данных, интерфейсами уравнений и т. д.
Go (или Goland) — язык с достаточно низким порогом входа для новичков, разработанный внутри компании Google для решения проблем на высоконагруженных сервисах. По мнению его разработчиков, язык Go — это попытка создать альтернативу постепенно устаревающим С и С++: за последние годы компьютерные технологии изменились, и они требуют новых решений. Язык был впервые представлен общественности в 2009 году и за последнее десятилетие поднялся в рейтинге TIOBE с 65-го места на 13-е.
Зачастую на