Как стать программистом и зарабатывать от $2 000 в месяц.

10 лет я работал программистом в лучших компаниях Киева, последние 5 — параллельно обучал программированию и помогал лучшим своим ученикам найти первую работу!

Я провёл больше 200 технических собеседований на должность Java Программист, знаю конкретно всё, что необходимо для того чтобы выучиться и устроиться на работу!

01. Поставить конкретную цель.

Поставить конкретную цель

Вы должны точно определиться когда Вы хотите стать программистом. Реально выйти на работу! И что конкретно Вам необходимо знать, а главное — иметь в наличии для своего первого собеседования. Один из моих лучших учеников прошёл путь с первого дня знакомства до первой работы за 11 месяцев, причём он до этого, как думал, уже умел программировать и закончил институт по технической специальности.

Его история успеха Игорь Нагорнов

Я советую Вам ставить цель минимум на 12 месяцев и ставить её так: «10 Декабря 1016 года Я, Петров Дмитрий Степанович работаю Java программистом и зарабатываю в месяц минимум $300. Если я не выполню обязательство, то оденусь в женское платье и пойду устраиваться на должность кассира в супермаркет!» и Ваша подпись.

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

02. Создать себе портфолио.

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

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

03. Подготовить резюме и посетить несколько собеседований.

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

Необходимо обязательно разобрать Все основные вопросы собеседования и потренироваться проходить автоматические тесты, которые зачастую задают для проверки «на дурака».

Лично я свою первую работу искал два месяца и посетил около 20 собеседований перед тем как меня взяли. Тогда я не умел ни составлять резюме, ни посещать собеседования. На каждом из них необходимо тоже учиться и делать заметки, иначе можно так ходить до посинения :)

04. Изучить Java Core.

Портфолио создать просто невозможно не изучив сначала Основы Программирования, Объектно Ориентированное Программирование (ООП) и Java Core. Сюда я отношу следующие разделы:

01. Числа и строки.
02. Методы, логика, циклы.
03. Массивы.

04. Основы ООП, Инкапсуляция.
05. Запуск из командной строки.
06. Наследование, Константы.
07. Статические переменные и методы.
08. Исключительные ситуации.
09. Интерфейсы.
10. Абстрактные классы.
11. Полиморфизм.
12. Java коллекции.
13. Интерфейс пользователя (AWT, Swing).
14. Дата, Время и Календарь.
15. Система ввода-вывода.
16. Многопоточность.

Это лишь общий план, не вдаваясь в подробности.

Если нравится статья ставьте Лайк и читайте дальше!

05. Основы архитектуры приложений.

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

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

06. Основные шаблоны проектирования.

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

07. Научиться писать Unit тесты.

Научиться писать тесты

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

08. Научиться работать с базами данных. Изучить язык SQL.

Основа любой программы — данные. И для их хранения используют специальные программы — базы данных. Для начала необходимо изучить MySQL и Derby.

Для общения с базами данных программисты используют язык SQL.

09. Выучить технический английский.

Компьютер разговаривает на английском языке — соответственно программист тоже должен его знать. Базового технического для чтения писем и книг сначала будет достаточно. Потом придётся разговаривать :)

10. Освоить систему контроля версий.

Работа в команде

Если понравилась фотка — ставьте Лайк и читайте дальше!

Программисты не работают в одиночку. Команды бывают самые разные, иногда доходит до 20 и более человек. Весь код хранится на специальном компьютере, к которому всегда есть доступ. И для работы с ним используют специальные программы. Они называются — система контроля версий. Самая популярная на сегодняшний день Git.

11. Уметь пользоваться IDE.

Программисты пишут код в специальных программах. Вам придётся изучить две самые крутые — eclipse и idea. Я лично пользуюсь Idea, начинал и долго работал на eclipse. Что лучше не знаю, скажу лишь что знаю много людей, которые перешли с eclipse на Idea и не знаю ни одного кто сделал наоборот :)

12. Изучить несколько программ для работы в команде.

После того как программист написал код, он отправляет его в систему контроля версий, потом специальная программа забирает его, компилирует, запускает тесты и создаёт архив для установки её на сервер (Bamboo, TeamCity).

Задания программисты получают тоже не в устной форме, поэтому необходимо научиться работать хотя бы с Jira.

13. Программы для сборки.

Bamboo и TeamCity собирают проекты, используя специальные конфигурационные файлы, созданные для обработки программами Ant, Maven, Gradle. Я перечислил их в по времени создания и сейчас на новых проектах часто используют Gradle. Просто начните использовать Gradle в своём проекте — это очень удобно и Вы изучите его в процессе.

14. Связка клиент — сервер.

Сегодня почти все программы работают через интернет. Например: почта, facebook или google docs. Суть такова, что у Вас две программы — одна находится на компьютере разработчика, а другая у Вас в браузере. Они общаются и пересылают друг другу данные через интернет. Нужно понимать как это работает и это первое что Вы должны будете освоить сразу после устройства на работу!

15. Spring и Hibernate.

Это названия фреймворков (программ для написания программ). Для того, чтобы найти работу Вам необходимо знать о том, что они делают и основные идеи их работы. Не нужно тратить на их изучение свои силы, приметесь за них на работе.

16. Изучить Linux.

ОС Linux и ей подобные системы почти всегда используют для запуска программ на Java. Есть базовый набор из 20 где-то команд, которые я постоянно использую. Их вполне достаточно для 99% ваших задач.

Если материал Вам полезен — поделитесь с друзьями!

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

На первый взгляд всё это кажется нереальной задачей, но при правильном подходе это всё можно спокойно освоить за 12 месяцев. Естественно, Вы теперь можете учиться по книгам и бесплатным видеороликам. В таком случае, пожалуйста, пообещайте себе вернуться на эту же статью, когда поймёте, что это как минимум не целесообразно :)

У меня есть хорошая новость для Вас! Если Вы действительно хотите стать программистом и хорошо зарабатывать начинайте заниматься прямо сейчас c трёх бесплатный уроков!

Убедитесь в отменном качестве обучения и идите к работе своей мечты!

3 урока программирования, интервью с программистами мирового уровня, видео наших платных программ и мастер классов


Самая страшная ловушка ХХI Века!

Самая страшная ловушка ХХI Века!

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

Самое страшное то, что этот страх невозможно в себе обнаружить, на него может Вам указать только тот, кто знает его в лицо!

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

Я называю эту ловушку — страх действовать!

Сегодня мы живём в мире информации, мы можем найти совершенно бесплатно практически всё, что пожелаем. Бесплатные статьи и видео позволяют нам обучаться дома в любом уголке планеты, где есть интернет. Это с одной стороны даёт нам огромное преимущество, а с другой стороны является самой страшной ловушкой!

Я расскажу Вам об одном знакомом Саше. Саша закончил институт и работает в офисе, пашет как вол, но денег постоянно не хватает! Все свидания с любимой проходят у телевизора… Саша понимает, что перспектив на работе никаких, зарплата в гривне, а доллар постоянно растёт и с каждым годом становится всё хуже и хуже!

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

Саша принимает решение стать программистом! Парень он толковый, поэтому сразу же идёт в интернет, смотрит ролики на youtube, скачивает книжку «Философия Java» и начинает учиться!

Как Вы понимаете — Саша уже попался…

Теперь давайте разберём ситуацию. Здесь я выделил 5 основных характеристик.

1. Нужно знать как работает наш мозг.

Самая страшная ловушка ХХI Века!

В нашем мозгу можем выделить 2 основные особенности:

Решение задач.

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

Сбережение энергии.

Здесь кроется самое интересное. Вы наверное заметили, что Вы не в состоянии контролировать поток мыслей. Вы не можете взять и перестать думать. Это называется — внутренний диалог. (Да, есть много информации на эту тему как его контролировать или выключить, но речь сейчас не об этом).

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

Это опасно для жизни? — Нет! Это можно съесть? — Нет! Так может ну его нафиг? — Да!

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

Вспомните, когда мы загораемся новой идеей — она нам сразу кажется такой крутой, глаза горят, руки чешутся! На завтра ты думаешь — вроде идея не такая уж и крутая, а послезавтра вообще переходит в разряд «Как я мог о таком подумать» или «Займусь этим завтра…, а лучше через год…» :)

Знакомая ситуация? Ставь «лайк»!

Этому уже есть научное объяснение. Я записал его для вас на видео.

2. Процесс обучения растягивается на всю жизнь.

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

Первый — нам не понравится и мы бросим эту затею, так и не разобравшись.

Второй — нам понравится. Этот вариант ещё хуже. Ты начинаешь копать, тратишь сотни или даже тысячи часов на просмотры видео, решение примеров, чтение статей, поиск информации. Потом у тебя опускаются руки, но ты думаешь: «Стоп, я же хочу стать программистом, я мужик, у меня есть Сила Воли!» и начинаешь снова и снова.

А в чём подвох? В том, что Вы в ловушке, на самом деле Вы не обучаетесь! Ваш мозг просто решает задачу с максимальной экономией энергии :)

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

3. Учёба никогда не переходит в реальную работу.

Самая страшная ловушка ХХI Века!

Мы учимся только тогда, когда начинаем что-то реально делать. А получаем результат только тогда, когда делаем действия, которые ведут к нашей реальной цели — стать программистом и найти работу!

Поэтому, если ваше обучение не подкреплено действиями с самого начала, то Вы не учитесь, а просто прожигаете время. Мозг обманывает нас, подсовывая иллюзию работы! Я вроде как делаю, стараюсь, ночами не сплю и сам себя подбадриваю: «Да всё хорошо, главное не сдаваться! Я мужик! Рррр!». И всё, что я выучил — я благополучно забываю через две-три недели, потом начинаю заново и так до бесконечности…

Я этот процесс называю — залипание. Например, я сижу и переключаю каналы на телевизоре, время бежит… прошёл час, а я ничего так и не выбрал, просто переключал каналы… Знакомая ситуация?

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

Напишите о том, что получилось в комментариях!

Смотрите ролик с интересной историей на эту тему.

4. Теряется мотивация, опускаются руки.

Каждый месяц мы проводим очень крутое событие, уникальное в сфере обучения программированию. Мы назвали его — Java Практикум. Здесь я за один день проясняю все вопросы в плане — нужно Вам идти в программирование или нет. Если интересно — оставьте заявку.

Как стать программистом и зарабатывать от $2000 в месяц.
Но речь сейчас не об этом…

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

«Я занимался самостоятельно по видео и книгам. С простыми заданиями было всё хорошо и как только я дошёл до ООП — всё! Я сижу над заданиями часами, потом делаю и — не так, делаю повторно — не так, читаю, гуглю, потом смотрю ответ, а там какая-то мелочь. Так два, три раза и всё — энтузиазм пропадает.» Здесь сразу же подключаются десятки других людей: «И у меня та же история, что делать?».

Дело в том, что сама профессия программист не такая тяжёлая, но для старта нужно усвоить довольно объёмный набор информации, а это требует времени. Самый лучший наш ученик, из более 140 на сегодняшний день устроился на работу за 11 месяцев!

На энтузиазме пропахать почти год под силу, наверное, только гению или сумасшедшему :)

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

Внимание!!! Мотивация — это один из самых важных сигналов о том, что Вы в ловушке ХХI Века! Если у Вас падает мотивация, значит у Вас нет результатов труда! Поверьте, если бы Вы ощущали реальный результат — мотивация бы появилась автоматически!

5. Некому дать пинок под зад!

Самая страшная ловушка ХХI Века!

Мы вкладываем Душу и силы в свою работу, в обучение, и признать свою ошибку в 10 раз труднее. Нужно приложить невероятные усилия, чтобы признать свою ошибку и двигаться дальше. Я знаю это как никто другой. Может Вы знаете, у меня был проект — система бронирования столиков в ресторанах через интернет. Я потратил 3 года жизни и около $60 000, чтобы понять бессмысленность дальнейшей работы.

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

Именно этот тренер (учитель) следит за Вами и в нужный момент корректирует Ваш путь, тем самым ведёт вас к гарантированному результату!

Я так же записал для Вас на эту тему классное мотивационное видео.

Об этом я узнал от одного из своих учителей около 4 лет назад. Я сразу не придавал этому особого значения, думал — это точно не про меня. Да, как понимаете, я был уже на крючке…

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

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

Как стать программистом и зарабатывать от $2000 в месяц.


Что нужно знать каждому программисту по версии Google!

Что нужно знать каждому программисту по версии Google!

Google очень крутая компания и много программистов, которых я знаю мечтают там работать. Я знаю о работе в Google, наверное, немного больше потому, что работал с человеком брата которого взяли туда программистом. Было это ещё в далёком 2006 году на моей первой работе в Киеве. Алексей пересказывал мне очень много историй своего брата и я, можно сказать, знаю что там происходило «из первых уст» :)

Несомненно, в Google работают одни из самых квалифицированных инженеров и программистов в мире. Сравнительно недавно они сделали страницу с названием «Technical Development Guide», что в переводе «Руководство по техническому развитию». На этой странице Google разместили список рекомендованных курсов для всех, кто хочет устроиться к ним на работу.

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

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

Все курсы из списка совершенно бесплатные, но перед тем как приступить к занятиям я хотел бы Вас предостеречь. В нашей школе сейчас обучается больше 100 человек и все они обучаются у нас благодаря нашему уникальному подходу к обучению. Сейчас у нас единственная в СНГ программа подготовки программистов нацеленная на реальный результат! За более чем 5 лет мы вывели набор последовательных шагов ведущих к реальной работе и один из них — избавление от 12 страхов, которые я вынес в отдельную супер популярную статью 12 Страхов, которые мешают Вам стать программистом и много зарабатывать.

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

Как стать программистом и зарабатывать от $2000 в месяц.

Рекомендации и ресурсы:

Изучите «Введение в компьютерные науки». Сфокусируйтесь на базовых инструкциях кодирования.

Онлайн ресурсы:

Полное погружение:

Изучите один из ООП языков (C++, Java®, Python®). Для начинающих:

Средний уровень:

Изучите другие языки программирования. Добавьте к вашим знаниям:

  • JavaScript®
  • CSS & HTML
  • Ruby®
  • PHP®
  • Perl®
  • Shell® script
  • Lisp®
  • Scheme®

Онлайн ресурсы:

Тестируйте ваш код. Научитесь отлавливать баги, создавать тесты и ломать ваши программы.

Онлайн ресурсы:


Логическое мышление и знание дискретной математики.
Онлайн ресурсы:


Развивайте глубинное понимание алгоритмов и структур данных.
Получите базовые знания о структурах данных (stack, queues, and bags), алгоритмах сортировки (quicksort, mergesort, heapsort), структуры данных (binary search trees, red-black trees, hash tables), и алгоритм Big O.

Онлайн ресурсы:


Развивайте глубинные знания в операционных системах.
Онлайн ресурсы:

UC Berkeley Computer Science 162


Изучайте юзабилити (UX design).
Онлайн ресурсы:

Udacity — UX Design for Mobile Developers


Изучайте искусственный интеллект.
Онлайн ресурсы:


Изучайте как создавать компьютеры.
Онлайн ресурсы:

Coursera — Compilers


Изучайте криптографию.
Онлайн ресурсы:


Изучайте параллельное программирование.
Онлайн ресурсы:

Coursera — Heterogeneous Parallel Programming


Работайте над проектами, которые выходят за рамки тестовых заданий.
Создайте и поддерживайте веб-сайт, установите его на свой сервер или напишите робота.

Онлайн ресурсы:


Работайте над маленькой частью большой системы (базы кода, codebase), изучите и разберитесь с существующим кодом, следите за документацией, поработайте в дебагере.
GitHub прекрасное место чтобы почитать код других людей или внести свою долю в существующий проект.

Онлайн ресурсы:


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

Постоянно практикуйтесь в алгоритмах и программировании.

Знания алгоритмов можно оттачивать на соревнованиях вроде CodeJam или ACM’s International Collegiate Programming Contest.

Онлайн ресурсы:


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

Устройтесь интерном в компанию и учитесь у программистов.
В США интернатура проходит летом с мая по сентябрь. Заявки обычно подаются за несколько месяцев.
У нас в Украине тоже есть список IT компаний, где можно пройти стажировку

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

Как видите, стать хорошим программистом и зарабатывать много денег вполне реально, но это требует времени и усилий. Сидя дома на диване результата не ждите :) Я уже несколько раз рассказывал почему я бросил работу с зарплатой $6 000 в месяц (у нас это намного больше чем платят программистам Google после вычета налогов) чтобы посвятить всё своё время разработке внутренних программных продуктов и помогать таким ребятам как Вы изменить свою жизнь раз и навсегда.

Сейчас материалов по программированию просто колоссальное количество и самостоятельно всё это изучить может, наверное, только гений. Я живу программированием с 8 класса, уже более 18 лет, за это время я изучил и проработал на практике очень много и помогу Вам, так же, как я помог другим моим ученикам стать программистом и обеспечить себе счастливое будущее.

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

Я понимаю, что каждый человек уникален, со своими собственными способностями и опытом, поэтому мы создали простой бесплатный курс для начинающих всего из 3-х уроков. С 8 ноября, буквально за две недели, его посмотрели больше 600 человек, нам даже пришлось перевести сайт на новый хостинг :)

Жмите жёлтую кнопку «Получить доступ бесплатно» внизу прямо сейчас и начинайте свой путь к работе в Google!!!
Оригинал статьи можно найти здесь.

Как стать программистом и зарабатывать от $2000 в месяц.


Директор КА,
Ющенко Олег