Карьера разработчика для гуманитариев: реально ли это? С чего начать? Как там вообще?

Карьера разработчика для гуманитариев: реально ли это? С чего начать? Как там вообще?

learn-hard

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

В предыдущих выпусках:

Рекламное. Этот цикл спонсирует Яндекс Практикум: это центр ИТ-профессий разного профиля. Сюда приходят, чтобы выбрать и освоить новые востребованные профессии, защититься от вытеснения нейросетями и в каком-то смысле даже изменить жизнь. Почти все курсы Практикума можно попробовать бесплатно, а сначала можно пройти профориентацию, чтобы выбрать себе подходящую специальность. 

Вот основные вопросы: 

Чем занимаются разработчики

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

  • Будильник — контроллер в электронном устройстве или приложение в телефоне
  • Компьютер автомобиля — включить музыку, построить маршрут, сигнализация
  • Касса в супермаркете и киоск самообслуживания — там внутри написанный кем-то софт
  • Учет товаров на складе — чтобы вовремя закупать недостающее и заполнять полки
  • Системы диспетчеризации курьеров и таксистов — чтобы приезжала ближайшая машина, и цена поездки была известна заранее
  • Приложения и сайты маркетплейсов — чтобы вам показывали нужные товары, вы видели их остатки, вам считались скидки, вы могли выбрать ближайший пункт выдачи
  • Платежные технологии — оплата картой, QR-кодами, через мобильные банки
  • Контроллеры в кофемашинах, вендинговых аппаратах
  • Программы, в которых мы работаем — текстовые редакторы, почтовые клиенты, мессенджеры, стриминги
  • Программы, на которых работает промышленность: контроль станков, контроль производственных линий, автоматические системы контроля качества
  • Программы, благодаря которым мы отдыхаем — кинотеатры, игры, соцсети
  • Программы в самолетах, поездах и другом транспорте; автопилоты и системы безопасности

Проще сказать, что всё, кроме выращивания гусей на ферме, использует какие-то программы. И ни одна программа не появляется сама собой — кто-то ее должен написать. Вот этим и занимаются разработчики. 

Карьера разработчика для гуманитариев: реально ли это? С чего начать? Как там вообще?
Goose on a farm, sunny day, Cyberpunk 2077. Stable Diffusion 1.5

В чем проблема писать программы?

Да нет прямо проблем. Есть некоторые трудности: 

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

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

Большой объем. Программы должны уметь множество вещей одновременно, и чтобы всё между собой хорошо стыковалось. Нужно придумывать много инструкций, писать много алгоритмов, прилаживать друг к другу много библиотек. 

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

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

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

Карьера разработчика для гуманитариев: реально ли это? С чего начать? Как там вообще?
Goose with a laptop near a lake on a sunny day. Stable Diffusion 1.5

Нужно ли иметь техническое образование?

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

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

Вот что действительно надо понимать: 

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

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

Нужно ли знать английский?

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

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

Карьера разработчика для гуманитариев: реально ли это? С чего начать? Как там вообще?
William Shakespeare holding a goose. Stable Diffusion 1.5

Можно ли освоить программирование с нуля, если я гуманитарий?

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

Вот основные курсы: 

  • Python с нуля — это самый модный сейчас универсальный язык программирования
  • Веб-разработчик с нуля — специализируется на программах, которые работают через интернет и выполняются в браузере
  • Разработчик C++ — специализируется на программах, которые исполняются локально на компьютере; также может писать игры
  • Java-разработчик — специализируется на бизнес-приложениях, которые делаются на платформе Java (ее очень любят крупные компании)
  • iOS-разработчик и Android-разработчик — пишут приложения для смартфонов на родных для этих смартфонов языках

Если хотите что-то выбрать, но не знаете что, можно сначала пройти профориентацию.

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

Одно дело — научиться. А могу ли я работать программистом, если я гуманитарий?

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

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

Какие навыки разработчиков больше всего ценят работодатели? Какие языки и технологии?

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

А вот о чем работодатели сами говорят: 

  • Надежность. Нужны ответственные и исполнительные люди, на которых можно положиться. Не безумные гении, а именно ровные спокойные люди, которые могут работать предсказуемо. Пообещал — сделал. Запланировал — исполнил. 
  • Общение. Необязательно быть веселым экстравертом. Но нужно уметь выслушать задачу, уточнить ее, задать вопросы, адекватно среагировать на обратную связь, поговорить с менеджером и заказчиком. Разработчик — это уже давно не угрюмый злой гений в растянутом свитере. Нужно общаться с людьми и участвовать в созвонах. 
  • Интерес. Из-за хорошего пиара в ИТ пришло немало людей, которых интересует только зарплата. Человек выучился на веб-разработчика и сразу требует триста тысяч, вынь да положь. С такими людьми не очень интересно работать. Лучше с теми, кто любит технологии, машины, процессы и автоматизацию. Обычно такие люди хорошо растут в профессии и им есть за что платить триста тысяч. 
Карьера разработчика для гуманитариев: реально ли это? С чего начать? Как там вообще?
Atlas in the form of a goose supporting a building, architectural photo. Stable Diffusion 1.5

Какая карьера у разработчика? Где работать? Сколько платят?

Карьера разработчика выглядит так (в терминах самих разработчиков): 

  1. Junior — младший разработчик, пишет вспомогательные части программ, помогает остальным. 
  2. Middle — основной разработчик.
  3. Team Lead — наполовину разработчик, наполовину менеджер. Управляет командой разработчиков, понимает специфику их работы, но больше управляет, чем пишет код. 
  4. Senior — старший, занимается архитектурой и «большой картинкой» приложения.
  5. Тут могут быть какие-то уровни управления, в зависимости от компании.
  6. CTO, Chief Technical Officer — технический директор предприятия. Обычно сюда доходят конкретные технари. 

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

По зарплатам ситуация такая. Джуниорам платят от 50-80 тысяч; средним — 150—250. Дальше зарплаты могут улетать в космос, но для этого и навыки должны быть ого-го. 

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

Если мне это не подойдет?

Из разработки есть несколько параллельных выходов в другие специальности: 

  • Нейросети, аналитика и биг дата — там программирование нужно, чтобы обрабатывать данные и автоматизировать процессы.
  • Менеджмент — стать менеджером продукта или проекта, чтобы компетентно управлять другими разработчиками.
  • Дизайн — там программирование помогает вам понимать ограничения систем.
  • Рекрутинг — кто-то должен нанимать новых разработчиков. Об этом скоро расскажем.
Карьера разработчика для гуманитариев: реально ли это? С чего начать? Как там вообще?
Geese flying away on a sunny day, Cyberpunk 2077. Stable Diffusion 1.5

Как там вообще?

Слушайте, это нормальная работа для тех, кому такое интересно. 

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

Если вы просто хотите зарплату 300 тысяч, не важно, за что — такого в ИТ-сфере нет. 300 тысяч платят за навыки и знания, которые можно приобрести только благодаря личному интересу. 

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

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

Финальный аккорд

Пройдемте по ссылочке:

https://practicum.yandex.ru 🗡️

arrow-scrollTop arrow-scrollTop

Текст:
Максим Ильяхов

Редактор:
Кинжал

Художник:
Даша Захарова

Вёрстка:
Кирилл Климентьев

Корректор:
Ира Михеева

bblock-icon
«Кинжал» — это журнал «Яндекс Практикума»

А «Практикум» — это центр цифровых профессий. Сюда люди приходят без опыта в мире ИТ, а выходят готовыми ИТ-специалистами: от программистов и тестировщиков до дизайнеров и менеджеров.

В ИТ могут работать и технари, и гуманитарии. Старт — бесплатно. Выбирайте, какая профессия вам по душе.

Начать бесплатно
«Кинжал» — это журнал «Яндекс Практикума»
Еще по теме: