Как стать программистом и зарабатывать от $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 урока программирования, интервью с программистами мирового уровня, видео наших платных программ и мастер классов



Добавить комментарий