fbpx

Начнем с самого сложного. C++cИ плЮс плЮс, С# сИ шАрп. Многие “горят” на неправильном произношении языков ))

Если у опытного разработчика, скажем, с 20 летним стажем спросят, какой язык программирования нужно учить первым, что он ответит? – Почти 100%, что он посоветует освоить один из языков семейства Си.

Эти языки занимают первые строчки в любых рейтингах популярности. А какие именно языки входят в это семейство, какие библиотеки и фреймворки используют, какие продукты на них написаны и что еще нужно знать рекрутеру – в нашей статье.

hrpr school blog

Присоединяйся к школе HRPR в Telegram-сообществе IT-Рекрутеров и в соцсетях

Языки семейства Си

Не вдаваясь в тонкости и не ища проколов в классификации, назовем языками семейства Си все языки, которые используют фигурные скобки {} для выделения функциональных блоков (функции, классы, циклы и др). Это языки С, С++, C#, Objective-C. Эти языки используются в основном для бекенда, но есть отдельные фреймворки позволяющие делать фронтендную часть.

Вот пример кода Си.

“Hello World” в Windows:

#include <stdio.h>

#include <conio.h>

 int main () {

    printf (“Hello World\n);

     getch();

}

Какие плюсы у этих языков:

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

  • универсальность — создание продуктов для разных платформ и систем (от приложений для Андроид до декстопов на Майкрософт). Все примеры будут ниже.
  • скорость работы приложения. На пальцах это сложно показать, но буквально во всех профильных статьях упоминается это преимущество.
  • много библиотек и шаблонов, чтобы не решать решенные задачи. Многие из библиотек бесплатные.
  • помогают трудоустроиться. Совсем необязательно программировать только на языках семейства Си но знание одного из них свидетельствуют, что в голове программиста все правильно разложено по полочкам. Это своеобразный маркер для работодателя.
  • комьюнити и доступность справочной информации. Ответы на вопросы можно искать тут.

Что может быть написано на языках семейства Си

Да практически все, если конкретизировать:

  • С, чего только не написано на Си: операционные системы (Windows, macOS, Linux, iOS , Android), базы данных (Oracle Database, MySQL, SQLite, MS SQL Server и PostgreSQL), Open Source-проекты, драйверы для внешних девайсов (принтеры, МФУ, клавиатуры, мыши и т.д.), другие языки программирования (C++, C#, Objective-C, Swift, Perl, Python, Ruby, PHP), графические библиотеки (Cairo, OpenGL, SDL) и много чего еще, например, софт для космических разработок.
    Библиотеки: assert.h, complex.h (C99), ctype.h, errno.h.
  • С++ используется для оптимизации кода (переписывают код с более высокоуровневого языка на С++, чтобы работал быстрее), игры AAA-класса (сложные, красивые, высокобюджетные игры), GPU-вычисления (сотни мелких ядр выполняют простые вычисления, да-да именно так майнят биткоины).
    Фреймворки для начинающих: SFML, Poco, GTK+, Cocos2D-X, SDL.
  • C# используется для разработки сайтов (ASP.NET — фреймворк для веба на C#), клиентских и web-приложений, машинного обучения кроссплатформенных мобильных приложений и игр в Unity 3D, CryEngine и DirectX. Хорошо сочетается со средой Microsoft, потому что изначально был создан для внутренних нужд компании.
    Фреймворки: ASP.NET MVC, ASP.NET Web Api, .NET, Automapper.
  • Objective-C используется для написания всего софта для macOS и iOS от приложений (Moves, Duoling) до игр (Device 6, Badland, Impossible Road).
    Фреймворки: Cocao Touch, Media Layer, Core Services, Core OS.

Что должен знать IT-рекрутер при поиске программиста на языках из семейства С:

  • какой все-таки язык нужен для проекта
  • какие есть версии нужного языка
  • какие библиотеки и фреймворки используются
  • какие компиляторы и отладчики актуальны для выбранного языка
  • что используется для тестирования на данном языке
  • понимание бизнес домена

Как найти ответы на эти вопросы: погуглить, изучить опыт компании по поиску похожих кандидатов, если возможно или спросить у тимлида, проджект-менеджера или кто есть ответственный на проекте.

Давайте рассмотрим, какие требования предъявляют к кандидатам, варианты вакансий в карусели.
Кроме конкретных технических знаний и опыта работы с определенными языками и фейверками, требуется аналитический склад ума, знание алгоритмов и математики, английский язык хотя бы на уровне А2, для руководящий позиций – знание современных методологий ведения проектов, лидерства и мотивации команды.

Заработные платы за 2021 год в Беларуси, медианное значение:
С / С++ $ 2540, C# $ 1600, Objective-C $ 2300. Вилки огромные: от $350 до $10000.

На занятиях в школе HRPR вы пройдете технический ликбез

Чтобы знать, какие особенности учитывать при поиске самых разных IT-специалистов

01

ШАГ

Приходите на курс HRPR для IT-рекрутеров. Скоро старт новой группы. 125+ часов, 40+ занятий, 10+ спикеров из ведущих IT-компаний

Последнее из блога

IT-СловарьITHR & IT-РекрутингТехнологии IT-сорсинга
4 января, 2022

Golang. Где искать разработчиков и сколько они стоят?

В ноябре 2021 года, языку программирования GO исполнилось 12 лет. Название GO, язык получил как производное от материнской компании Google, но позднее, чтобы не пересекаться с еще одним языком программирования “Go!”,…
IT-ПродажиIT-СловарьITHR & IT-РекрутингЛикбез для IT-SalesТехнологии IT-сорсинга
4 января, 2022

Embedded system. Что это? Почему так востребовано?

АМбЭдет или ЭМбэдед. Только не скажите - эмбед, как это делает большинство.  Встраиваемая, или встроенная, система (Embedded System) ― это микропроцессорная вычислительная система, являющаяся модулем какого-либо устройства и предназначенная для…
IT-МенеджментIT-ПродажиIT-СловарьITHR & IT-РекрутингЛикбез для IT-Sales
29 ноября, 2021

Continuous Integration & Continuous Delivery. Почему для собеседования в IT это нужно знать?

На рынках высокой конкуренции, когда скорость доставки изменений зачастую играет решающую роль в борьбе за клиента, компании стремятся к максимальной автоматизации процессов. В разработке ПО существуют практики, при которых релизы…
IT-ПродажиIT-СловарьITHR & IT-РекрутингДолжности в ITЛикбез для IT-Sales
29 ноября, 2021

Тестирование & QA. Или почему QA-инженер и тестировщик – не одно и то же

Профессия тестировщика (software test engineer) или QA-инженера (quality assurance engineer) остается одной из самых востребованных на рынке труда, во многом, благодаря своей зрелости (есть множество учебников, подготовительных курсов и тренингов) …