Как программисты-самоучки в реальности получают работу
Вопрос с Quora:
Как программисты-самоучки в реальности получают работу?
Мне 17 лет и я занимаюсь программированием с 14-ти. Основной упор на Java, я получил 5 баллов по предмету AP Computer Science. Я довольно хорошо разбираюсь в Java (синтаксис, основные классы, GUI/JFrame и т.д.) и неплохо знаком с HTML5 и CSS3. Кажется, мне не хватает многих знаний, чтобы реально претендовать на работу в индустрии (например, как работают СУБД и какую из них следует использовать), и мне интересно, как другие программисты изучают такие вещи. Я планирую пойти в колледж по специальности «Разработка программного обеспечения», но меня начинает расстраивать мысль, что колледж — необходимое условие, чтобы получить работу. Есть ли какие-то курсы, которые я пропустил, хотя должен был изучить их, или что-то другое, чего я не сделал?
Мой ответ:
Думаю, ты неправильно смотришь на вещи. Ты думаешь, что должен пройти курсы, чтобы кто-то другой дал ответы и научил тебя. С фундаментальной точки зрения программисты-самоучки действуют иначе.
У программиста-самоучки много общего с тем, кто самостоятельно научился игре на гитаре. Не знаю, играл ли ты когда-нибудь на гитаре, так что объясню, как происходит обучение.
Во-первых, всё начинается с того, что кто-то видит, как другой человек играет на гитаре. Большинство из тех, кто уже играет, в какой-то момент хотели быть на кого-то похожими. После этого он принимает решение: «Я тоже могу научиться!», идёт в местный магазин музыкальных инструментов и покупает бэушную гитару (потому что она дешевле, но всё равно крутая).
Далее происходит одно из двух. Или человек находит самоучитель игре на гитаре в каком-то виде, ИЛИ он идёт на YouTube и начинает пробовать играть свои любимые песни. Как правило, второй вариант эффективнее.
Теперь, когда юный гитарист замотивирован сыграть конкретную песню, он будет смотреть видео, распечатывать табы, аккорды и так далее — он будет сидеть и пытаться сам воссоздать песню, руководствуясь видеороликами и доступными табами.
После многих часов практики, подбора аккордов, соло, ритма и прочего, он сможет сыграть свою версию песни. Она будет не совсем такой же, но достаточно близка к оригиналу для рок-н-ролла.
Потом он выберет другую песню, которая ему нравится, и ещё одну. Постепенно начинающий гитарист освоит шаблоны, техники и всё остальное, даже не понимая, что это такое. Он просто находит способ сделать необходимую вещь, не изучая названия и теории.
В конце концов игра на гитаре станет «естественной», а изучение новой песни — обычным и безболезненным делом. «Язык» гитары для него станет чем-то естественным, вроде человеческой речи.
Всё это происходит в течение тысяч часов практики. Даже если практиковаться несколько часов в день, процесс занимает годы.
Так какое это имеет отношение к программистам-самоучкам?
Ну, что действительно делает из самоучки программиста — так это то, что он создаёт разные штуки. И много всяких штук. Чтобы стать отличным программистом с востребованными навыками, ты должен создавать вещи и писать код.
Посещение классов и изучение теории — это хорошо, но многие профессоры не способны написать даже простейшую программу. Они не могут сделать тебе полезное приложение, которое кто-нибудь захочет использовать.
Не то чтобы они не знают свой предмет, просто главное в преподавании — это исследовать предмет и понимать теорию, а не писать код и приносить пользу клиенту.
Самые лучшие программисты, с которыми я когда-либо работал, стали такими, потому что писали реальный код. Практически постоянно.
Например, сегодня каждый веб-разработчик (и его брат) используют WordPress. Задолго до WordPress я написал для себя 3 или 5 разных систем управления контентом на PHP и MySQL. Я делал игры. Писал мобильные приложения. Фреймворки. SAAS-приложения.
Никто не платил мне за это. Всё это я делал для удовольствия или для обучения, или из любопытства.
Много лет я не посещал никаких курсов и не думаю, что они бы значительно продвинули мою карьеру. Но если бы я сел и решил создать собственный язык программирования или операционную систему с нуля, то наверняка узнал бы много полезного по ходу дела.
Да, я мог посещать курсы по этим предметам. Но гораздо больше можно узнать, если самому создавать вещи, делать ошибки и по-настоящему «чувствовать» всё это, а не узнавать из книги или лекции.
Так что могу дать совет, с помощью которого ты получишь огромное преимущество над теми, кто такого почти не делает…
Решай проблему, которую способен решить. Создавай программы, которые делают такие классные вещи, какие ты сам или другие хотели бы увидеть в программе. Пиши код каждый божий день. По вечерам, в выходные, каждый день. Даже если только 15 минут, нормально.
В конце концов у тебя получится что-то работающее и довольно приличное.
Затем начинай снова. Сделай что-нибудь ещё. Продолжай писать и писать, и писать, и писать. Вложи в свой скилл тысячи часов, бросая себе вызов на создание новых проектов.
По мере написания кода сохраняй работу в маленькое портфолио на своём сайте. Каждый раз по окончании проекта сообщай о нём на Hacker News или Reddit, или ещё где-то. В блоге.
Тебе 17… К 20-ти годам ты легко можешь вложить более 2000 часов в разработку своего навыка, в портфолио будет 10-20 проектов и ты выучишь многие уроки, которые учащиеся на курсах никогда не выучат.
Что ещё важнее, ты сможешь ясно продемонстрировать свою способность писать код, решать проблемы и выпускать что-то рабочее в этот мир. Это большая ценность. Именно то, что ищут компании.
Как только найдёшь работу, продолжай программировать в свободное время и продвигать свои проекты. Ты будешь расти быстрее, чем сверстники, потому что они приходят домой и смотрят телевизор, не обучаются, не растут и не создают НИЧЕГО. Они получают зарплату и идут домой.
Чем больше будешь создавать, тем больше у тебя знаний. Чем больше знаний, тем выше твоя ценность. Чем выше ценность, тем легче найти работу, тем больше зарплата и так далее.
Так что вылезай из скорлупы и создай что-нибудь. Пиши код!
Есть ли шанс у самоучек построить успешную карьеру в IT
Анна Палехова, руководитель практики IT&Telecoms рекрутинговой компании Hays в России
В последние годы наблюдается бум востребованности IT-специалистов и волнения вокруг потенциального отмирания многих профессий. В тех сферах, где рынок труда сейчас не очень оживлен и интересных предложений мало, гуманитарии наравне с техническими специалистами ищут возможность перейти в стабильно растущую и хорошо оплачиваемую профессиональную нишу. Чаще всего об этом задумываются инженеры производственных предприятий, банковские сотрудники, учителя, переводчики и HRы. Какие перспективы у них есть и как воспринимаются «переучки» и самоучки в IT-сфере?
Мы провели опрос и спросили у айтишников, может ли человек без высшего технического образования стать профессиональным IT-специалистом? Получили вот такие результаты.
Кандидаты, которые приходят за советом, как попасть в IT, демонстрируют довольно общий интерес. У людей нет конкретного представления, каким именно направлением в IT-сфере они могли бы заниматься. Главное – определиться, сколько времени и усилий вы хотите потратить на освоение новых навыков.
Самая востребованная профессия на рынке – это разработчик программного обеспечения. Существуют типовые задачи и проекты, где достаточно освоить основы языка, среды разработки и научиться пользоваться опенсорсными решениями. В то же время многие задачи требуют нестандартного подхода, комбинации знаний из самых различных областей, системного знания высшей математики и инструментов работы с данными.
Другие популярные точки входа в профессию – аналогичное обучение (самостоятельное и на курсах) разработке мобильных приложений и full-stack веб-программированию («сайтоделанию»).
Начинающих самоучек-разработчиков благосклонно рассматривают компании, чей бюджет не позволяет нанимать опытных и дорогих разработчиков – веб-студии, небольшие аутсорсинговые компании или стартапы. Новичкам повезет, если удастся попасть в крупную компанию с развитой системой обучения, высокой культурой кода, работать в команде, в которой можно учиться у экспертов.
К образованию тестировщиков требования ниже, чем к образованию программистов. Здесь процент самоучек и «переучек» значительно выше, чем людей с высшим IT, физическим или математическим образованием. Но и конкуренция среди начинающих кандидатов здесь очень высокая. Научиться функциям ручного тестирования ПО возможно практически любому человеку, но он должен обладать такими личными качествами, как скрупулезность, умение получать удовольствие от рутинных задач, в некотором роде даже занудство. Такая работа вряд ли подойдет человеку с креативным и нетерпеливым характером.
Для начала работы тестировщиком профильное образование не нужно, но, если специалист хочет расти в этой профессии – переходить в автоматизированное тестирование, работать с высокими нагрузками и производительностью, математическая подготовка потребуется. Необходимо быть готовым восполнять недостаток знаний, которые закладываются в профильных вузах.
Тем, кто желает учиться, специалисты рекомендуют начинать с ручного тестирования, прослушать онлайн курс Михаила Портнова, прочитать профессиональные книги: Сэма Канера, Джека Фолка и Енг Кек Нгуена «Тестирование программного обеспечения. Фундаментальные концепции менеджмента бизнес-приложений», Романа Савина «Тестирование Дот Ком», а также пройти сертификацию ISTQB. Существует также множество офф-лайн курсов, где за два-три месяца можно научиться основным процедурам – создавать и выполнять тест-кейсы, тест-планы, работать с багтрекерами (системами отслеживания ошибок). Попробовать свои силы можно с помощью песочницы на сайте https://www.utest.com, где в дальнейшем вы сможете поучаствовать в разных оплачиваемых проектах и записать этот опыт в свое резюме.
В IT-компаниях также существует своя ниша для тех, кто уже получил первое образование и сейчас не хочет полностью переучиваться, но при этом готов получать новые навыки и знания.
Сложная и романтичная профессия дата сайнтиста/аналитика тоже допускает и даже приветствует нестандартный бэкграунд кандидатов. Деятельность этих специалистов включает в себя не только техническую составляющую, но и глубокое понимание предметной области исследуемых данных. Помимо разработчиков в этой области часто работают биологи, физики, логисты и другие представители не-IT-профессий. Дата сайнтисту важно поставить исследовательскую задачу и представить результаты на языке бизнес-заказчика. Переходы таких специалистов без дополнительного обучения зачастую обусловлены потребностью проекта, а не только желанием кандидата. В случае, когда человек сам хочет переквалифицироваться в дата-сайнтиста, ему все-таки придется изучать основы математического аппарата, языков программирования и баз данных, а также инструментов статистики. Для них есть он-лайн курсы, а также проходят занятия школы данных. Им рекомендуют попробовать свои силы на публичных проектах на платформе Кaggle, а потом искать начинающие позиции в нужном направлении. Профессия комплексная и сложная, обычно вход в нее занимает от одного до нескольких лет и требует значительной подготовки и усилий.
По мнению многих наших кандидатов и нанимающих менеджеров развитие IT специалиста не менее чем на 50% зависит от самостоятельного обучения. Для тех, у кого нет высшего физмат- или IT-образования, этот процент может доходить до 80-90%. Волшебным образом попасть в IT-компанию не получится. Нужно планировать этот переход и быть готовым к большому объему работы над собой. Один из наших кандидатов – опытный тестировщик, сделавший себя сам, советует постараться осознать свои истинные желания для правильного планирования направления развития.
От «ничего не понятно» до первой работы: как становятся программистами с нуля
⏱ Время прочтения — 7 минут
Шаг 1. Знакомство с веб-разработкой
Начинаем с общего знакомства с направлениями веб-разработки. Вам предстоит определиться, насколько вам подходит программирование и какое направление ближе — фронтенд или бэкенд.
Фронтенд-разработчик отвечает за внешний вид страниц сайта. Он получает от дизайнера макет и превращает в готовую страницу — она подходит под разные экраны, все кнопки работают при нажатии, а схемы или таблицы корректно отображаются.
Бэкенд-разработчик отвечает за работу сайта. Он взаимодействует с сервером — частью сайта, где хранится вся информация. Он создает базы данных и управляет ими, а также проводит интеграции с внешними сервисами.
На этом этапе стоит потренироваться на бесплатных тренажерах. Темы тренажеров и длительность их прохождения могут быть разными. Например, занятия на тренажере «Знакомство с веб-разработкой» займут у вас 4 часа и дадут представление о базовых технологиях веб-разработки. После можно выбрать тренажеры, раскрывающие какое-то из направлений разработки более подробно. Занятия бывают для разного уровня — от новичков до опытных пользователей.
Много информации и базовых уроков есть на «Ютубе». Можно проходить их дома самостоятельно. Еще один вариант — читать книги по разработке для новичков. В обоих случаях нужно следить за тем, чтобы информация была актуальной. ИТ стремительно развивается — и есть риск получить устаревшие знания, а потом долго переучиваться заново.
К чему готовиться: если вы вообще не сталкивались с программированием, на этом этапе вам будет ничего не понятно! Это нормально. Получив первое представление о разработке, вы сможете понять, в какую сторону вам двигаться.
По времени этап займет около месяца.
Шаг 2. Обучение
После того как определились с направлением — начинаем обучение. Можно учиться самостоятельно или записаться на курсы по верстке или программированию.
Самостоятельное обучение
Бесплатно, но сложнее, чем учиться на готовых программах. Чтобы всё удалось, составьте учебный план: распишите темы, подберите упражнения и самостоятельные проекты, которые потом украсят ваше портфолио.
Идеи проектов для тренировки
Обучение на курсах программирования
На рынке много курсов для разных бюджетов, с разной длительностью и дополнительными опциями от школ — например, в HTML Academy во время обучения есть личный наставник, а после — стажировка и помощь в трудоустройстве.
Выбирая школу, важно понять, что информация в программе актуальна и на самом деле пригодится вам при трудоустройстве на работу.
Необходимая база для любого хорошего разработчика/верстальщика
Чтобы получить ее, возможно, понадобится не один, а два или три курса — например, по обычной и адаптивной верстке, а еще по JavaScript.
На курсах должны понятно объяснять базовые вещи из программирования: типы, операторы, алгоритмы, функции, циклы, объекты и структуры данных. Их понимание пригодится, даже если вы в итоге будете учить какой-то другой язык.
Инструменты (для верстки и JavaScript):
К чему готовиться: На этом этапе вы столкнетесь с первыми трудностями и чувством усталости. Делают ошибки и ощущают себя глупыми в процессе обучения практически все. Важно не поддаваться желанию опустить руки и всё бросить. Для этого правильно распределяйте время на учебу и отдых и найдите наставника. Всего изучение основ займет у вас около полугода.
Как найти наставника и что от него ожидать
На этапе обучения наставник практически незаменим. Он может проверить код, ответить на сложный вопрос, поддержать морально с высоты своего программистского опыта.
На хороших курсах за вами закрепят хорошего наставника, которому вы сможете задавать вопросы, который будет отслеживать ваш прогресс. Если вы обучаетесь самостоятельно, не переживайте, что останетесь без поддержки: киньте клич в социальных сетях и попросите кого-то из знакомых помочь вам. Еще один вариант — поискать наставника на форумах для программистов или в сообществе разработчиков. Например, в HTML Academy есть чат сообщества в «Телеграме», где можно задать любой вопрос.
Шаг 3. Углубление навыков, чтобы зарабатывать больше
Первую работу вы можете найти уже на этом этапе. Например, после курсов по верстке можно устроиться младшим верстальщиком. Зарплата в данном случае будет в районе 25–45 тысяч. Те, кто выучил основы JavaScript, смогут зарабатывать до до 40–75 тысяч на начальном этапе.
Чтобы получать больше и не заскучать, стоит продолжать обучение. Вариант для развития — выучить фреймворки, потому что программисты обычно не пишут на чистом JavaScript.
Самые популярные и прибыльные фреймворки для фронтендеров — React, Angular, Vue.js, Ember.js и Meteor. Для бэкендеров — Yii2, Laravel, Symfony, Django и Flask. Если вы знаете JavaScript, но вам понравилось делать бэкенд, попробуйте Express.js — это фреймворк для Node.js.
Знание фреймворков повышает зарплату. Средний заработок React-разработчика — около 100 тысяч. И чем дольше и лучше вы работаете, тем больше получаете.
К чему готовиться: заложите на изучение фреймворков еще от 1 до 3 месяцев.
Шаг 4. Стажировка или первая работа
Изучив основы программирования и какой-то из фреймворков, вы готовы к стажировке или первой работе.
Стажировка. Ее проходить не обязательно, но она помогает посмотреть на все рабочие процессы изнутри, набраться уверенности и легче адаптироваться к смене профессии. Компании со своей стороны заинтересованы в выпускниках и обычно готовы трудоустраивать их на позицию младших разработчиков, если стажировка прошла успешно. Часто школы принимают своих студентов на стажировку.
Трудоустройство. К этому моменту у вас уже будет наработанное портфолио — профиль на «Гитхабе» с вашими проектами. Осталось сделать резюме, указать ваши ключевые компетенции, сослаться на профиль и опубликовать на hh.ru или других сайтах по поиску работы. Пока у вас мало опыта, стоит активно откликаться на вакансии и ходить на собеседования.
Тина Кузьменко — выпускница HTML Academy, живет в Нидерландах. По образованию она журналист, но после переезда в новую страну освоила профессию и устроилась фронтенд-разработчиком в продуктовую компанию:
Еще во время учебы тщательно прорабатывала свое резюме. Позже красиво оформила фриланс-опыт по верстке. Также у меня накопилось немало личных проектов для портфолио, которые я аккуратно оформила на GitHub. Так что меня почти сразу стали приглашать на собеседования.
По итогу собеседований я получила в один день сразу два предложения. Одно из них было на мидла в продуктовую компанию Copernica Marketing Software. Его я и выбрала.
К чему готовиться: поиск работы может занять какое-то время — всё зависит от вашей активности и навыков. Если вы понимаете, что каких-то навыков не хватает и их часто спрашивают на собеседованиях, попробуйте изучить их параллельно с поиском работы.
После трудоустройства несколько месяцев уйдет на адаптацию. Не бойтесь спрашивать совета у коллег, готовьтесь много учиться (опять) теперь уже в реальных условиях. И не забудьте гордиться собой — вы перешли в новую профессию.
«Я не верил своему счастью: без диплома, даже не технарь, а гуманитарий, и все получилось — я в IT»
Высшее образование для программиста — это не обязательное условие, а лишь желательное. Чтобы убедиться в этом, почитайте истории девяти ребят, которые построили карьеру в IT без профильного образования, и их напутствия тем, кто себя ищет. Кейсы собрала Дарья Бондаренко из Alef Development.
Петр Кузьмичев, QA Engineer в «Додо Пицце», 11 классов школы
Я дважды пытался получить диплом — сначала в маркетинге, потом в менеджменте — но в университете быстро становилось скучно. Наткнулся на вакансию в службе технической поддержки и получил ее благодаря длинному мотивационному письму. Свободное время тратил на самообразование в IT.
В конце концов руководительница тестирования предложила перейти в их штат. Прислала литературу для изучения — я отчитывался о прочитанном. Между делом поделился с коллегой, что хочу изучать программирование. Он начал объяснять с самых азов.
Если есть знакомый из IT, и он готов вас обучать, давать советы — не проходите мимо, это возможность ускорить обучение.
Те люди, с которыми я учился на первом курсе, окончили университет в 24-25 лет. В этот момент я работал, имел знания и опыт, а они же только начинали выходить на рынок труда.
Не думайте, что можно не иметь диплом и спокойно работать с 10:00 до 19:00. Если ваши коллеги с «вышкой» пойдут после работы в бар, вам стоит отправиться домой и изучить тему, которую они прошли пять лет назад на парах.
Без высшего образования можно достичь тех же успехов и тех же неудач, что и с высшим образованием. В программировании нет момента, когда можно остановиться и сказать «Я молодец, я все знаю». Выберите направление и развивайтесь в нем. На мой взгляд, легче всего попасть во front-end-разработку. Но не подумайте, что легче — значит, легко.
Стас Гольденшлюгер, сооснователь Alef Development, бросил МГТУ им. Н.Э. Баумана на 1 курсе
Программировать я начал в 10 лет. Учился сам, без учебников, интернета у меня на тот момент тоже не было. Пользовался разделом «помощь» программы QBasic. Он был написан на английском языке, который я тогда не знал, — приходилось копировать код и разбираться, как он работает.
Никакого корпоративного пути в моей жизни не было. Сначала работал сисадмином в компании по спутниковым сигнализациям. Жизнь предоставила мне шанс — из компании неожиданно уволились несколько программистов. Я предложил «позатыкать дыры» собой, а обратно перевести в сисадмины меня забыли.
В какой-то момент понял, что в офисе работать не хочу. Начал делать мобильные приложения — сначала для себя, потом для клиентов, а потом это переросло в IT-студию Alef Development. Я ни разу не проходил собеседования, а, будучи работодателем, диплом не спрашивал.
Программирование относится к hard skills: ты либо умеешь программировать, либо нет. Это очень легко проверить. Дайте жонглеру пять мячиков и попросите показать свой навык — сразу станет понятно, жонглер он или нет. Тут то же самое.
Можно учиться самому, не выходя из комнаты, можно найти гуру, можно пройти онлайн-курс или смотреть каналы на YouTube, но самое главное — все равно практика. Программист может ничего не знать, но все уметь. Теорию можно быстро подкачать, практику быстро подкачать не получится.
Научитесь кодить, потом сделайте несколько проектов для себя — пока будете их делать, работа найдет вас сама, потому что вы общаетесь, хвастаетесь прогрессом. Если не найдет — у вас как минимум будет готовое портфолио.
Иван Донин, системный администратор в «Яндекс.Маркете», 11 классов школы
Мой путь начался с работы в местном провайдере. С разрешения руководителя я поставил прокси-сервер в офисе, чтобы сделать быстрый интернет у себя дома. Так появилась идея провести «бесплатный вайфай везде», и я начал работать над ней, получая знания практикой, а потом заполняя пробелы теорией.
Тем, кто только собрался идти в IT, рекомендую книгу «Hello World! Занимательное программирование». Там с азов расписан процесс создания компьютерной игры. Книга легка в чтении, подходит даже для детей и задает конкретную цель — «написать игру».
Если нет цели, то и достичь чего-либо будет трудно. Язык программирования, софт, сфера деятельности, книги, курсы — это все инструменты для достижения цели.
Я чувствую, что мне сильно не хватает фундаментальных знаний. Реабилитируюсь чтением книг и прохожу курсы на Coursera. То есть я согласен, что нужно учиться, но не согласен, что нужно учиться обязательно в вузе. Вышка является некоторым «плюсиком» для общей картины, мол, я получил какую-то базовую подготовку, и есть повод для общения, если работодатель из того же университета.
Дэннис Арчаков, frontend-разработчик в Drimsim, 7 лет получает высшее образование, пока не получил
Программированием я начал увлекаться в шестом классе — создал свой первый сайт в конструкторе uCoz. В седьмом классе мне стало интересно разрабатывать программы на ПК, и мой первый запрос, связанный с этой темой, был достаточно примитивным — «программа для создания программ». За год изучил Delphi и стал фрилансить. Постепенно меня потянуло к веб-разработке, и я начал изучать PHP и JavaScript.
С тех пор, как я перешел на заочное обучение в 2015 году, работал в пяти компаниях. По большей части это были стартапы и веб-студии. Из 100% работодателей, только 30% интересовались, есть ли у меня высшее образование, по-моему, для галочки.
За четыре года можно стать отличным middle-разработчиком с зарплатой от 100 тысяч рублей. Университет вам ничего не гарантирует: ни то, что вы станете специалистом, ни то, что вы найдете работу. От платных курсов и то толку больше, чем от нынешнего образования. Задумайтесь над этим и берегите свое время.
Начинающим я не советую браться сразу за чтение книг по программированию. Вам будет сложно понять, о чем говорят в книге, вы будете считать себя бестолковым и забросите изучение. Начните лучше с каких-нибудь уроков на YouTube, конкретных запросов в Google или же попробуйте разработать несложный тестовый проект.
Иван Цыплухин, сооснователь Krasa.io и Beet Lab Academy, бросил МФТИ на 2 курсе
В школьные годы я собирал компьютеры и изучал HTML. С одноклассниками сделали приложение-калькулятор алкоголя для вечеринок. Не сказать, что мы много на нем заработали, но 50 тысяч установок по РФ на тот момент уже было большой наградой. Это приложение стало началом карьеры для всех, кто участвовал в проекте.
Первой работой была стажировка в рекламном агентстве, а параллельно мне удавалось еще и программировать на фрилансе. Изучал все кусками по форумам и видеоурокам. В какой-то момент стало очевидно, что разработка IT-продуктов увлекает меня больше рекламы и приносит ощутимый доход.
Опыта было недостаточно, поэтому я пошел на курсы по iOS. Затем с одним из бывших однокурсников мы решили открыть студию, наняли сотрудников и начали работать с более крупными компаниями — Ростелеком, Mercedes Russia, WOS.
Стереотип о необходимости диплома существует в голове у многих руководителей, особенно советской закалки. Вопрос в том, хотите ли вы продвигаться в компании с таким руководством или планируете работать с кем-то более прогрессивным.
В России очень сильное tech-community, но по факту все инновации идут с Запада. Coursera и Udemy, пожалуй, лучшие онлайн-курсы, и это самый простой способ начать осваивать любую IT-специальность.
Вам понадобятся десятки часов, чтобы выполнить простейшие задачки: в начале пути пять строчек кода за час — это нормально.
Затем ищите задачки сложнее, идите на фриланс, придумывайте себе их сами. Вопросы можно искать на StackOwerflow и прочих аналогах. Через три-шесть месяцев практики будете готовы для стажировки или трудоустройства.
Всеволод Азовский, веб-разработчик в DataArt, окончил академию им. Тимирязева по специальности «микробиология»
Человека с образованием в толпе сразу видно. Так что лучше «с», чем «без». Я из семьи советских интеллигентов, некоторые даже с наградами в мире научных достижений, поэтому мне без «вышки» было никак – отучился в академии им.Тимирязева на микробиолога.
Уже на третьем курсе стало понятно, что у отечественной науки нет предложений, которые бы меня устроили. Самостоятельно изучил Microsoft Server 2003, потренировался в развертывании одноранговой корпоративной сети на кафедре физики в своей «альма-матер» и успешно прошел собеседование.
Первая же запись в моей трудовой – старший системный администратор. Дальше мой путь в IT выглядел так:
Сейчас я всерьез занимаюсь компьютерной автоматизацией выращивания сельскохозяйственных культур на гидропонике. Очень захватывает, когда из километра программного кода на подоконнике появляется настоящая жизнь.
Технари — люди глубоко предметные. На мой диплом вообще никто никогда не смотрел. Если знаешь, чем отличаются абстрактные классы от интерфейсов, с тобой говорят дальше, пока не выяснят твой потолок.
Знание компьютера само по себе, как и знание любого языка, — не профессия. Компьютер — просто инструмент, его надо к чему-то применять. А вот нужно ли высшее образование там, где вы собираетесь применять компьютер, — уже каждый сам должен разобраться. Наверное, чиповать машины в автосервисе можно и так научиться.
Никита Бабанин, инженер-разработчик в «Логике Бизнеса», высшее медицинское образование по специальности «врач»
Проектом, где я заработал первые деньги как программист, была игра — аналог «Счастливого фермера». Там же я получил и первый опыт работы в команде с другими специалистами: разработчиками, дизайнерами, менеджерами. Я еще учился в медицинском на третьем курсе, писал код после пар. На четвертом ближе познакомился с сайтостроением: html, css, javascript, php.
Для меня это был очень интересный период, потому что при работе с этими технологиями результат виден сразу.
На шестом курсе я решил отчислиться из университета и устроился стажером-программистом. Я не верил своему счастью: без диплома, даже не технарь, а гуманитарий, и все получилось — я в IT.
В компании я занимался поддержкой системы электронного документооборота: доработкой программных модулей, исправлением ошибок. За полтора года вырос до инженера-разработчика и восстановился в медицинском: с утра и до обеда — учеба, с обеда до вечера — работа. Одно другому, как ни странно, не мешало.
Мне интереснее работать в компаниях, где я расту как специалист. Например, когда я впервые начал работать java-разработчиком, часто для решения задач проводил десятки часов в неделю, разбираясь в технологиях, документации, вариантах решения. Спустя год на проекте я стал тим-лидом.
Поначалу коллеги подшучивали — мол, врач и программист. Обращались за советами как что лечить, но уже через пару месяцев приходили за помощью только по техническим вопросам.
Я считаю, что не нужно смущаться отсутствия профильного образования. Можно успешно работать и без него. Но я для себя решил получить профильную «вышку». На мой взгляд, высшее образование дает психологическую устойчивость и помогает систематизировать знания.
Александр Трясцын, руководитель направления в «Тензор», специальность «инженер-конструктор автомобиле- и тракторостроения»
Помню, в 12 лет родители купили мне книгу для изучения языка «Лого», и я по ней учился алгоритмам, писал программы в тетрадку. Поступить в институт на программиста мне не удалось, не хватило трех баллов до проходного, поэтому я подал документы на кафедру автомобиле- и тракторостроения.
После вуза стал искать работу в IT: ездил на собеседования, показывал свои программы, общался с потенциальными коллегами. Мне дали шанс заняться программированием профессионально.
Первый шаг, который нужно сделать тому, кто хочет в IT, — определить направление, в котором хотелось бы дальше развиваться. Универсальный вариант — написать свой блог и разместить его на хостинге. Звучит просто, но, на самом деле, тут можно попробовать себя в:
Какой-то этап покажется скучным и непонятным, а какой-то зацепит настолько, что захочется погрузиться в эту тему поглубже. Тут желательно найти работу junior-разработчика, чтобы опытные коллеги помогли обойти «грабли», на которые сами уже наступили.
Самая актуальная информация сейчас не в бумажных книгах и даже не в их онлайн-вариантах. Она на IT-конференциях, в твиттере Эдди Османи, в обучающих видео на YouTube. Пока информация дождется перевода, она устареет катастрофически.
Дмитрий Хаустов, делает серверный движок в WebGames, окончил Военный институт радиоэлектроники
Когда мне было 14, двоюродный брат привез на каникулы компьютер ZX Spectrum. Я увлекся играми и простым программированием. Было колоссальным удовольствием наблюдать, как техника делает именно то и так, как я ее запрограммирую. Потом было маниакальное изучение программирования по книгам. В 10 классе, когда информатику только начали преподавать, я знал больше учителя.
После окончания военного вуза трудился в НИИ, параллельно развивая свой сначала SMS-, потом WAP-чат. Вместе с товарищем мы сделали конструктор WAP-сайтов kmx.ru и основали «Ковчег Медиа». Когда компанию закрыли, я ушел в разработку игр, успел поработать в нескольких стартапах, в одном из геймдев-подразделений Mail.Ru Group.
Цвет диплома и медаль пригодились только в НИИ, больше нигде. В IT более ценны предыдущие места работы, а точнее, имеющиеся навыки и знания, которые предварительно проверяют на технической секции собеседования и которые нужно подтвердить во время испытательного срока.
Самоучки идут по граблям и учатся на своих ошибках, медленно, но надежно. В учебном заведении многие грабли можно обойти, учиться на чужих ошибках, получить базовые навыки. Максимальный же эффект будет на интересной работе, где много практики и есть ментор, который подскажет и направит.

