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

Мы спрашивали участников о том:

  1. почему они выбрали самообучение программированию?
  2. почему не стали учиться в профильном вузе?
  3. сложно ли было найти работу без диплома?

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

code1Владимир Агафонкин

на 4 курсе “вылетел” со стационара КПИ (прикладная математика) и перевелся на заочный из-за того, что устроился на работу на полный рабочий день. Самостоятельно изучил JavaScript и создал популярную opensource-библиотеку Leaflet. Работает программистом в MapBox, играет на гитаре, солист группы “Обійми Дощу”. Веб-разработку стал изучать, чтобы сделать сайт для своей группы

1. Еще в садике все мечтали быть астронавтами или гонщиками, а я всем заявил, что буду кибернетиком, создавать роботов 🙂 А с того времени, как у меня появился свой компьютер, от него было вообще не оторвать.

2. Учиться самостоятельно приходится большинству украинских программистов: технологии развиваются с каждым днем, а пока в академических кругах утвердят программу по новой технологии, она устаревает лет на 10-20. Ценными в вузах являются только те предметы, которые развивают логическое мышление (матанализ, дискретная математика, диффуры).

3. В поисках работы самым главным было – начать. У меня не было опыта работы, поэтому за первый заказ, который я нашел, платили копейки. Но после этого у меня сразу были хорошие примеры работ, и второй мой заказ у другого клиента оплачивался уже в 10 раз выше, чем первый. Если ты действительно хорошо делаешь то, чем занимаешься, отпадает необходимость искать работу — напротив, компании начинают искать тебя. Мне не раз приходили письма от Google, Apple, Facebook, Nokia и других.

 Самообучение программированию-2
Самообучение программированию
Самообучение программированию-1
Самообучение программированию
 Самообучение программированию-4
Самообучение программированию
 Самообучение программированию-3
Самообучение программированию

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

Андрей Волошин

Учился на медика, но при этом самостоятельно изучил несколько языков программирования. Сейчас – Chief Technology Officer в Mobiliuz

1. Дело было в 8-м классе, отец принес мне диск с видеоуроками по Visual Basic 6.0. И я просто взял и начал повторять то, что там на видео показывали и комментировали. Первым приложением было “Привет, папа!”. Дальше старшеклассник подсказал мне, что есть .NET 1.1 Beta и вскоре я уже писал на VB.NET и C#. В 10-11 классах на олимпиадах еще писал на С++, даже что-то решал на TopCoder.

2. Поступил я в медицинский, хотел лечить людей, дарить им здоровье и счастье. Но позже розовые очки упали… Вместе с моим лучшим другом, который пошел учиться в КПИ, мы периодически собирались похакатонить. Пожалуй, решающим стал первый Facebook Hacker Cup – соревнование по алгоритмическому программированию. Прошел до полуфинала (где-то 270-280 место), после чего прилетело приглашение на on-site interview в Facebook. Тогда я посчитал, что останусь в медицине, и потому не ответил на него. Наивный выбор, но я был только на третьем курсе.

3. Через пару месяцев мне написали на почту и пригласили на первую работу в команду разработки облачной ERP-системы в качестве Adobe Flex developer. Через год перешел в Miratech, в отдел автоматизации, Business Development, как C# Developer, в апреле этого года пришел в Mobiliuz. В свободное время участвую в разных мероприятиях/хакатонах вроде Startup Weekend, hack4good,  Facebook Hacker Cup, CodeJam. Позволяет поддерживать мозги в тонусе.

Совет по обучению: Я учился по книгам: «Язык программирования Си» (также известная как K&R) Брайана Кернигана и Денниса Ритчи, “Алгоритмы на Java” Роберта Седжвика, “Чистый Код” Роберта Мартина, работам Эндрю Таненбаума. Могу посоветовать книги Thinking in Java (Bruce Eckel) и Effective Java (Joshua Bloch). Полезные онлайн-ресурсы: Hacker News, “Хабрахабр”, Stack Overflow, Reddit. Онлайн-курсы: Algorithms от Принстонского университета на Coursera и Developing Android Apps на Udacity. Тем, кто хочет на работу в Google или Facebook, можно поизучать geeksforgeeks.org и careercup.com. Задачки для программистов можно решать на Projecteuler.net и CheckIO.

Михаил Бортник

Ушел после первой сессии первого курса НАУ, самостоятельно выучил Ruby, сейчас работает в британском музыкальном стартапе R&R Music. Известный участник киевского Ruby-сообщества, сооснователь курсов Kottans.org (в прошлом один из форков RubyGarage, сейчас – это многоязычные курсы – JS/Ruby)

1. У меня не было другого выхода:) Ребенок в семье инженеров, компьютер в доме с 6 лет – сначала древняя глючащая “Электроника-МС1502”, где из самых увлекательных развлечений была плата ПЗУ с “бейсиком”. Читал книги по программированию. Потом – физико-математический лицей, олимпиады по программированию. К 16 лет я пришел уже с багажом из Basic, Pascal и C.

2. Почему ушел из вуза? Я лентяй и раздолбай:), к тому же, оторвавшись в 16 лет от родителей, не особо думаешь об обучении. Я твердо верил в то, что главные навыки, которые дает вуз – это умение искать и систематизировать информацию, а это я к тому времени уже хорошо умел.

3. Работу без образования искать было несложно. Если говорить именно о Ruby-программировании, я переписывался на juick.com (в прошлом – популярная блог-платформа для гиков) с парнем-рубистом, и он однажды написал, что ищет себе людей в команду. Он и стал моим первым тимлидом, за что ему громадное спасибо.

Совет по обучению: Сначала я учился экспериментируя, потом читал книги, документацию (с английским у меня довольно неплохо). Начать учить Ruby помог Software ENGINEering for SaaS на Coursera. Неплохой источник – Stack Overflow. Как мне кажется, для современного программиста навык “спортивного гугления” гораздо чаще приносит больше пользы, нежели классическое образование. Ведь на рынке довольно большой процент задач не несет в себе ничего нового, и их кто-то уже когда-то решал.

Из ресурсов по Ruby могу порекомендовать такие: Rubykoans, онлайн-курсы Rails for zombies, гайд why’s (poignant) GUIDe to Ruby, книги Design patterns in Ruby, Rails Antipatterns, The Well-grounded Rubyist Дэвида Блека, The RSpec book, из самых интересных – Ruby under the Microscrope, The Clean Ruby.

Елена Моргун

Самостоятельно изучила верстку, затем – PHP, JavaScript и Ruby. Сейчас – Senior Ruby on Rails Developer в GlobalLogic, преподает на курсах для программистов, одна из самых известных комментаторов на DOU.ua

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

2. Когда я поступала в вуз, программированием еще не увлекалась. Училась на радиотехническом в Киевском политехе, в какой-то момент взяла академотпуск, и в отпуске начала учить верстку.

3. Ни на одном собеседовании не возникало никаких проблем с тем, что у меня нет диплома программиста. Максимум упоминали вскользь, мол, “У вас нет профильного образования? Ну, ничего страшного”. Я сменила уже четыре места работы, сейчас работаю в GlobalLogic и еще ни разу не сталкивалась с тем, чтобы отношение как-то менялось из-за того, что нет профильного диплома.

Совет по обучению: Я начинала учить программирование с PHP, он давался очень тяжело. Сложнее всего самоучке заставить себя сесть и заниматься. Не бросать, даже если ничего не выходит, а часами вгрызаться в материал, пробиваться, пока не начнет получаться.  Главная мотивация: искренне интересоваться тем, чему учишься. Когда я начинала изучать программирование, это был 2008 год, и я тогда понятия не имела, что у программистов высокие зарплаты. Мне это просто очень нравилось.

Для самообразования могу посоветовать Tryruby.org (здесь можно попробовать программировать на Ruby в браузере), хороший онлайн-ресурс для начинающих – Codeschool.com. Из книг советую The Ruby on Rails Tutorial, “Язык программирования Ruby”, The Well-Grounded Rubyist – самая годная книга для продвинутых.

Давид Майборода

Software Engineer в “Яндексе”, автор Android-приложения для “КиноПоиска”

/** Implement to all that you love. */

public interface Loveworthy {
/**
Love is always one way.
It’s nothing to return;
@param loveable object
*/
void toLove(Object object);
}
К чему этот код, спросите вы? Программирование – искусство. А что муза для музыканта, художника или поэта ? Любовь, конечно. Вот и у программистов есть своя муза, у каждого личная. Тут стоит рассуждать шире, чем просто любовь к конкретному человеку, так как созидает и любовь к семье, к Родине…

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

2.  С момента поступления в вуз студенты неправильно понимают его смысл. Вуз обязан подталкивать к самообразованию, а не учить. Учат в школе. Помните, когда в вузе давали задание, большинство студентов с возмущались “нам этого не рассказывали”. Да и не должны были, будьте добры, сами уж как-то, а после на экзамене проверят, способен ли студент изучать науку самостоятельно… Когда человек осознает, что он может сам, в это время вуз и пропадает из жизни. У меня это было на втором курсе. Хотя все же диплом я получил, но уже на заочке и только бакалавра…

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

Совет по обучению: Очень советую курсы Роберта Седжвика на Coursera, а также его книгу “Алгоритмы на Java”. Но ничто так не развивает, как чужой код, и в этом вам поможет github.com.

code6Юлия Будник

Почти поступила на программиста, но в последний момент передумала. В вузе изучала экономику, но интерес к программированию и верстке никуда не делся. Сейчас – front-end HTML/CSS-специалист, работает с компанией Aejis. В портфолио – промо-сайты для Heineken, Rolling Stone, Unilever и других известных брендов

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

2. Я готовилась поступать на факультет автоматики и вычислительной техники в НАУ. Но в последний момент, на пороге последнего экзамена пошла сдавать экзамен по другому предметы. И по баллам поступила на экономический (он по рейтингу был выше, чем АВТ). Вообще, это долгая история.

3. Первый долгосрочный проект я нашла быстро. Мои первые работы в портфолио “для друзей” и “для себя” понравились заказчику. Дальше просто стала набивать руку на реальных проектах. Сложность была только в том, что приходилось очень много работать и было мало опыта. Но удовольствия это приносило не меньше.

Самообучение программированию, софет: Для самообразования искала информацию в онлайне, читала книги Дэвида Макфарланда. Могу посоветовать такие онлайн-ресурсы, как codeschool.comcodecademycodyhouse.co. Из книг рекомендую CSS3: The Missing Manual, 3rd Edition Макфарланда и пособие JavaScript & jQuery: The Missing Manual, 3rd Edition.