Работа в it без диплома программиста: миф или реальность?
Содержание:
Флешбэк: переезд из Петербурга в Москву без подготовки
В Москву я переехал еще шесть лет назад: просто собрал сумку с вещами, взял 8 тысяч рублей и приехал в никуда. Мне повезло: в первый же день устроился в ночной клуб. Сначала жил в общежитии со строителями, потом в хостеле, а дальше стал снимать комнату. Трудно, конечно, когда нет стабильности, но сейчас, благодаря программированию, у меня хорошая зарплата, я снимаю квартиру и хорошо себя чувствую.
Для меня практически нет разницы между Питером и Москвой. Просто Питер уже надоел, потому что я там почти всю жизнь прожил.
Я не сильно большой патриот и всегда хотел переехать за границу. Собираюсь в следующем году наконец-то осуществить эту мечту, поэтому в Москве тоже не останусь.
Свое первое приложение я разработал за месяц
Короче говоря, приложение я сделал буквально за месяц. Самыми полезными источниками знаний стали Developer.android.com и все тот же Stackoverflow.com. Самое интересное, что рутинный процесс выкладывания приложения в Google Play занял целых два месяца. Хотя, может быть, все продолжалось так долго, потому что после разработки мой запал немного подостыл. А немного позже я разработал веб-версию приложения, прочитав книгу Beginning Java EE 7.
Вдобавок я не хочу ни в коем случае умалять значение университетского образования и говорить: «Зачем все это нужно? Вот, посмотрите, все получилось и так». Нужно. Университет на самом деле дает очень много и, может, самое главное – воспитывает привычку учиться.
И все же: программировать можно научиться самому. Теперь я это точно знаю.
Материалы по теме:
Что почитать?
Онлайн-медиа — здесь обсуждаются нишевые события и более узкие темы.
- Google Developers — надежный первоисточник, из которого можно узнавать актуальные новости о продуктах компании.
- I Programmer — портал для программистов. Новости обо всех направлениях от UX до робототехники и всех языках программирования.
- Smashing Magazine — статьи о веб-дизайне: разбор кода, свежие кейсы, советы по трудоустройству и общению с клиентами.
- Хабр — универсальный русскоязычный ресурс, где можно найти гайды, обсуждения, код-ревью и кейсы от разработчиков разных компаний от IT-гигантов до небольших digital-агентств.
- Вастрик — авторский инди-блог про IT и выживание в мире технологий. Тексты про машинное обучение, блокчейн, VR, вычислительную фотографию, машинный перевод и многое другое.
- For Web — блог в Twitter с полезными материалами для фронтендеров: свежие статьи, доклады и инструменты от сибирского разработчика Андрея Романова.
Искать решение своей проблемы и задавать вопросы стоит на англоязычных форумах, как специализированных, так и не очень. Есть два популярных варианта:
- Reddit — популярный форум на все темы подряд, на котором часто сидят опытные разработчики, выкладывают свои кейсы и комментируют другие публикации. Найти их можно по тегу «programming».
- Stack Overflow — закрытый клуб для программистов без рецептов и котиков. Здесь можно запросить у опытных коллег code review, комментировать публикации и давать им оценку.
- CyberForum — форум программистов, системных администраторов, где помогают в решении задач по программированию.
- Game Dev — форум, на котором разбирают создание игр и все, что с ним связано.
Путь велосипедиста
Я знаю, что есть 1С-Битрикс, какие-то готовые библиотеки типа vuetify. Но мне интересно развиваться и делать свое. Тем более, когда все сделано и поддерживается тобой, не нужно долго изучать документацию, вникать в чужой код — берешь готовое и кастомизируешь.
Еще я столкнулся с такой проблемой: всем заказчикам хочется иметь админку для сайта. А делать ее тяжелее и дольше, чем сам сайт. Поэтому я решил разработать единую систему, которую выложу на свой домен, чтобы любой заказчик мог зайти туда под своим логином и паролем и управлять данными своего сайта: товарами, заказами, заявками.
Сделал это на основе Vue. Клиентская часть реализована как SPA, а для серверной части самой админки и серверных частей сайтов заказчиков использую Laravel.
![]()
Работаю над этим проектом уже около трех месяцев, и он близок к завершению: получается действительно круто. Главное — это помогло быстрее изучить Vue на хорошем уровне. А вот Laravel еще предстоит подтянуть.
Базовые требования к профессионалу
- Критическое мышление — умение выделять главное в требованиях, подходить к своему и чужому коду с точки зрения постоянной оптимизации и улучшения; навыки поиска лучших путей решения задач.
- Ориентированность на работу с деталями — в программировании не бывает мелочей. Даже если вы не написали ни строчки кода, вы наверняка слышали шутки про то, как отступ или потерянная точка с запятой отнимают часы в поисках бага и причин ошибок при компиляции. Невнимательный программист — нонсенс.
- Сосредоточенность, усилие, терпение — нередко приходится писать большие фрагменты кода, глубоко погружаться в поиск решения задачи. Любой отвлекающий момент растянет эти процессы надолго, поэтому программист должен иметь явно выраженный навык «свинцовой задницы», позволяющей дотошно разобраться в проблеме.
- Склонность к переработкам — вас сейчас возмутит этот пункт, особенно если вы выпускник или студент. Как так, переработка?! Только платно, по ТК РФ и вообще! Но нет, поработав немного, особенно на удалёнке, вы заметите, что с радостью отдаёте работе гораздо больше часов жизни, чем ей положено. Кстати, не замечал, чтобы кто-то активно боролся с этим явлением. Например, я пишу эту статью, на моих часах 00:09, а впереди ещё много текста и размышлений + основная работа 😉
- Навыки активного слушания и общения — вам придётся понимать, что вам хочет объяснить внешний или внутренний заказчик. Да, иногда их ТЗ звучат как описания товаров с Алиэкспресс, и вам придётся вытягивать детали в процессе тесного диалога и длительного обсуждения.
- Умение работать в команде — программист никогда не работает один и нужно уметь вписаться как в команду, так и в правила управления разработкой, методологии и code style вашей компании.
- Потребность в самообучении — именно потребность. Вы должны непрерывно и осознанно изучать новые фреймворки, библиотеки, SDK, API, языки программирования и прочие инструкции и материалы. Остановитесь — через 6-12 месяцев отстанете от поезда.
- Ответственность — программист всегда отвечает за качество кода, который он создал, за работу программы, за её стабильность и быстродействие. Если вы склонны валить вину на тестировщика, заказчика или коллегу-разработчика, вам лучше пойти в менеджеры проекта (очень злая шутка, простите). А если серьёзно, программист отвечает за программу не меньше, чем хирург за операцию или строитель за мост или здание.
Экзамены
На курсах можно освоить профессию программиста с нуля. Тебе не нужна техническая база или специальное образование. Это особенно удобно тем, что пройти курсы и стать программистом можно в любом возрасте. Бонусом является также то, что нет вступительного теста или экзамена.
Конкус в белорусские университеты продолжает расти. Для поступления в университет тебе потребуется высокий балл аттестата и очень хорошие результаты ЦТ. Например, на факультет прикладной математики и информатики БГУ проходные баллы за 2019 год варьировались от 328 из 400 (прикладная математика и экономическая кибернетика) до 364 (прикладная информатика) на бюджет и от 231 (прикладная математика и экономическая кибернетика) до 307 (информатика) на платное отделение. А в БГУИР от 296 («Электронные и информационно-управляющие системы физических установок») до 364 («Информационные системы и технологии (в игровой индустрии)») на бюджет от 205 («Экономика электронного бизнеса») до 296 («Информационные системы и технологии (в игровой индустрии)») на платном.
Стала программистом в 29 лет без технического образования
Без диплома: где получать знания и искать работу?
Вышесказанное заставляет задуматься о рисках и перспективах. И если вы решаете строить карьеру без обучения в
ВУЗе, то вопрос образования становится только вашей заботой. Никто не будет принуждать посещать пары,
звонить из деканата и предупреждать о возможном отчислении
Таким образом, понадобится такое важное
качество, как самоорганизация
Основное достоинство свободного обучения заключается в возможности выбора тематических курсов, максимально
соответствующих интересам. Источники знаний могут быть платными и бесплатными: лекции в режиме онлайн,
видеокурсы, учебная литература, профильные обучающие центры. Преимущество этого способа получения
знаний — в возможности приобрести именно практические навыки.
В процессе поиска работы при отсутствии диплома вам необходимы портфолио и опыт. Главная задача на
собеседовании — отлично зарекомендовать себя именно с позиции умений. Предложите выполнить тестовое
задание, покажите свое портфолио, расскажите об опыте работы. После этого кандидат с дипломом, но без такого
практического багажа окажется менее интересным для работодателя.
Далее компания может предложить вам пройти специализированные тренинги, которые и станут дипломом для отдела
HR данной организации.
Как стать программистом, с чего начать, основа обучения
Выбор направления разработки и языка программирования
Если вы твердо решили стать программистом, важным шагом будет выбор актуальной технологии. Выучить один язык программирования и за счет этого обеспечить себя работой на несколько десятков лет, скорее всего не получится. Оцените, насколько динамично меняется популярность технологий:

Изучать следует не один язык программирования, а ряд смежных технологий, которые предусматривают его использование.
Приводим актуальные направления, которые будут популярны как минимум десятилетие:
Получение образования: выбор школы и университета
Стать программистом с нуля самостоятельно можно, как и выучить английский. Но гораздо эффективнее иметь наставника, четко разработанный план занятий и возможность получения консультаций. Разумным вариантом будет выбрать школу или университет. В эру развития интернет-технологий можно ограничиться дистанционным образованием, которое предполагает консультации, а не представляет собой архив видеозаписей или книг.
При выборе популярных курсов программирования следует отдавать предпочтение именно популярным и авторитетным онлайн-школам, а не частным специалистам, квалификация которых может вызывать вопросы:
Качественные курсы по разным направлениям предлагает учебный центр «Специалист.ru» при МГТУ им. Н. Баумана. Здесь можно изучить Kotlin, Golang, стать экспертом в разработке VR-AR, изучить геймдизайн, познакомиться с интернетом вещей.
Skillbox — один из лучших онлайн-университетов востребованных профессий. Направления — программирование, дизайн, маркетинг, управление. Компания предлагает обучение, а после помогает устроиться на работу программистом в одну из известных компаний: Альфа-Банк, Мегафон, Яндекс, Сбербанк, МТС и другие
С помощью Skillbox вы можете стать веб-дизайнером, интернет-маркетологом, графическим дизайнером, UX-дизайнером, Java-разработчиком, SEO-специалистом, руководителем digital-проектов.
Стоит обратить внимание и на веб-сайт Udemy.com, который предлагает самый большой выбор онлайн-курсов в мире. Введите в поисковую строку слово «программирование», и сервис сам предложит самые популярные поисковые запросы и востребованные направления обучения:

Развитие своих профессиональных навыков
- «Чтобы оставаться на месте, надо бежать» — в современном мире эта фраза характеризует многие сферы деятельности и лучшим образом подходит для профессионального кредо программиста. Учиться и развиваться стоит не только для того, чтобы повысить свою привлекательность на рынке труда, но и чтобы банально не стать невостребованным.
- Сколько времени нужно чтобы стать программистом? Вы должны были слышать о правиле 10 тысяч часов авторства Малкольма Гладуэлла, согласно которому для достижения уровня настоящего мастера (в нашем случае — чтобы войти в 1% лучших программистов) требуется потратить на изучение определенного навыка в общей сложности 10 тысяч часов. Это правило не работает в сфере IT. Намного меньше, в отдельных случаях меньше года, но если вы перестанете изучать новые технологии, через 5 лет ваши карьерные перспективы будут достаточно туманными. В сфере IT учиться придется всегда!
- Участвуйте в сообществах, чатах, форумах, конференциях. Это бесплатно, познавательно и интересно. Крупными русскоязычными сообществами для программистов являются Habr.com, Киберфорум и другие. Если профессионально развиваетесь в определенной сфере, вам могут быть полезны тематические сообщества — такие как форум программистов Java, где можно попросить совета, помощи, найти друзей, работу Android разработчиком, работу программистом Java.
- Читайте специализированную литературу. Казалось бы, книги — устаревший способ получения информации, но нет, принципы программирования неизменны уже много лет. Программисту любого уровня можно рекомендовать чтение литературы об архитектуре, организации кода, паттернам проектирования, ООП. Уже более 25 лет не может потерять популярности легендарное издание Gang of Four: Design Patterns.
- Пишите код не только на заказ, но и для своих проектов. Они станут важным элементом вашего портфолио, так как свидетельствуют об инициативности. Американские работодатели очень лояльно относятся к соискателям, у которых есть тематический блог или YouTube-канал на английском языке о своих разработках.
Но чем конкретно занимаются программисты?
- Разработка мобильных приложений — одна из топовых специальностей в программировании, в которой ежедневно открываются сотни вакансий. Всего есть три вида мобильной разработки:
- iOS-разработка подразумевает создание приложений для iPhone. Работа с этой системой требует наличия MacBook или компьютера Mac, поэтому новичкам придется вложить на старте профессии от 100 000 рублей.
- Android-разработка имеет низкий порог вхождения — для старта подойдет любой ноутбук на Windows. Выбор устройств для разработки гораздо шире: флагманские, средние и бюджетные линейки Samsung, Xiaomi, Honor и еще десятка производителей.
- Кроссплатформенная разработка для двух операционных систем одновременно.
Обычно для разных типов систем крупные компании нанимают двух разных разработчиков, но иногда ищут специалистов-универсалов.
Веб-разработка
- Frontend — программирование видимой части сервиса, с которой пользователь взаимодействует в браузере. Сюда входят, например, внешний вид сайта, выпадающее меню, взаимодействие с кнопками, формы обратной связи и многое другое.
- Backend — работа с внутренней частью сайта или веб-приложения, невидимой для пользователя. Backend-разработчики отвечают за то, чтобы информация после заполнения формы на сайте попадала в базу данных, а при необходимости данные быстро подгружались из базы и передавались на фронтенд, видимую часть сайта. Например, когда вы просматриваете новости, код, написанный на бэкенде, извлекает из хранилища свежие публикации, передает их на фронтенд, и пользователь уже видит привычную ленту.
- Fullstack — это работа со всем сразу. Термин придумали для программистов, знающих несколько языков и совмещающих навыки фронтенда и бэкенда. Некоторые fullstack-специалисты берут на себя мобильную разработку, работу с сервером или UX-дизайн. Их многофункциональность может стремиться к бесконечности.
- Разработка игр или геймдев — игровые разработчики участвуют в создании компьютерных и мобильных игр разной сложности, от простых платформеров в 2D до крупных AAA-проектов уровня GTA, «Ведьмак» и Cyberpunk 2077.
- Системное программирование — это создание программного обеспечения для операционных систем. Не самое популярное направление разработки, зато в нем меньше конкурентов. Например, системный программист занимается разработкой драйверов, которые помогают системе взаимодействовать с другими устройствами: подключить колонки к ноутбуку с помощью аудиодрайвера или принтер с помощью драйвера, разработанного под конкретную модель.
Альтернативные пути
Можно описать несколько возможных сценариев карьерного роста как для тестировщиков, так и для специалистов службы поддержки.
Менеджер по продукту
Управление циклом развития софтверного продукта особенно хорошо подходит для QA-специалистов. В силу специфики профессии они анализируют работу программного обеспечения, развивая у себя глубокое понимание методологии повышения качества софта. Сегодня на рынке, где спрос на высокофункциональное программное обеспечение особенно важен для коммерческого успеха компаний, наличие этих навыков помогает QA-специалистам добиваться успеха.
DevOps-специалист
Восходящий тренд в области построения ИТ-карьеры с позиции начинающего специалиста — все хайповые digital-направления: робототехника и автоматизация (RPA), ИИ и Big Data. Наиболее очевидный сценарий карьерного развития здесь — DevOps. Сейчас эта профессия в тренде, и те, кто не успел туда зайти, имеют шанс сделать это лишь на протяжении 3-5 следующих лет.
Это человек, который постоянно доводит до ума ИТ-инфраструктуру компании, разбираясь, почему код разработчиков заработал на одной версии библиотеки, а на другой — не заработал.
DevOps автоматизирует различные алгоритмы по развертыванию и тестированию продукта на on-premises или облачных серверах, помогает выбрать и сконфигурировать архитектуру ИТ-компонентов. Он может что-то «напрограммировать» и прочитать чужой код, но это не его основная функция.
Тестеры ПО получают здесь преимущество, так как уже в целом понимают процесс разработки. Это может сделать их хорошими менеджерами по выпуску релизов или по контролю стабильности функционала, а также инженерами по автоматизации. DevOps требует целостного подхода к разработке и развертыванию приложений через более частую, быструю и качественную генерацию и проверку кода. Разработчики часто не имеют последнего навыка, но он всегда есть у QA-профессионалов.
Customer experience/User experience специалист
Как QA-профессионалы, так и специалисты службы поддержки в своей работе фокусируются на пользовательском опыте и приобретают все большую рыночную ценность по мере того, как бизнес повышает роль этого компонента в своих приложениях и системах. Волей-неволей они приучены смотреть на любой продукт или приложение глазами пользователя.
ИТ-архитектор
Для успешного построения корпоративной ИТ-архитектуры необходимы такие качества, как внимание к деталям и стремление выработать максимально непредвзятую, независимую оценку ИТ-продукта. Скрупулезность и способность учитывать взаимосвязь множества компонентов решения, вписывая их в общую картину — критически важные навыки для ИТ-архитектора, который отвечает за разработку архитектуры ИТ-систем
ИТ-менеджер
Навыки хорошего ИТ-специалиста широкого профиля (network, Linux, Windows, security, IT methodology and management), широкий технологический кругозор, отличные практические навыки в области ИТ, критическое мышление и способность учитывать массу нюансов в рамках «большой картины» очень помогают в управлении ИТ.
Здесь приходится принимать решения, основанные на риске: оценить вероятность того, что это изменение не вызовет новые проблемы, провести изменение в соответствии с ITIL. На какие топ-10 из 100 вещей, о которых я беспокоюсь, действительно нужно потратить свое время?
Как найти подходящее решение в рамках ИТ-стратегии и при этом уложиться в выделенный бюджет? Чем один программный продукт лучше другого, сколько стоят его внедрение и поддержка? Open source или коммерческий продукт? Заключили ли мы контракт на поддержку с правильной компанией или у нас есть компетенции и время внутри отдела? Готова ли наша ИТ инфраструктура к прохождению полномасштабного регулярного аудита на соответствие ISO 27001? Готова ли инфраструктура к регулярным атакам и проверкам на безопасность? Разработан ли план DRC и каково время восстановления сервиса? Утверждены ли регламенты для политик по ИТ-безопасности, все ли сотрудники прошли обучение и ознакомление с ними?
Не отказывайте себе в тяге узнать что-то новое, не забудьте научить себя применять методы критического мышления. Вам предстоит просеять тонны маркетинговых анонсов и найти то, что подойдет вашей компании наилучшим образом.
Unsplash
Как может развиваться карьера программиста?
В программировании есть два пути развития:
- Горизонтальный. Специалист расширяет компетенции, становится экспертом в своей области, формально оставаясь на той же должности. Происходит нишевание. Чем выше экспертность, тем выше востребованность разработчика и, соответственно, зарплата. Это развитие по вектору от Junior к Middle и далее к Senior.
-
Вертикальный. От разработчика – к руководителю команды. Как правило, чтобы стать руководителем, необходимо вначале продвинуться на позицию Senior-программиста.
Отличия между Junior, Middle и Senior
Границы тут условные. Нельзя сказать, что отработав условные 5 лет, человек точно перейдет в категорию Middle — некоторые и за 10 лет могут не нарастить скиллов для этого уровня.
В таблице приведены усредненные значения, от которых можно отталкиваться в оценке уровня специалиста.
|
Junior |
Middle |
Senior |
|
|
Опыт работы |
0,5-2 года |
2-5 лет |
от 5-7 лет |
|
Знания и навыки |
|
|
|
|
Задачи, которые решает |
|
||
|
Ответственность |
Минимальная |
За конкретный проект или функционал, которые написал сам. |
Отвечает за архитектуру, скорость и эффективность всего кода проекта или компании. |
|
Зарплата |
$500-1000 |
$1000-2000 |
$2500-6000 |
Нужно понимать, что в разных компаниях требования по задачам и навыкам различны. Оплата труда тоже отличается. Например, Middle в одной компании может получать, как Senior в другой или даже больше.
Приведенная классификация не означает, что позиция Senior — вершина карьеры программиста. Всегда есть, куда расти.
Куда может расти Senior-разработчик?
После нескольких лет работы на позиции Senior программист может вырасти до:
- Software Architect. Архитектор ПО проектирует программные решения и продумывает, как именно будут взаимодействовать между собой компоненты системы.
- Team Lead. Рост идет в менеджмент: организация процесса работы по проекту, распределение задач, ответственность за результат всей команды.
- Project Manager. Функционал расширяется еще больше: управление командой, распределение задач, риск-менеджмент, знание смежных отраслей.
-
Delivery Manager. Такой специалист совмещает функции Software Architect и Project Manager. Это относительно новая позиция и встречается пока редко.
Мир технологий — с чего начать?
Выбор технологии обычно даже сложнее, чем выбор способа обучения. В основном потому, что новички понятия не имеют о разных языках программирования и основывают свой выбор только на описаниях и информации о различных возможностях. Ниже вы найдете описания трех самых популярных и относительно простых языков программирования, которые в настоящее время пользуются наибольшим спросом у работодателей.
Java
Многие опытные разработчики считают, что «Java — король языков». Это язык программирования, который не только пользуется большим спросом на рынке, но и очень удобен для начинающих. Кроме того, Java существует уже давно, поэтому доступно множество учебных ресурсов.
Python
Как и Java, Python очень востребован работодателями. Он имеет очень чистый и понятный синтаксис, поэтому он также удобен для людей, начинающих изучать программирование.
JavaScript
Не запутайтесь — JavaScript отличается от Java. Этот язык программирования чаще всего используется при создании веб-сайтов. Кроме того, как и Python, это также довольно простой язык, который не должен вызывать проблем у начинающего разработчика.
Технологию можно выбрать исходя из спроса и популярности, но можно пойти и другим путем. Особенно, если вы решили учиться самостоятельно. Вы можете начать со своей идеи — подумайте, что бы вы хотели создать.
Мобильное приложение, веб-приложение или, может быть, веб-сайт? Как только вы узнаете, в каком направлении вы хотите двигаться, начните искать технологии, которые используются для решения этого типа задач. Этот метод самообучения настоятельно рекомендуется опытными программистами
Важно выбрать идею, которая будет волновать вас и которую вы захотите развить. Благодаря этому у вас появится соответствующая мотивация самостоятельно изучать и развивать свой продукт
Хороший программист обладает не только техническими знаниями, но и так называемыми мягкими навыками
Работа в команде, хорошее общение, организация работы — все это так же важно, как и знание языков программирования
Чтобы устроиться на работу в IT, обязательно обратите внимание на следующие навыки
Как стать программистом 1С
1С — это программа, которая широко используется в странах СНГ, для упрощения ведения документации предприятия и бизнеса.
Среда разработки 1С подразумевает под собой наполовину визуальное программирование, то есть разработчики уже позаботились о некоторых базовых объектах (такие как справочники, документы, регистры и т. д.), которые можно создать в 2 клика и добавить туда необходимые атрибуты. После того, как вы создали базовые объекты (с помощью графического интерфейса), вы можете собрать frontend часть вашей конфигурации — то, как увидит систему пользователь. Остается только запрограммировать между собой взаимодействие всех элементов. Синтаксис крайне прост, и если уже есть базовые знание программирования, то разобраться не сложно.
Как правило, при приобретении данной программы, разработчик предоставляет всю подробную документацию, необходимую для изучения. Особенностью программирования в этом случае является то, что можно программировать на русском языке. Если вы имеете хорошие навыки владения компьютером, и базовое понимание программирования, о котором мы говорили в предыдущем вопросе, то разобраться в этом можно в течение месяца. На моем личном опыте, это заняло как раз 1 месяц (но у меня есть базовые знания программирования после университета).
Чем дальше развивается 1С программист, тем больше программирование выходит на задний план, так как все достаточно тривиально. На передний план выходит построение и понимание бизнес логики процесса. Огромным плюсом является то, что для 1С уже написано множество готовых решений для ведения бизнеса в разных отраслях, и всегда можно подсмотреть, как такую задачу уже решают.
Евгений Кот, Frontend Team Lead, Wrike
Если говорить про Санкт-Петербург, то сильными вузами считаются ИТМО, Политех, ЛЭТИ. Про курсы сказать труднее, их сейчас немало. Что касается фронтенд и экспертных сообществ, рекомендую сходить на несколько локальных митапов.
Там можно познакомиться с экспертами и научиться многим вещам. Например, NodeSchool, PiterJS, PiterCSS, Spb-Frontend, а также наши регулярные митапы Wrike Tech Club.
Но есть две стороны монеты: с одной стороны, образование как «корочка» без практических знаний абсолютно бесполезно. Кандидат, который ничему не научился ни в вузе, ни на курсах, вряд ли сможет принести пользу команде и компании. Но, безусловно, можно быть программистом и без какого-либо образования.
Однако в интернете представлены огромные базы материалов по всем предметам (например, та же Coursera) и зачастую их можно найти бесплатно. И вместо того чтобы тратить пять лет на изучение не совсем профильных предметов (я с ужасом вспоминаю философию и ОБЖ), можно концентрированно получать именно те знания, которые точно пригодятся на практике.
Во Wrike мы, прежде всего, смотрим на навыки и самого кандидата, а не на то, что именно он закончил.
Сейчас есть разные типы программистов, которые делятся по направлению деятельности. Есть бэкенд, есть фронтенд. Есть мобильная разработка, но есть и те, кто работает с железяками. Везде разные требования.
Если у фронтенда идет упор на визуальную составляющую (User Experience), то, например, у бэкенд-разработчика задачи лежат совершенно в другой плоскости. Но если попробовать составить портрет среднего программиста, то он обладет этими качествами:
- Способность быстро усваивать информацию и развиваться профессионально. В нашей отрасли нельзя один раз что-то запомнить и потом пользоваться полученными знаниями до скончания века. Моргнешь, и все. То, что ты когда-то знал и умел, уже становится неактуально.
- Способность строить сложные системы и просчитывать последствия решений на много шагов вперед. Это как со строительством дома: если фундамент плохой, то чердак не устоит. Но в отличие от дома программисту приходится учитывать тот факт, что заказчик может захотеть маленький гараж, причем в сжатые сроки. А потом передумать и решить, что все же хочет шикарный особняк. Если ты делаешь какой-то программный продукт, то приходится просчитывать план действий на месяц, полгода и год вперед.
- Усидчивость. Для того чтобы усвоить много информации или придумать что-то непростое, приходится подолгу сидеть на одном месте и медитировать над клавиатурой и монитором. Я бы вообще сказал, что программисту полезно уметь мечтать. Как писатель думает: «На герое была коричневая потертая шляпа», а затем рождается целая история. Программист из одного предложения бизнеса должен развернуть целый мир. Хотя порой все сводится к шляпе.
- Интерес к своему делу. Профессия у нас творческая, из-под палки много не накодишь. Ну, то есть можно, конечно, но разве это жизнь…
- Позитивное отношение. Это совет не только к программистам, но к профессии в целом. О нас ходят разные легенды, что программисты, мол, асоциальны и угрюмы. Это не так, будьте веселее!
Константин Ян, сооснователь, технический директор платежного сервиса CloudPayments
Прохождения курсов может быть достаточно, если говорить о позиции стажера или разработчика в стартап. Потому что для работы на начальном уровне достаточно теоретической подготовки и базовых знаний.
К тому же в стартапах не всегда есть возможность платить высокую зарплату, зато присутствует свобода принятия решений и больше простора для получения практического опыта.
Фундаментальное образование помогает лучше понимать процессы разработки и принимать решения. Программисту нужен один основной навык: умение разбираться в процессах, раскладывать их на элементарные шаги и алгоритмы. Кроме того, ценится умение быть настойчивым и не сдаваться перед задачами, которые кажутся невыполнимыми. Второе — как раз то, что воспитывает высшая школа.
Мы отдаем предпочтение специалистам с высшим образованием, но это не будет весомым фактором при принятии решения о найме. Мы с удовольствием пригласим на работу и программиста-самоучку, который имеет необходимый уровень опыта для решения наших задач.