Как выбрать направление в программировании
Перейти к содержимому

Как выбрать направление в программировании

  • автор:

Какую iT профессию выбрать?

Какую iT профессию выбрать?

Итак, с IT-курсами мы определились и даже решились на них пойти, но, вот в чём вопрос – какую IT-профессию выбрать? Какие они вообще бывают и что там надо делать? Давайте разбираться.

Наша команда разработала специальный тест, который позволит определить какая iT-профессия подходит вам больше всего.

Для начала выделим направления ит-деятельности. К таковым относятся: разработка, дизайн, менеджмент, маркетинг, поддержка и аналитика . В каждом направлении выделяем собственно IT-профессии, которым соответствуют определённые навыки. Попытаемся их кратко описать.

В IT-разработке самой узнаваемой и известной профессией является, конечно же, программист (занимается созданием компьютерных программ, алгоритмов, сайтов). Профессия программист подразделяется на множество названий по языкам программирования (Java, PHP, JavaScript, JavaAndroid и пр.), вот например:

— программист Java создаёт сложные приложения, с помощью этого языка программирования. Он используется для разработки корпоративных приложений и видеоигр, веб-приложений с использованием JSP (Java Server Pages), а также родных Android-приложений для смартфонов и планшетов,

— PHP программист – разработчик, который использует именно этот, самый распространённый на сегодняшний день, язык программирования. Он очень прост для освоения и способен удовлетворить запросы профессионалов. Предназначен для «оживления» страниц сайта,

— тестировщик — проверяет IT-продукт на различные неполадки и неточности в использовании, ищет «подводные камни». Вот, например, QA automation мониторит качество продукта на различных этапах его разработки, тестирования и эксплуатации и, как и программисты, занимается разработкой, только он создает продукт, чтобы проверить написанное программистами.

— программист JS с помощью этого языка превращает «безжизненные» интернет-странички в полнофункциональные веб-приложения, позволяет ускорить взаимодействие пользователя с сайтом и снизить нагрузку на сервер. Front-end программист должен хорошо владеть HTML разметкой, CSS, языком программирования JavaScript, а также фреймворком React, Angular, Vue. Хороший front-ent программист также знает серверные языки, что необходимо для понимания взаимосвязи клиентской части с серверной стороной.

С направлением IT-дизайн попроще. Здесь можно выделить следующую профессию:

— веб-дизайнер — художник с техническим складом ума. Можно сказать, что их задачей является создание привлекательного и удобного веб-дизайна и интерфейса, которые в свою очередь являются показателями качественного программного обеспечения. Также от веб-дизайна зависит количество пользователей интернет ресурса, что важно принять во внимание программисту при разработке веб-приложения. Умение правильно использовать web-дизайн является большим плюсом для разработчика. Например, web-дизайн UX включает в себя информационную архитектуру, проектирование взаимодействия, графический дизайн и контент. Web-дизайн UI — это более узкое понятие, включающее в себя определенный набор графически оформленных технических элементов (кнопки, чекбоксы, селекторы и другие поля). Его задача – помочь пользователю организовать взаимодействие с программой/сайтом.

С менеджментом в IT вообще «всё просто»: IT-директор, менеджер проекта и менеджер продукта. Будь гением компьютеров, хорошим управленцем, создавай и, знай себе, руководи.

В направлении IТ-маркетинг уже разнообразней:

— SMM-менеджер — занимается продвижением продукта в социальных сетях,

— SEO-специалист — продвигает сайты в сети,

— интернет-маркетолог — продвигает бренд в интернете,

— менеджер по продажам IТ-услуг — посредник между покупателем и ИТ-компанией,

— PR-менеджер — специалист по рекламе и связям с общественностью.

IT-поддержка – достаточно большой и важный «кусок» ИТ-отрасли. Сюда относятся:

— администратор базы данных — разрабатывает и поддерживает БД,

— системный администратор или сисадмин — следит за правильной работой компьютеров и ПО,

— специалист по информационной безопасности — изобретает системы, обеспечивающие сохранность информации разных уровней,

— сетевой администратор — проектирует сети и налаживает инфокоммуникации,

— CRM-менеджер — выстраивает отношения с клиентами,

— специалист службы технической поддержки.

В IT-аналитике можно выделить системного аналитика, который разрабатывает ИТ-систему, работающую на улучшение эффективности бизнеса, веб-аналитика, который анализирует поведение пользователей на сайте, и аналитика Big Data, который изучает большие массивы данных в науке и бизнесе.

Современный рынок ИТ-технологий также невозможно представить без работы HR-специалистов и рекрутеров . Но, тем не менее, очень часто приходится сталкиваться с неправильным представлением разработчиков и других специалистов о таких сотрудниках. Кто же такие IT-HR и IT-рекрутеры?

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

HR — специалисты занимаются подбором персонала, его адаптацией, оценкой, обучением. Они же (чаще всего – совместно с руководителями подразделений) разрабатывают систему мотивации в компании, оценивают эффективность труда персонала компании. Им же приходится и выяснять причины «текучки» и бороться с ней — если компания столкнулась с этой неприятной проблемой. Конечно, это не значит, что всем этим занимается один и тот же человек. Обычно в крупных компаниях работают целые отделы персонала, и у каждого сотрудника – своя специализация.

Теперь мы знаем IT-направления, IТ-профессии в них, осталось только внимательно присмотреться и прислушаться к себе, проанализировать свои знания, умения и желания в том числе. А про то, что надо знать и уметь, какими навыками обладать, а так же чему поучиться, чтобы правильно выбрать СВОЮ IT-профессию, читайте во второй части статьи.

На какого программиста учиться?

На какого программиста учиться?

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

Читайте также

Я – программист

На какого программиста учиться?

Критерии выбора специализации в программировании

Вначале пара слов об универсальных факторах выбора профессии, на которые обязательно надо обращать внимание.

1. Ситуация на рынке труда

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

Поэтому, прежде чем приступать к обучению, совсем нелишним будет оценить положение дел на рынке труда. Есть ли в вашем городе вакансии в интересующей вас области? Насколько это востребованное направление сейчас и как оно оплачивается? Такое исследование даст вам представление о том, какие перспективы ждут в выбранной области.

2. Сложность изучения

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

Языков программирования огромное множество, и все они отличаются не только своими возможностями в реализации программных продуктов, но и сложностью освоения. Наиболее простыми считаются Ruby, Python, PHP.

Читайте также

Профессия «Программист Python»

  • Яндекс.Практикум, скидки 20%

Яндекс.Практикум, скидки 20%
Приходите учиться любой профессии со скидкой 20% в честь сами знаете чего!

ЗИМНЯЯ РАСПРОДАЖА SKILLBOX

ЗИМНЯЯ РАСПРОДАЖА SKILLBOX
Cкидки до 60% на все курсы всех направлений, а также курс в подарок (с выполнением ДЗ) при покупке!

Зима в ИПО скидки до 60%!

Зима в ИПО скидки до 60%!

Государственный диплом Института профессионального образования. Рассрочка и индивидуальные скидки. Ведется набор студентов

3. Интерес

И, наконец, очевидный, но не теряющий своей актуальности совет. Ищите такую область, которая вам нравится и вызывает интерес. Казалось бы, этот пункт может вступать в противоречие с двумя предыдущими. Ведь может статься, что для изучения того, что вам по душе, придется приложить немало усилий и времени, а размер заработной платы поначалу будет существенно ниже, чем у коллег по цеху. Но просто представьте себе, что это то, чем вы будете заниматься, к примеру, следующие 5 или 10 лет. Что вы при этом почувствуете? Радость? Интерес? Отвращение? Усталость?

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

Читайте также

Почему научиться программировать так чертовски тяжело?

Направления в программировании

Теперь о специализациях. Итак, какие же направления в программировании сейчас существуют?

1. Embedded-разработка (разработка встроенного программного обеспечения)

Практически во всех устройствах, окружающих нас в повседневном быту (и не только) используются микросхемы. Автомобили, электрические плиты, роботы-пылесосы, холодильники, банкоматы, стиральные и посудомоечные машины, роутеры, швейные машины. Этот список продолжает расширяться с каждым днем. Все эти многочисленные приборы работают при помощи электроники, которую кто-то должен запрограммировать. Именно этим и занимаются embedded-разработчики.

Основной язык программирования, использующийся в этой области, — это C++, встречаются также ассемблер и JAVA, они применяются преимущественно для низкоуровневого программирования.

Порог вхождения в эту профессию достаточно высок: C++ и ассемблер не относятся к числу самых простых языков. Кроме того, вам понадобится хорошо ориентироваться в том оборудовании, для которого вы будете создавать программы.

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

Разработка встроенного программного обеспечения — это активно развивающееся направление. Поэтому если вам нравится работать с оборудованием и C++ для вас интересен, то это отличный выбор.

Читайте также

Кем были первые программисты?

2. Разработка мобильных приложений (Android и iOS)

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

На этом направлении низкий порог вхождения — создание небольших приложений возможно даже в домашних условиях. В этой области легко набраться опыта и создать собственное портфолио.

Разработчику приложений под операционную систему iOS необходимо изучить языки программирования Objective-C и Swift (разработан компанией Apple). Для создания приложений на Android вам потребуется знание Java, Kotlin или C#.

Доход разработчика мобильных приложений варьируется от 50 до 160 тыс. рублей и выше.

Читайте также

Бесплатные курсы

3. Front-end разработчик

Еще одна очень востребованная и интенсивно развивающаяся область программирования — это веб-разработка (подробнее о профессии Web-программист). Через интернет продаются самые разнообразные товары и услуги. Сейчас чуть ли не у каждой компании есть свой хотя бы самый простенький сайт или представительство в социальных сетях, на маркетплейсах. А это означает, что спрос на специалистов в области веб-разработки высок и будет расти.

Frontend — это та часть сайта или приложения, которую видит пользователь: страницы и разделы сайта, меню, интерфейс и т. п. Соответственно, frontend-разработчик — это специалист, отвечающий за то, чтобы сделать сайт или мобильное приложение максимально удобным для пользователей.

Эта профессия потребует творческого мышления: необходимо придумывать различные формы веб-дизайна, который будет интуитивно понятен для посетителей сайта, и находить способы их реализации с помощью программирования. Такие специалисты востребованы и в небольших компаниях, и в гигантах уровня Google, Яндекс, Microsoft, Apple и др.

Начать работать в этой области сравнительно несложно, веб-разработка предоставляет хорошие возможности для приобретения опыта и профессионального развития. Для работы специалисту необходимо на высоком уровне владеть JavaScript, знать HTML, СSS, серверные языки (Perl, PHP), а также уметь работать с базами данных (MySQL).

Кроме технического образования, важно иметь начальные познания в области психологии, разбираться в особенностях работы человеческого мозга, восприятия и познавательных процессов.

Заработная плата web-разработчика — в пределах от 50 до 150 тыс. рублей.

Читайте также

19 бесплатных онлайн-игр и сервисов, обучающих программированию

4. Back-end разработчик

Еще одна специализация в веб-программировании — это back-end-программист.

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

Back-end программист работает в постоянном взаимодействии с фронт-енд-разработчиком, получая от него информацию о мнении пользователей и внося в работу сайта соответствующие изменения.

Порог вхождения для работы в этой сфере выше, чем у front-end разработчика. Необходимо знать Ruby, MySQL, MongoDB, PostgreSQL, Python и .NET.

Зарплата back-end-программиста составляет от 60 до 200 тыс. рублей.

Читайте также

7 причин стать программистом

5. Gamedev (разработчик игр)

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

Программисты в gamedevе разрабатывают базовую механику игр. В их обязанности входит написание программного кода, создание игровых объектов и их характеристик, разработка искусственного интеллекта игры, разработка и модернизация игрового движка и др.

Какими навыками должен обладать gamedevе ?

  • Главным образом это основы: С++, C#, Java, OpenGL, DirectX, шейдерные языки.
  • Также желательно знать Objective-C и Java, обладать навыками компьютерного моделирования, знать закономерности игрового процесса и особенности игровых миров.
  • Не будет лишним изучение игровых движков (Unreal, CryEngine, Unity3D).
  • В случае если вы планируете разрабатывать браузерные игры, то пригодится знание HTML5 и JavaScript, а также сравнительно новой WebGL.

Заработок программиста, работающего в сфере разработки игр, может сильно разниться в зависимости от конкретной компании или проекта.

С чего начать карьеру в IT: ищем направление и выбираем способы обучения

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

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

Различные направления, с которых можно начать карьеру в IT

Программирование

Пожалуй, это одно из самых сложных направлений технической деятельности, особенно если нет базовых знаний и навыков. Кроме того, здесь важно уметь логически мыслить. И, тем не менее, языки программирования освоить все же можно, выбрав для себя наиболее подходящий.

С чего начать карьеру в IT в программировании? Например, писать программы на платформах Scratch, Kodu или Cargo-Bot, конструкторах с элементами игры, которые интересны и понятны даже детям. Затем можно переходить к языкам чуть посложнее (Python, JavaScript, С#). В изучении языков помогут инструкции и материалы, хранящиеся в общем доступе, а еще можно записаться на специальные обучающие курсы.

Узнай, какие ИТ — профессии
входят в ТОП-30 с доходом
от 210 000 ₽/мес
Павел Симонов
Исполнительный директор Geekbrains

Команда GeekBrains совместно с международными специалистами по развитию карьеры подготовили материалы, которые помогут вам начать путь к профессии мечты.

Подборка содержит только самые востребованные и высокооплачиваемые специальности и направления в IT-сфере. 86% наших учеников с помощью данных материалов определились с карьерной целью на ближайшее будущее!

Скачивайте и используйте уже сегодня:

Павел Симонов - исполнительный директор Geekbrains

Павел Симонов
Исполнительный директор Geekbrains

Топ-30 самых востребованных и высокооплачиваемых профессий 2023

Поможет разобраться в актуальной ситуации на рынке труда

Подборка 50+ бесплатных нейросетей для упрощения работы и увеличения заработка

Только проверенные нейросети с доступом из России и свободным использованием

ТОП-100 площадок для поиска работы от GeekBrains

Список проверенных ресурсов реальных вакансий с доходом от 210 000 ₽

Получить подборку бесплатно
Уже скачали 25965

Тестировщик

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

Тестирование проводится двумя способами: ручным (поиск ошибок в коде программы вручную) и автоматизированным (создание скриптов для выявления неточностей и различных дефектов).

Тестировщик должен быть внимательным к деталям, стремиться расширять кругозор знаний в области IT, обладать логическим мышлением.

Бизнес-аналитик

Бизнес-аналитик является посредником во взаимодействии заказчика и разработчика. Цель его работы – выяснение предпочтений клиента, их обработка, анализ и представление разработчику в структурированном виде для дальнейшей работы

Это направление – хороший старт для тех, кто не знает, с чего начать карьеру в IT, ведь здесь отсутствует необходимость прямой работы с программными продуктами. Главным требованием становится знание английского языка, потому как работа предполагает сотрудничество с представителями иностранных государств.

Такой специалист нужен компаниям, которые предоставляют услуги тестирования и обеспечения качества программного обеспечения (QA). Здесь важен высокий уровень владения техническим английским, улучшить знания можно на курсах.

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

Графический дизайнер

Любая IT-компания нуждается в услугах такого специалиста, потому как визуальное оформление продукта не менее важно, чем его содержание. Стать графическим дизайнером может человек, умеющий рисовать и работать с соответствующими программами.

Начинающим специалистам стоит обратить внимание на User experience – UX-дизайн интерфейса, с которым взаимодействуют пользователи.

Для вас подарок! В свободном доступе до 28.01 —>
Скачайте ТОП-10 нейросетей, которые помогут облегчить
вашу работу
Чтобы получить подарок, заполните информацию в открывшемся окне

Менеджер

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

Работа по специальности

В случае невозможности по каким-либо причинам воспользоваться вариантами, предложенными выше, стоит рассмотреть трудоустройство в IT-компании по другой имеющейся специальности. В частности, юристы могут работать над составлением гражданско-правовых договоров, договоров о неразглашении информации (NDA) с сотрудниками. Преподаватель английского языка часто требуется для обучения сотрудников. А еще можно найти вакансию технического копирайтера или консультанта.

Этапы построения карьеры в IT

  • Определиться с направлением

Это трудно при отсутствии опыта как такового, но можно выбрать деятельность аналогичную той, которую вы вели раньше. Допустим вы – специалист по продажам, почему бы не развивать себя в сфере IT-продаж? Или вы долгое время занимали должность руководителя проектов. В таком случае можно сменить квалификацию, став IT-менеджером.

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

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

На сервисе поиска работы Djinni существует возможность выставить фильтр по городу и требуемому опыту, указав искомую технологию, и сравнить статистику. Далее нужно просмотреть вакансии, предложенные на других сервисах (hh.ru, farpost.ru и пр). Их общее количество косвенно указывает на число вакансий для начинающих специалистов.

Дарим скидку от 60%
на курсы от GeekBrains до 28 января
Уже через 9 месяцев сможете устроиться на работу с доходом от 150 000 рублей

  • Ознакомиться с требованиями определенных навыков

Это важный момент, который некоторые просто упускают из виду.

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

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

Прежде чем начать карьеру в IT, следует пройти обучение, получив необходимую теоретическую базу знаний и некоторые практические навыки. Для абсолютных новичков предлагаются курсы, длительностью от 3 до 6 месяцев. Процесс обучения предполагает двухстороннюю связь с наставником и постоянное его сопровождение. Мы не рекомендуем проходить краткосрочный трехдневный курс, потому как желаемого эффекта он не даст.

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

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

Если вы на самом деле заинтересованы в том, чтобы научиться чему-либо, нужно использовать для этого все доступные способы и возможности.

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

С чего можно начать карьеру в IT:

  • Зарегистрироваться на бирже фриланса, искать первых заказчиков.
  • Оказывать помощь друзьям и знакомым, например, в создании сайтов.
  • Выполнять заказы, делегированные вам другими людьми за минимальную стоимость или даже бесплатно в обмен на подробный разбор ошибок и недочетов.
  • Принять участие в программе по трудоустройству, предлагаемой вашим учебным заведением.
  • Включиться в личный проект или стартап другого человека. Разумеется, здесь не ведется речь о масштабной прибыльной деятельности, но и требования другой стороны минимальны.
  • Записаться на курсы IT-компании, предлагающей трудоустройство после их прохождения.
  • Пройти практику (оплачиваемую либо нет).
  • Вести деятельность удаленно.
  • Устроиться на работу по специальности, близкой к желаемой, чтобы набраться опыта и в дальнейшем перейти на другую должность (например, с Manual QA в Automation).

Только до 1.02
Скачай подборку материалов, чтобы гарантированно найти работу в IT за 14 дней
Список документов:

ТОП-100 площадок для поиска работы от GeekBrains

20 профессий 2023 года, с доходом от 150 000 рублей

Чек-лист «Как успешно пройти собеседование»

Чтобы зарегистрироваться на бесплатный интенсив и получить в подарок подборку файлов от GeekBrains, заполните информацию в открывшемся окне

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

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

Правила составления резюме начинающему айтишнику

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

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

Именно эту информацию нужно продвигать на собеседовании, ведь потенциальному работодателю необходимо ясно понимать ваши стремления и видеть перспективы работы с вами.

В случае наличия у вас опыта в различных сферах и возможностей развиваться в нескольких направлениях, советуем составить отдельные резюме на разные вакансии.

Чего не стоит включать в резюме, если вы стремитесь начать карьеру в IT?

  • Информацию о своих хобби и увлечениях. Не стоит писать общие фразы, типа «стрессоустойчивый», «коммуникабельный» и т.п.
  • Сведения о продолжительной работе на фрилансе. У некоторых работодателей данный факт может вызвать определенные сомнения, если нужен сотрудник для работы в офисе на полный день.
  • Упоминание о работе одновременно в нескольких компаниях. Как правило, подобное вызывает вопрос: одинаково ли хорошо сотрудник выполнял свои обязанности и там, и там?
  • Рассказ о своих знаниях и навыках, не имеющих отношения к профилю.
  • Перечисления всего, что вам когда-либо приходилось делать. Помните, что «много» – это не показатель, делайте акцент именно на тех своих сильных сторонах, которые вы определили вначале.

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

И еще несколько рекомендаций:

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

Полезные рекомендации, которые помогут начать карьеру в IT

Навязанные обществом возрастные стереотипы нередко заставляют людей сомневаться в возможности перехода в IT, особенно если их карьера вполне успешна.

Ошибочным также станет ожидание быстрого результата. На практике, возраст IT- специалиста не имеет первостепенно важного значения. Потому как очень многие люди только годам к 30 определяют для себя то направление, в котором они хотели бы реализовываться дальше.

Как выбрать язык программирования и начать карьеру: советы от разработчика, занимающегося наймом

Хайп вокруг «войти в IT» привел к тому, что в разработчики и тестировщики потянулись не только студенты профильных вузов, но и люди из других профессий. Не будем сейчас обсуждать правильность подобного выбора в той или иной ситуации, а просто расспросим опытного человека в области разработки о том, как правильно подойти к выбору языка программирования и начать свой карьерный путь, раз вы на это решились или крепко задумались по этому поводу.

Этот пост — выжимка из моей беседы с Даниилом Пилипенко, создателем компании SymbioWay, занимающейся подбором и оценкой IT-специалистов для сторонних компаний и предоставляющей услуги аутстаффинга.

Даниил — профессиональный разработчик с 18-летним стажем. Начал свой путь с младшего программиста на Java. Через шесть лет стал руководителем отдела разработки, изучил PHP и JavaScript. В данный момент, кроме работы по подбору персонала, проводит карьерные консультации, выступает в качестве спикера на конференциях и вебинарах, преподает флагманский курс по Java в Skillbox.

Одно из последних выступлений Даниила, как раз посвященное выбору языка программирования, прошло при поддержке Leader-ID, что и послужило поводом для данного материала. Далее — слово Даниилу.

IT-рынок: какие изменения произошли, оценка текущей ситуации и ожидания в будущем

Если говорить про IT-рынок, то здесь интересно наблюдать за двумя показателями: количество резюме и количество вакансий. Обратившись за статистикой на HeadHunter, можно сказать, что начиная как минимум с первого квартала 2014 года спрос на разработчиков растет быстрее, чем предложение, и расстояние между двумя кривыми — то есть дефицит специалистов — постоянно увеличивается:

Весной 2020 года наблюдался «пандемийный спад», а затем резкий рост рынка с лета 2020 года по конец 2021-го. В декабре 2021-го спрос на разработчиков вырос почти в три раза, и количество вакансий в пике приблизилось к 86 тыс. по сравнению с примерно 32 тыс. в конце марта 2020 года.

Любые кризисы приводят к тому, что экономические пузыри лопаются. Ровно это и произошло со спросом на разработчиков этой весной. Отмечу, что это общемировой тренд и такая картинка наблюдается не только в России. В итоге количество вакансий вернулось к тому, каким бы оно было, если бы рост происходил обычным «допандемийным» темпом. Это хорошо видно на графике выше.

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

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

Тем не менее спрос на программистов по-прежнему превышает предложение, как и все последние 25 лет. Истинных профессионалов по всем самым востребованным специальностям сегодня все так же не хватает.

Что касается самих разработчиков, пожалуй, февраль 2022 года был самым напряженным и переломным моментом для них. Как мы знаем, после февраля (и затем в сентябре) из страны уехало большое количество IT-специалистов. Однако, по нашим данным, около 50% из них продолжают работать на российские компании. Ну и сейчас, в ноябре, некоторые специалисты по разным причинам снова начинают возвращаться из-за рубежа.

Реально ли сейчас начать карьеру и устроиться на позицию junior-разработчика?

Есть мнение, что в последнее время компании стали менее охотно нанимать junior-разработчиков. А в дальнейшем спрос на них и вовсе сойдет на нет, потому что программы сами будут писать программы. Но все это лишь слухи.

Во-первых, простые системы тоже надо кому-то разрабатывать. Взять, например, ту же Tilda, которая облегчает создание сайтов. Может показаться, что программист больше не нужен, ведь сайт можно собрать через конструктор. Но не стоит забывать, что кто-то разработал и продолжает улучшать и поддерживать саму Tilda.

Во-вторых, такие инструменты, как Tilda, имеют довольно ограниченный функционал: с его помощью мы можем легко сделать пару страничек, но какой-нибудь серьeзный продукт вроде «Яндекс Маркета» на нем не напишешь. Да и в будущем вряд ли кому-то удастся создать универсальную систему, которая будет писать любую другую систему без участия человека.

В-третьих, учитывая текущие реалии и массовый отъезд программистов уровня middle и senior, компаниям ничего не остается, как нанимать junior-разработчиков. Например, junior-разработчики, которых сейчас воспитывают в том же Skillbox, при грамотно составленном резюме, имея определенную базу и навыки, находят себе работу в течение месяца после окончания курса. Этот факт доказывает, что спрос на джунов по-прежнему высок.

Ну и в-четвертых, в каждом проекте есть задачи, которые просто не поручишь программистам уровня middle и senior, а для junior-специалистов они идеальны — просты, позволяют относительно легко войти в проект и успешно закрепляют базовые навыки.

Поэтому, если есть желание начать карьеру разработчика, — сейчас самое время.

С чего начать

Очевидный первый шаг — выбрать язык программирования и направление, которым вы хотите заниматься (об этом следующий раздел).

Второй — заняться практикой. Ощутить и почувствовать, что такое кодинг. Обзавестись минимальным арсеналом junior-разработчика (см. ниже).

Третий — найти работу применение своим знаниям и навыкам. Чтобы поддерживать и расширять экспертность в любом деле, необходимо постоянно практиковаться. Для этого недостаточно придумывать себе задачи «на покодить» или учиться на курсах. Важно как можно быстрее перейти на профессиональный уровень и найти вариант, где вы каждый день занимаетесь разработкой.

Что не рекомендуется делать на старте карьеры

Читать много книг. Некоторые книги сложны для восприятия и написаны тяжелым языком. В моей практике есть несколько негативных примеров старта карьеры с книг: такие люди иногда годами читают книги, но так и не написали ни единой строчки кода и, соответственно, пока не стали программистами.

Минимальный арсенал junior-разработчика
  • знание синтаксиса языка;
  • понимание принципов объектно-ориентированного программирования;
  • владение каким-либо основным для данного языка фреймворком (если речь про веб-разработку) или понимание того, как с точки зрения архитектуры создаются мобильные приложения (если речь про мобильную разработку);
  • знание языка запросов SQL (для backend-разработки);
  • понимание принципов клиент-серверного взаимодействия, базовое знание протокола HTTP и стандарта REST;
  • опыт работы с Git и командной строкой;
  • опыт командной работы (этот пункт очень желателен и существенно повышает шанс найти работу).

Как выбрать свое направление в программировании

В сфере программирования есть несколько ветвей. Первая, веб-разработка, — самое обширное направление во всем мире (по разным оценкам, более 50% всего программного обеспечения в мире — это именно веб-приложения). Веб-разработка подразделяется на направления frontend- и backend-разработки.

Вторая крупная ветвь — мобильная разработка. Другие ветви — разработка десктопных приложений, игр, встроенного и системного программного обеспечения, разработка для Data Science и другое.

Чтобы выбрать направление, можно для начала задаться вопросом, хотите ли вы работать с визуальной частью тех или иных приложений? Если да, то, имея в арсенале некоторые способности и интерес к данной области, можно начать покорять вершины frontend- или мобильной разработки.

Если же желания работать с визуальной частью нет, а хочется, наоборот, знать и понимать, как устроена серверная часть веб-приложений, как она взаимодействует с frontend’ом и с мобильными приложениями, то стоит рассмотреть для себя backend-разработку.

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

Как выбрать язык программирования

Выбор языка существенно зависит от того, какое направление в программировании вы выберете.

Возьмем, к примеру, веб-приложения и frontend-разработку. В этом примере выбор языка очевиден — это JavaScript и в качестве дополнения TypeScript.

Если же мы рассмотрим топ языков для backend-разработки, то увидим, что треть всех вакансий в РФ и, соответственно, первое место в топе уже многие годы принадлежит языку Java.

Второе место в топе и примерно 15% всех программистских вакансий отдано Python. В этом году чуть сдал свои позиции и занимает третье место язык PHP. Четвертое почетное место в топе у языка Go. И, кажется, он скоро сможет пробиться выше. Вот эта первая четверка языков закрывают около 75% рынка. А далее, на пятом месте? идет C#. Его доля на сегодняшний день около 10%. Спрос на С# с каждым годом снижается.

Теперь попробуем сравнить языки backend-разработки между собой. К примеру, Go и PHP — языки программирования, применяющиеся в основном для создания веб-сайтов и веб-приложений. Напротив, Java и Python — более универсальные языки, на них пишут практически всё, и выбор одного из них в качестве своего первого языка выглядит очень логично.

Если задаться вопросом, насколько каждый из них подходит для enterprise-разработки, то Java будет являться несомненным лидером. Все банковские и платежные системы, Госуслуги, «Яндекс Маркет», «Яндекс Музыка» в значительной мере написаны на Java.

Вторым критерием для сравнения Java и Python является порог вхождения. И тут уже побеждает Python.

Давайте посмотрим, как выглядит вывод в консоль традиционного «Hello, world!» на двух языках.

Действительно, на первых этапах Python кажется проще для изучения (пример кода нам это доказывает), но, изучив Java, в дальнейшем можно легко переходить практически на любой другой язык: Kotlin, PHP, С# и тот же Python. Если же вначале изучить Python, то с него «прыгнуть» куда-то еще будет немного сложнее.

Третий критерий сравнения — спрос. Если мы посмотрим рынок РФ, то спрос на Java практически в два раза превышает спрос на Python. Если же посмотреть на мировой рынок, то все будет наоборот — Python сегодня в мировых лидерах. Например, такую активно развивающуюся сферу, как Data Science, язык Python оккупировал более чем на 90%.

Стоит сказать про языки Kotlin и Swift, которые практически полностью заняли собой мобильную разработку на Android и iOS.

Чтобы определиться, нравится ли человеку выбранный язык программирования, необходимо его «попробовать» — решить на нем небольшую практическую задачу. К примеру, если выбор пал на Kotlin, значит, нужно изучить его основы и попробовать написать свое первое, пусть и очень маленькое, мобильное приложение под Android.

Самым правильным вариантом для старта карьеры является «начать пробовать» и, собственно, начать писать код. И не очень важно, на каком именно языке. Главное — начать.

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

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

Есть еще одна важная рекомендация: если вы хотите стать программистом, не стоит идти «в обход» — например через верстку, тестирование или DevOps. Есть риск потерять много времени, занимаясь нелюбимым делом. Даже если вход в разработку видится вам сложным, не стоит искать другие пути. Все трудности будут вам по плечу, если у вас будет интерес. И тяжeлый вход в самое желанное направление будет гораздо эффективнее с точки зрения затрат времени и ресурсов, чем любой «обходной путь».

В мире IT есть тенденция часто менять работу. Почему? Потому что спрос на IT-специалистов значительно превышает предложение, работу найти легко и можно непрерывно улучшать свои условия труда. Но часто люди меняют работу не из желания профессионально расти, а из-за возникновения каких-либо трудностей: сотрудник не может решить поставленную задачу, накапливается большой объем нерешенных проблем, ему не хватает квалификации или опыта, он не может организовать свою работу, и тогда он просто убегает от трудностей, меняя место. А ведь профессионализм человека в любой сфере определяется именно тем, как он умеет преодолевать трудности.

Чтобы стать профессионалом, нужно получить опыт и преодолеть как можно больше трудностей.

С чего начать изучение языка программирования

Начинать изучение любого языка нужно с синтаксиса и с практики. Это как обучение вождению: можно изучить всю теорию, все правила, но пока не сядешь за руль, водить не научишься.

Итогом обучения должна стать в идеале разработка какого-то пусть и небольшого, но полезного проекта. Например, в Skillbox на курсе по Java мы предлагаем по итогам обучения разработать поисковый движок. На подобных задачах можно полноценно ощутить, что такое создание систем с нуля на MVC-фреймворке, закрепить навыки работы с базой данных и языком запросов SQL, попробовать работу с файлами, научиться получать и обрабатывать HTTP-запросы и формировать HTTP-ответы в соответствии со стандартом REST. Без этих базовых знаний об успешном трудоустройстве можно даже не мечтать. Мало знать только синтаксис языка и уметь писать голый код, нужно понимать, как написать код так, чтобы получилась рабочая система или мало-мальски готовый продукт.

Можно ли научиться программировать на курсах?

Курсы и школы бывают разные. Есть школы, у которых все курсы хорошие, а есть школы, где можно выделить только пару достойных курсов. Любой курс разрабатывает специалист (или команда специалистов), поэтому его успех зависит от методики и профессионализма этого конкретного специалиста или команды.

Можно попробовать отыскать для себя хороший курс по программированию по следующем критериям:

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

Реализация командного проекта примерно на 50% повышает шанс на трудоустройство выпускников: работа под руководством тимлида, где студенты познают все горести и радости командной работы, учатся взаимодействовать, соблюдать дедлайны и участвовать в таких активностях, как код-ревью, груминг и дейли-митинги.

К сожалению, все чаще можно наблюдать проблему с трудоустройством у выпускников курсов по программированию, которые не доучились или обучались на слабом курсе. Был тут интересный случай: однажды, ко мне на карьерную консультацию пришел мужчина 57 лет, который окончил курс по frontend-разработке и не мог устроиться на работу. Он был уверен, что вся его проблема кроется в возрасте. Но на консультации выяснилось, что он не может написать ни одной строчки кода и просто-напросто не имел практики, изучив только термины и теорию. Поэтому совет для него звучал так: сначала нужно изучить основы (я дал ему конкретный перечень, что и где можно быстро и бесплатно изучить), разместить резюме, устроиться на работу и только потом уже вспоминать, сколько ему лет. Кстати, карьера этого человека сложилась отлично: сначала он устроился на работу верстальщиком и в течение года вырос до младшего frontend-разработчика.

Правильный курс может стать отличной базой для старта карьеры. Остается только вопрос мотивации и интереса самого человека. Если человек занимается чем-то вовлеченно, то он постоянно думает о своем деле и непрерывно практикуется, например на pet-проекте. Комбинация из курса и вовлеченности в дело помогает ему найти работу и стать настоящим профессионалом.

Сертификат после прохождения курса — это просто бумажка, которую можно положить на полку. Но интерес к делу не получится оставить пылиться на полке. Поэтому нельзя однозначно ответить на вопрос, можно ли научиться программировать на курсах. Кто-то научится, а кто-то — нет.

Hard и soft skills на старте карьеры: что важнее

С учетом сегодняшнего дефицита программистов на рынке, hard skills на старте более весомы. Важно хорошо уметь писать код, решать задачи. Существует мнение, что в первую очередь человек должен быть разумный, а дальше он всему научится. Моe персональное мнение состоит в том, что soft skills можно прокачать в процессе работы. А вот то, насколько человек технически подкован, на старте карьеры очень важно, и обучать его основам программирования не всегда есть ресурсы.

На рынке мнение о том, что важнее — hard или soft skills, разделяется ровно пополам. На нескольких своих последних выступлениях я проводил опрос, и эта статистика подтверждается: примерно половине руководителей важнее soft skills, а другой половине — hard skills.

Чем junior, middle и senior отличаются друг от друга?

На эту тему есть две шутки. Первая: junior еще не может работать самостоятельно, а senior — уже не может. Вторая: junior приходит к своему руководителю с вопросами, а middle — с ответами. Выводы из этих шуток следующие: основное, что отличает программистов разных грейдов друг от друга, это уровень их самостоятельности. Безусловно, уровень самостоятельности — это комплексный показатель, отражающий одновременно и hard skills, и soft skills.

Тестирование кода: важный навык хорошего разработчика

Важный навык хорошего разработчика состоит в умении тестировать код (свой или чужой) и находить там ошибки. Поэтому разработчик должен уметь писать unit- и e2e-тесты. По этому вопросу есть одно наблюдение: получается намного эффективнее, если тестовый и основной код пишут разные разработчики. Так программа гораздо быстрее вычищается от багов, улучшается тестовое покрытие и кодовая база в целом.

Методика выявления настоящего профессионала в программировании

Чем каждый день должен заниматься программист? Писать код. Поэтому, чтобы определить настоящего программиста, нужно посмотреть на то, как он работает.

Идеальное собеседование — это один рабочий день, когда мы просто сажаем человека на текущие задачи и в конце дня смотрим, как он с ними справился. Но обычно такой возможности нет, и тогда на собеседовании мы устраиваем live coding, по которому становится понятны опыт, грейд, наличие или отсутствие интереса и образ мышления соискателя.

Таким образом первая часть методики определения настоящего профессионала состоит в небольшой задаче на написание кода. Если код написан чисто, быстро, грамотно разбит на функции и методы, переменные названы понятно и во время выполнения задачи соискатель вошел в состояние потока (включился и полностью погрузился в задачу), такого человека можно брать на работу.

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

Итоги

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

  • программирование
  • войти в программирование с нуля

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *