«Им проще общаться с компьютером, чем с другими людьми»: что нужно знать о разработчиках

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

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

Я ответила на основные вопросы соискателей, предпринимателей и тех, кто только начинает строить карьеру в ИТ.

Что должен уметь программист, чтобы получить работу в хорошей компании в 2019 году?

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

Во-первых, это будет бестолковая трата денег.

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

HR индивидуально подбирает кандидата под вакансии, и программисты тут — не исключение.

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

Нижняя граница у наc:

  • Умение алгоритмически мыслить.
  • Знание основ разработки.
  • Непрерывное самообразование.

Без этого мы точно не предложим кандидату работу.

Все три направления равноценно важны:

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

Дальше идут знание языков и технологий, опыт и навыки.

Нас не интересует пол и любые другие характеристики кандидата. В «1С-Битрикс» девушки прекрасно работают в отделах R&D, документации, безопасности, администрирования. В ИТ нет места дискриминации, всё решают компетенции.

Нужно ли знать разработчику математику? На каком уровне? Можно ли научиться кодить, если плохо дружишь с цифрами?

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

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

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

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

  • Любознательность. Хорошо, когда программист не просто использует какой-то метод фреймворка, а выясняет, как он работает. Не просто знает стандартные методы защиты от SQL injection, а разбирается в векторах атаки. Если слышит о новой технологии, то пытается понять, как она работает.
  • Быстрая адаптация к новым знаниям и технологиям. ИТ-отрасль быстро развивается. В ней постоянно появляется что-то новое: возможности в языках программирования, технологии, инструменты. Разработчик должен обладать навыком быстро схватывать новое и уметь подружить его со старым.
  • Умение сотрудничать. Многим программистам нелегко общаться с другими людьми. Но без этого не получится работать в команде. Поэтому важно, чтобы разработчик умел общаться, доносить свои мысли и слушать чужое мнение.
  • Профессиональная честность. Важно, чтобы айтишник умел признавать свои ошибки, реалистично и критично смотрел на разные вещи. Программирование — это прикладное искусство. А в искусстве, в отличие от математики, не всегда есть место строгому доказательству. Поэтому в разработке много технологий и подходов, которые часто противоречат друг другу. Любую задачу можно решить разными способами. И основная задача разработчика — выбрать наиболее адекватный метод.
  • Скрупулёзность. Главная проблема программирования — компьютер делает не то, что хочет человек, а то, что человек «сказал» компьютеру делать. Поэтому для разработчика очень важны точность и аккуратность. К тому же подход «и так сойдёт» даже при сиюминутной выгоде в дальнейшем оборачивается гораздо большими потерями.

Чем мотивировать айтишников, кроме денег?

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

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

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

Как меняется профессия разработчика? Что изменилось за последние три года?

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

Сегодня на цифровизацию экономики Россия планирует потратить 2 трлн рублей. Почти любая компания становится ИТ-компанией. На рынке четырёхкратная нехватка программистов.

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

Как правильно ставить задачи и управлять разработчиками? В чём их психологические отличия от обычных менеджеров?

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

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

Нужно ли высшее образование разработчику в 2019 году? Зачем?

К нам регулярно приходят кандидаты без высшего образования, которые заявляют: «Вышка ничего не даёт, это бессмысленная трата времени». Часто после интервью хочется сказать: «Да… зря ты не учился». Высшее образование учит учиться.

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

Правда ли, что большинство программистов — интроверты, и с ними тяжело общаться?

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

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

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

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

В этом случае обеим сторонам лучше попробовать переформулировать ТЗ.

Какой карьерный рост есть у программистов?

Если говорить именно о карьере разработчика, то прямой путь развития: Junior — Middle — Senior/Lead.

Junior решает сравнительно простые задачи под присмотром. Для этого уровня самое главное — желание учиться и развиваться.

Middle работает над довольно сложными проектами под минимальным контролем.

Senior — опытный разработчик, который самостоятельно реализовывает практически любые решения.

Lead — это менеджерский навык, умение вести за собой коллег. Часто большие ИТ-отделы делятся на команды из 4–10 человек. Каждой проектной группой управляет Lead, который отчитывается о результате своему руководителю.

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

А успешные Lead могут претендовать на должности руководителей.

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

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

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

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

К тому же хорошая горизонтальная карьера автоматом приводит к вертикальной карьере.

Поэтому начинающим разработчикам надо приложить все усилия к развитию «по горизонтали».

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

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

Если хотите задать мне вопрос — напишите на [email protected]

0
90 комментариев
Написать комментарий...
Дмитрий Иванов

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

Ответить
Развернуть ветку
Sam Beckett

Почему именно программистам? Даешь опцион каждому машинисту метро, каждому дворнику во дворе!

Ответить
Развернуть ветку
Дмитрий Иванов

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

Ответить
Развернуть ветку
Sam Beckett

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

Ответить
Развернуть ветку
Дмитрий Иванов

Я не против. Более того сейчас экономика совершает фазовый переход и скоро все эти машинисты останутся без работы, возможно не в РФ, но в большинстве стран это точно. Их заменят беспилотные составы. Насколько я понимаю в Японии такое существует уже довольно продолжительное время, а в США уже есть беспилотные фуры. Мир совершает скачёк в результате которого миллионы останутся без работы.

Ответить
Развернуть ветку
Sam Beckett

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

Ответить
Развернуть ветку
Дмитрий Иванов

Опцион не исчезает после увольнения. Человек помог построить и развить компанию. Ведь если бы это было не так его бы не нанимали. Вполне справедливо платить ему часть прибыли.

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

Ответить
Развернуть ветку
87 комментариев
Раскрывать всегда