Терминология как основной способ поиска...

26
"Терминология как основной способ поиска разработчиков или как не опозориться при хантинге девелоперов "

Upload: self-employed

Post on 12-Apr-2017

1.021 views

Category:

Recruiting & HR


4 download

TRANSCRIPT

"Терминология как основной способ поиска разработчиков или как не

опозориться при хантинге девелоперов "

Войти в IT• нужно четко понимать, что вы 100500 рекрутер который пишет разработчику;

• составляйте свои письма грамотно; • предлагайте действительно тот проект, который действительно подходит разработчику;

• не забывайте, что программист создает мир в мире и у него очень развито абстрактное мышление.

Разбираем базовые понятия в разработке

• Язык программирования - это как для лингвиста любой иностранный язык со своими лексическими, синтаксическими и семантическими правилами. Все эти правила определяют внешний вид программы и действия, которые выполнит заказчик (в вебе или десктопе) под управлением функционала программы.

• Библиотека – происходит от Динамически подключаемая библиотека (DLL) – заранее описанный функционал, который можно многократно использовать. Изначально предназначались для использования одного и того же кода, но разными приложениями. Это как книга рецептов, вроде бы принадлежит хозяйке, но ею и муж может воспользоваться когда она в командировке, и дочке можно дать на использование…

• Фреймворк (eng. Framework) – программная платформа, которая определяет структуру и шаблоны вашего решения. Хорошо использовать слово «каркас». Очень хорошим примером может быть кухня и сервировка стола, решили готовить суши – заботьтесь о палочках на столе. Или можно привести пример с велосипедами

• Система контроля версий ( SCV) или (википедия называет их система управления версиями) – это как ваша папка с дипломом или курсовой, все помнят сколько версий дипломов у них было, сколько раз приходится их перепечатывать и проверять, а те ли страницы добавил или удалил.

• Среда разработки или IDE (англ. Integrated development environment) - комплекс программных средств, используемый программистами для разработки программного обеспечения (ПО). Среда разработки включает в себя:

1. текстовый редактор, 2. компилятор и/или интерпретатор, 3. средства автоматизации сборки, 4. отладчик.

Что общего между языками программирования?

С одной стороны ничего, а с другой все :)

• Компилятор - представьте что у вас в руках инструкция по запуску ракеты в космос, вроде все отлично написанно, но текст на эфиопском. Вы обращаетесь к переводчику, для того что бы понять текст и приступить к выполнению инструкции. Точно так же как и программист - для того что бы получить финальный результат (запустить программу) он отправляет свой код к компилятору, который переводит код в двоичную систему (единички и нолики). Компилируемые языки программирования - С, С++, Delphi, Golang и т.д

• Интерпретатор - это встроенная в язык программирования система, которая выполняет все функции построчно. Например, как прямая трансляция саммита G20 - все выступают на разных языках, но мы можем их всех понять с помощью синхронного переводчика. Интерпретируемые языки программирования - PHP, JS, Ruby, Python и т.д. Такие языки являются кросплатформенными, то есть такими, которые могут работать в разных операционных системах. Однако есть существенный минус - это низкая производительность.

• Смежные языки программирования - Java, C# - они гибкие и производительные, однако требуют наличие виртуальной машины. Мы часто сталкиваемся с выражением "Обновить Java" - это и есть обновление виртуальной машины, такой себе екосисемы, а не самого языка программирования.

принцип DRY• Don't Repeat Yourself - это принцип разработки программного обеспечения, нацеленный на снижение повторения информации различного рода, особенно в системах со множеством слоёв абстрагирования. Принцип DRY формулируется как: «Каждая часть знания должна иметь единственное, не противоречивое и авторитетное представление в рамках системы»

ООП• Объектно-ориентированное программирование (ООП) — это методология программирования, основанная на представлении программы в виде совокупности объектов, каждый из которых является экземпляром определенного класса, а классы образуют иерархию наследования.

• Например рецепт коктейля - все знают состав коктейля Маргарита, никто не пишет "Я сегодня смешал серебряную текилу 50 мл, Ликер Трипл сек 25 мл, Сахарный сироп 10 мл, Лаймовый сок 30 мл, Лайм 10 г, Соль 2 г и Лед в кубиках 200 г"

Описание вакансиикак не отпугнуть девелопера?

Чек лист

• получить технические требования и задачи для будущего сотрудника от заказчика (ПМ, тех лида и иже с ними);

• написать, что действительно предлагает компания; • перечитать и дать перечитать ПМу; • спросить - а ты б сам откликнулся на такую вакансию?); • в идеальном варианте - дать почитать знакомому девелоперу - они чаще всего могут указать на ошибки в описании и задать вопросы, которые можно транслировать ПМу.

Java

• Программы на Java транслируются в байт-код, выполняемый виртуальной машиной Java (JVM) — программой, обрабатывающей байтовый код и передающей инструкции оборудованию как интерпретатор.

• Важной особенностью технологии Java является гибкая система безопасности, в рамках которой исполнение программы полностью контролируется виртуальной машиной.

• Java SE, Java EE, Java ME, JavaFX - GUI • Java+Android = Software Development Kit • Библиотека-компилятор JDK • Среды разработки - NetBeans IDE, Eclipse IDE, IntelliJ IDEA

С#

• C# — объектно-ориентированный язык программирования. Разработан в 1998—2001 в компании Microsoft как язык разработки приложений для платформы Microsoft .NET Framework и впоследствии был стандартизирован.

PHP• PHP – это широко используемый язык сценариев общего назначения с открытым исходным кодом.

• Говоря проще, PHP это язык программирования, специально разработанный для написания web-приложений (сценариев), исполняющихся на Web-сервере.

• Аббревиатура PHP означает “Hypertext Preprocessor (Препроцессор Гипертекста)". Синтаксис языка берет начало из C, Java и Perl. PHP достаточно прост для изучения. Преимуществом PHP является предоставление web-разработчикам возможности быстрого создания динамически генерируемых web-страниц.

• Базы данных (MySQL, MySQLi, SQLite, PostgreSQL) • Фреймворки Symfony, Drupal, Kohana, Yii, Codeigniter, Zend Framework • Интерпретатор SAPI

JavaScript• JavaScript — прототипно-ориентированный сценарный язык программирования. Наиболее широкое применение находит в браузерах как язык сценариев для придания интерактивности веб-страницам.

• На JavaScript оказали влияние многие языки, при разработке была цель сделать язык похожим на Java, но при этом лёгким для использования непрограммистами.

• Библиотеки - jQuery, Prototype JS, Mootools, YUI, Ext JS, Wordpress. • JavaScript и Java - oбщим заблуждением является то, что JavaScript аналогичен или тесно связан с Java, это не так. Оба языка имеют C-подобный синтаксис, являются объектно-ориентированными и как правило широко используются в клиентских веб-приложениях. Из важных различий можно отметить: !

1. Java реализует ООП подход, основанный на классах, JavaScript — на прототипах; 2. Java имеет статическую типизацию, JavaScript — динамическую типизацию; 3. Java загружается из скомпилированного байт-кода; JavaScript интерпретируется напрямую из файла.

Python

• Python— высокоуровневый язык программирования общего назначения, ориентированный на повышение производительности разработчика и читаемости кода. Синтаксис ядра Python минималистичен. В то же время стандартная библиотека включает большой объём полезных функций.

• Интерпретатор - CPython, JVM, MSIL и тд. • библиотека - стандартная. • философия Python. • Проекты на Python - Pinterest, Instagram, Dropbox, Mozilla, Foursquare,

Google и еще много других гигантов.

Тренируемся на котиках девелопераханализируем профили в линкедине по указанному стеку технологий

Нетворкинг и персональный

бренд

Чек лист • посещение проф ивентов • мониторинг профильных комьюнити • ведение своей соц страницы • больше вникаем в суть разработки благодаря youtube-лекциям по IT рекрутингу

Ирина Лисовская [email protected]

Удачных вам поисков!