план обучения программированию java

Программирование на Java с нуля: дорожная карта разработчика

Авторизуйтесь

Программирование на Java с нуля: дорожная карта разработчика

Java уверенно занимает лидирующие места в списках самых популярных и востребованных языков программирования. Этот язык используется в широком спектре задач: десктопных приложениях, веб- и Android-разработке, в работе с серверами и встраиваемыми системами. Мы вместе с факультетом Java-разработки GeekBrains составили дорожную карту по Java, которая поможет систематизировать изучение этого языка.

Базовые темы для изучения Java с нуля

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

Не стоит забывать про Maven — инструмент сборки и управления проектом, а также про систему контроля версий Git. Кроме того, любое приложение нужно уметь тестировать и грамотно документировать.

После изучения основ вам могут понадобиться шаблоны (паттерны) проектирования. Также вам может быть интересен Netflix Stack — набор сервисов с открытым исходным кодом для создания и поддержки приложений.

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

Ресурсы для изучения программирования на Java по сферам разработки

Веб-разработка

Java программирование в веб представлено в виде сервлетов. Эта технология расширяет веб-сервер.

Сервлеты — особый тип Java-программ, который выполняется внутри веб-контейнера. Они являются промежуточным звеном между запросами клиента и сервером. Также могут пригодиться фреймворки: Spring и Netty.

Building Back-End Web Apps with Java, JPA and JSF

Эта книга рассказывает о создании бэкенда веб-приложений при помощи Java Server Faces (JSF), Java Persistence API (JPA) и баз данных MySQL. Процесс разбит на 7 шагов и снабжён практическими примерами.

Программирование WEB-приложений на языке Java

Это исчерпывающее руководство по веб-разработке на языке Java. В книге рассмотрены все технологии, необходимые для создания веб-приложения с помощью сервлетов, JSP, EJB. Материал преподносится не просто какими-то абстрактными примерами, а в контексте реальных проектов, например е-коммерция, программы пересылки файлов, сетевые книги на основе XML.

Android разработка

Разработка приложений под Android — ключевая особенность Java. При этом речь идёт не только о смартфонах, но и о планшетах, смарт-часах, телевизорах и приставках. API Android написана на API Java, поэтому при разработке вы можете использовать всё те же инструменты, что и при нативной разработке. Если вас заинтересовало Java обучение именно в этом направлении, то рекомендуем ознакомиться с этими материалами:

Head First Android Development

В данной книге вы узнаете как проектировать интерфейсы приложений, структурировать их, научитесь создавать базы данных и работать с ними. В книге рассмотрены все основные компоненты приложений Android. Издание рассчитано на новичков.

Android. Сборник рецептов. Задачи и решения для разработчиков приложений. 2-е издание

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

Книга идеально подходит для разработчиков, владеющими языком Java, основами платформы Android и интерфейса Java SE API. Она содержит примеры кода, предоставленные более чем тридцатью разработчиками.

Нативная разработка

Не стоит забывать и про программирование на Java для десктопов. Основная платформа для десктопной разработки — JavaFX.

Java 3D Programming

Java 3D — это клиентский API для отрисовки интерактивной 3D-графики, который можно применять как в играх, так и в научных визуализациях. Разобраться в нём поможет эта книга, предложив как теорию, так и богатый набор практических приложений. Знание OpenGL и Swing для читателя будет существенным плюсом.

JavaFX 2.0 Разработка RIA-приложений

В этой книге рассказывается о разработке RIA-приложений (Rich Internet Application). Тут рассматриваются компоненты графического интерфейса пользователя, применение CSS-стилей, создание визуальных эффектов, выполнение фоновых задач. Книга сопровождается большим количеством примеров с подробным анализом исходных кодов.

Big Data

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

Big Data Analytics with Java

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

Инструменты Java-разработчика

Фреймворки для разработки на Java

Spring

Spring является одной из самых популярных платформ для Java. Преимущественно она используется для создания веб-приложений, хотя отлично справляется и с другими задачами. С ней программирование на Java становится лёгким даже в высоконагруженных приложениях.

Spring не является одним цельным фреймворком. Он представляет из себя набор модулей для решения конкретных задач. Вот некоторые из них:

Netty

Это асинхронный событийно-ориентированный сетевой фреймворк для простой разработки высокоэффективных клиент-серверных протоколов. На сегодняшний момент его используют Apple, Google, Facebook и Twitter.

Vaadin

В веб-разработке Java обычно используется на серверной части. Но не в этом случае. Фреймворк Vaadin имеет две модели разработки: для сервера и для клиента. Модель работы приложений на Vaadin очень схожа с моделью работы нативных приложений Java — это существенно упрощает процесс разработки. Для генерации кода на стороне клиента фреймворк использует Google Web Toolkit.

Grails

Этот фреймворк создан для языка Groovy, который, в свою очередь, написан на Java. Такая иерархия надстроек отлично облегчает разработку приложений. Так что если вам нужно создать высокоэффективное приложение с низким порогом вхождения — этот фреймворк именно для вас.

Дополнительные материалы для изучения Java

Что дальше?

Конечно, что прочесть несколько книг и посмотреть видеокурсы недостаточно. Вам предстоит написать большое множество программ, ведь знания без опыта почти бесполезны. Вносите вклад в open source проекты, посещайте конференции и обменивайтесь опытом на форумах. Или поступайте на факультет Java-разработки в GeekUniversity — там вас научат всему, что необходимо, чтобы стать Java-программистом, и помогут получить работу после курса.

Источник

15+ лучших онлайн-курсов обучения Java-программированию с нуля. Платные и бесплатные 2020-2021. Рейтинг, сравнение, цены.

В этом обзоре разберём ТОП онлайн-курсов по Java-программированию. На курсах научат начинающих специалистов с нуля профессии «Java-разработчик/программист» – включая трудоустройство, обучат программированию на языке Джава, разрабатывать веб-приложения, использовать фреймворки (Spring), ООП, работать с Git.

1 место. Курс «Java-разработчик с нуля» — Нетология


На курсе вы научитесь

Программировать на Java
Изучите основы программирования, синтаксис Java, объектно-ориентированное программирование

Разрабатывать веб-приложения
Узнаете основы клиент-серверного взаимодействия, вёрстку на HTML и CSS, освоите работу с базами данных и SQL

Использовать фреймворки
Освоите шаблоны проектирования и фреймворк Spring, который используют 4 из 10 Java-программистов

Программа курса

Вас ждёт 72 часа теории и 295 часов практики

Кому подойдёт этот курс

Как проходит обучение
Вебинары: 2–3 раза в неделю по вечерам
На живых вебинарах вы будете изучать теорию и практику с преподавателями — и сможете задать им вопросы. Записи занятий будут доступны в личном кабинете

Читайте также:  миксопапиллярная эпендимома спинного мозга что это

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

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

Достигнутые результаты

Ключевые навыки

Мы поможем с трудоустройством
Вас ждёт бесплатная программа трудоустройства Центра развития карьеры

2 место.Курс «Профессия Java-разработчик» — Skillbox

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

Для кого этот курс

Помощь в трудоустройстве

Программа

22 темы, разработанные на основе требований работодателей методологами-практиками программирования. Без «воды», только важная информация.

Основной блок

Дополнительные модули

Дипломные проекты

Диплом Skillbox

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

3 место.Курс «Программист Java» — GeekBrains

Java-разработчики входят в топ-3 по востребованности среди IT-профессий, по данным HeadHunter. Чтобы освоить популярную специальность, вам будет достаточно школьных знаний. Вы изучите основы HTML/CSS и язык Java и научитесь создавать веб-приложения с помощью Spring Framework.
Отзывы на сайте.

Вы начнете с основ и получите знания, необходимые для старта карьеры. Вас ждут актуальная программа, 2–3 вебинара в неделю и 2 месяца стажировки. 87 часов обучающего контента. 183 часа практики.

Ключевые навыки

Курс «Профессия Java-разработчик» — SkillFactory

Освойте программирование, backend-разработку на Java, Spring и основы DevOps.
Создайте портфолио проектов и начните откликаться на вакансии уже после 7 месяцев обучения.

Курс подойдет вам, если вы

Изучали Java самостоятельно

Вы сможете систематизировать свои знания, пробить свой “стеклянный потолок”, возобновить практику программирования, достичь профессиональных целей и прокачаться в технологиях Java

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

Знаете другой язык программирования
Вы сможете изучить новый для себя язык и применять полученные знания в рабочих и личных проектах, попробуете себя в качестве “джависта”, узнаете подходит ли вам этот язык

Навыки после обучения:

Курс «Java Developer» — Otus

Программа курса

Ступень 1

Модуль 1: Введение в эко-систему Java, настройка окружения
Модуль 2. Синтаксис Java, первая программа
Модуль 3: Базовая алгоритмическая подготовка
Модуль 4: Введение в архитектуру приложения
Модуль 5. Взаимодействие с внешними системами
Модуль 6. Инфраструктура процесса разработки и эксплуатации
Модуль 7: Проектные работы

Ступень 2
Модуль 1. Язык и платформа Java
Модуль 2. Проектирование
Модуль 3. Работа с окружением
Модуль 4. Spring
Модуль 5. Многопоточность
Модуль 6. Проектная работа

Ступень 3
Модуль 1. Введение в Spring Framework
Модуль 2. Работа с базами данных
Модуль 3. Разработка web-приложений
Модуль 4. “Около” и “Дзен”
Модуль 5. Проектная работа

Курс «Java-разработчик» — Product Star

Вы научитесь программировать с нуля на самом популярном языке программирования Java, добавите сильные проекты к себе в портфолию и станете востребованным специалистом для любой Digital-компании.

Чему вы научитесь

Писать код на Java
Изучите синтаксис языка, познакомитесь с переменными и операторами, научитесь писать и структурировать свой код и разбираться в чужом

Работать с MySQL
Узнаете, как сохранять и изменять информацию в базе данных MySQL. Научитесь писать запросы и управлять большими объёмами данных

Создавать веб-приложения
Поймёте, как превратить строки кода на Java в работающую программу, и научитесь разрабатывать веб-приложения с помощью фреймворка Spring

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

Программа курса (60 лекций и воркшопов)

Блок 1: “Основы Java


Блок 2: “Java Core”


Блок 3: “Работа с Git и Spring Framework”


Блок 4: “SQL и базы данных”


Блок 5: Дипломная работа и помощь с трудоустройством

Курс «Онлайн-курс по Java» — Irs.Academy (Hedu)

Программа курса по Java

Урок № 1 – Знакомство
На первом занятии вы узнаете, что такое Java. Мы установим Java JDK, подготовим среду для работы и настроим инструменты, чтобы вам было комфортно ими пользоваться. Создадим первую простую программу.

Урок № 2 – Примитивные типы данных
На втором занятии мы начнем знакомиться с переменными. Рассмотрим несколько типов операторов: условные, циклические, а также Switch. Узнаем, что такое методы и для чего они предназначены. Обучение мы начнем с основ, затем перейдем к более сложным аспектам.

Урок № 3 – Основы объектно-ориентированного программирования. Часть I
Начнем занятие с классов и объектов. Узнаем, для чего нужны методы get() и set(), коснемся модификаторов доступа, константы и перечислений. Вы научитесь работать с конструкторами классов и проводить инициализацию объектов. Интернет-уроки очень удобны – вы можете изучать новое, не отрываясь от работы или вашей очной учебы, заниматься можно в свободное время дома.


Урок № 4 – Основы объектно-ориентированного программирования. Часть II
На четвертом занятии вы узнаете, что такое наследование, составите представление о композиции и встретитесь с полиморфизмом. Мы на практике поработаем с абстрактными классами, разберемся с интерфейсами и вложенными классами. Также мы увидим, как функционируют локальные и анонимные классы.


Урок № 5 – Как проводится обработка исключений?
Пятое занятие позволит разобраться с основами и try-catch блоками. Также выясним, что делать с Checked и Unchecked исключениями. Научимся создавать классы исключений и работать с блоком finally. Создание классов исключений. Try-with-resources.


Урок № 6 – Работа с массивами и интерфейсами
На шестом уроке мы перейдем к одномерным и двумерным массивам. Также коснемся динамического массива. Узнаем, в чем специфика интерфейсов Collection, Queue, Deque, Set, что делают методы equals и hashCode, как проводятся операции с множествами. Рассмотрим классы TreeSet, HashMap, TreeMap.


Урок № 7 – Работа с файлами Ява
На седьмом занятии мы научимся проводить различные операции с FileWriter, FileReader. Наш курс регулярно обновляется, и многие новые фишки вы не найдете в учебниках. Мы познакомимся с байтовым потоком, сохраним несколько объектов с помощью ObjectOutputStream. Поработаем над файлами с java.io.File, узнаем, что делать с классами Paths и Files. Вы освоите чтение и запись файлов с помощью Java NIO. После этого занятия вы сможете работать с директориями и овладеете рекурсивным копированием файлов.


Урок № 8 – Работа с generic
На восьмом занятии мы выясним, что делать с generic типами. Рассмотрим параметризованные методы и процедуру их наследования. Узнаем, как делается подстановка типов.


Урок № 9 – Lambda expressions и Streams
Девятое занятие принесет нам знакомство с функциональными интерфейсами в Lambda и областью видимости переменных выражениях. Мы узнаем, что такое method reference. Проведем детальный обзор интерфейса Stream и попробуем в деле использовать методы.


Урок № 10 – Многопоточность
На десятом уроке мы займемся созданием потоков. Применим приобретенные знания в работе Wait и Notify-методы. Узнаем специфические черты классов ReentrantLock и Semaphore. Выявим специфические черты интерфейсов Callable and Future.

Источник

Как стать Java разработчиком за 1,5 года

Меня зовут Сергей, мне 40 лет и сейчас я работаю Java разработчиком в немецкой компании. Мы занимаемся разработкой программного обеспечения для пивоварен оценки финансовых и кредитных рисков. Это моя первая работа в качестве разработчика. До этого я работал в сфере IT-поддержки и системной интеграции. Первого февраля 2019 г. закончился мой шестимесячный испытательный срок, и у меня на руках бессрочный контракт. Я хочу поделиться своим опытом, как можно самостоятельно выучить Java так, чтобы получить работу.

Читайте также:  Что такое dia в параметрах колесных дисков

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

Disclaimer

Скажу сразу, что всякие варианты «выучи яву за 10 дней» (21 день, 30 дней и т.д.) – это утопия. Нет никакой красной таблетки, чтобы быстро попасть в матрицу. Но за год-два параллельно с основным местом работы – вполне реально.

Что у меня было в активе, прежде чем я начал изучать Java

Сначала я хотел назвать статью «Как стать Java разработчиком за 1,5 года с нуля», но передумал. Я ведь пришел в программирование не из совершенно другой области, а из IT. Но работал я не в разработке, а в поддержке. Вероятно, дальнобойщику будет не так просто повторить мои шаги, чтобы стать программистом. Хотя, если у моей жены получится в свои 34 переквалифицироваться из чистого гуманитария в разработчика (или тестера), то напишу еще одну статью.

Стоит сказать о том, что я уже умел, когда решил стать разработчиком.
В университете в течение 2-х семестров мы изучали программирование на Си и С++. Ничего особенного или каких-то глубоких знаний. Сдали – забыли. Далее, будучи студентом, я писал какие-то простенькие программы на Delphi для себя. И всё. Это было более 20 лет назад.

Дальше моя карьера выглядела так:

Непосредственно программированием я вообще не занимался.

Мой путь

Онлайн-курсы.

Я начал со следующих специализаций на coursera.org:

Java Programming and Software Engineering Fundamentals – 4 месяца

Я прошел следующие онлайн-курсы:

После этой специализации я уже более-менее разбирался в языке, но писать самому программы было еще нереально. Последний capstone-проект я не сделал. Мне было сложно. И у меня, честно говоря, пропал энтузиазм. Я сделал перерыв.

Object Oriented Java Programming: Data Structures and Beyond– 5 месяцев

Через месяц я решил всё-таки вернуться к занятиям снова. Я пошел на специализацию из пяти курсов:

Последний capstone-проект я также не осилил. Но предпоследний курс в списке «Mastering the Software Engineering Interview» помог мне неплохо подготовиться к последующим собеседованиям. А еще я смог написать свой первый простенький парсер простого сайта на чистом HTML. Уже было неплохо, но не впечатляло.

How to Code – 3 месяца

Следующим шагом были эти два странных курса на edx.org:

Я написал «странных», потому что там вообще речь не идет о Java. Авторы курса используют специальный язык программирования Beginning Student Language (BSL). Я где-то прочитал, что они мега-полезные. Наверное, эти два курса помогли мне лучше понять некоторые приемы написания программ и стали хорошим подспорьем для написания Unit-тестов в реальной работе. Но, если быть честным, их можно пропустить.

Data Structures and Algorithms – 2 месяца

Потом я снова вернулся на coursera.org и начал новую специализацию, сотоящую из следующих четырёх курсов:

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

Топтание на месте

В тот момент я понял, что топчусь на месте. Прохождение новых курсов не давало такого ощутимого количества новых знаний, как это давали первые. Т.е. знания вроде прибавляются, но это никак не приближает меня к получению работы. Я не понимал, как с такими знаниями можно вообще найти на работу. Я всё также не мог написать ничего, что было бы сложнее парсера. Ну как так-то. Я даже пытался написать свой сервис парсинга сайтов с блэк-джеком и путанами, но уже после недели разработки мой проект превратился в кашу из классов. И я уже сам не мог разобраться в том, что я там понаписал. Кроме того, мне всё ещё были непонятны некоторые аспекты функционирования языка. И это после того, как я уже потратил примерно год на все этих курсы. Двенадцать онлайн-курсов и целый год времени, Карл, вы только вдумайтесь в это. На самом деле, это был провал. Я был уверен, что за год я смогу стать разработчиком благодаря этим курсам. Я заблуждался. Мне нужен был план Б.

Альтернатива

Я стал искать курсы, которые бы помогли мне получить какие-то практические навыки, востребованные в реальной работе. Но ничего толкового не было, либо стоило приличных денег. Те же курсы от отуса стоят 50000 за шесть месяцев и отзывы на них противоречивые. Я не был готов к таким расходам. Я был готов впахивать самостоятельно и искал, как это можно сделать бесплатно или совсем недорого. В итоге все онлайн-курсы, которые мне попадались, делились на две категории:

А между ними зияющая пустота. Ну где я и где все эти микросервисы. Получалось, что для «троечников» вообще ничего нет. Или есть, но за хорошие деньги. И как стать «хорошистом» бесплатно, без регистрации и СМС, вообще непонятно.

Сертификация Oracle

Тогда я решил стать сертифицированным разработчиком на Java. Потому как фраза «Я профессиональный программист на Java» звучит очень круто и должна сразить будущего работодателя наповал. Во всяком случае, тогда я так наивно думал.

OCA: Oracle Certified Associate Java SE 8 Programmer – 2 месяца

Для этого я купил книгу:


OCA: Oracle Certified Associate Java SE 8 Programmer I Study Guide: Exam 1Z0-808

На освоение этой книги у меня ушло примерно 2 месяца. Она реально открыла мне глаза на многие аспекты и заставила понять, как работает язык в деталях. Это было хорошее продвижение вперед. Но не в поиске работы, а в понимании языка Java. На экзамен я шел с уверенностью, что сдам его хорошо, и я его сдал. Я набрал 84% при необходимых 65%. Я был безмерно горд собой.

OCP: Oracle Certified Professional Java SE 8 Programmer – 4 месяца

Я с энтузиазмом принялся за вторую книгу тех же авторов:


OCP: Oracle Certified Professional Java SE 8 Programmer II Study Guide: Exam 1Z0-809

На освоение второй книги я потратил уже 4 месяца. И это оказалось реально сложно. Два раза я делал перерывы по одной неделе, потому как понять лямбда выражения или многопоточность мне было действительно непросто. Также меня убивало обилие классов для ввода и вывода. Все эти NIO и NIO2, которые так похожи и которые нужно было знать. Что там базовый класс, что производный? Это был настоящий кошмар. В итоге я назначил дату экзамена за месяц, потом перенес его на две недели, потом еще на две. Меня поджимали сроки, на горизонте маячило собеседование. И мне нужен был этот сертификат. Я не стал переносить экзамен в третий раз и пошел с тем, что имел. В отличие от первого экзамена, я уже не был уверен в хорошем результате. Я вообще не был уверен, что смогу его сдать. От былой гордости не осталось и следа. Объем информации для понимания и запоминания во второй книге раз в пять больше чем в первой. Но я сдал и этот экзамен. К счастью, тестовые задания в книгах оказались сложнее, чем те, которые были на экзамене. Но это был прорыв… для меня. Прорыв в плане знаний и понимания того, как работает язык и какие инструменты он предлагает.

Читайте также:  К чему снится что тебя укусила змея во сне

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

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

Что нужно, чтобы получить работу?

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

Подготовка к интервью – 1 месяц

Я купил следующую книгу:

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

Дополнительные навыки

К этому моменту я уже активно мониторил рынок вакансий в своём городе и выбрал компанию, в которой хотел бы работать. У них была вакансия Java Developer. В вакансии в числе желаемых навыков стояли знания Oracle SQL, GWT, Eclipse, SVN, Maven, Jenkins. Мне не нужны были глубокие знания всех этих технологий, мне нужно было простое понимание, что это такое и как оно работает. Чтобы на собеседовании можно было сказать, мол да, я знаком, но не глубоко.

Oracle SQL – 1 неделя

SQL я уже неплохо знал, так как по долгу службы приходилось делать много произвольных отчетов для руководства. Но это был T-SQL от Microsoft, а тут требовался SQL от Oracle. Пришлось купить книжку, чтобы вспомнить основные моменты и понять разницу.

Эту книжку я пробежал быстренько за неделю. И понял, что я на 70% готов сдать еще один экзамен. Но мне было уже не до этого.

SVN – 1 неделя

SVN распределённая система управления версиями. GIT или SVN используется в большинстве компаний, которые занимаются разработкой ПО. Курсов по SVN я не нашел, поэтому решил взять короткий курс по GIT: «Version Control with Git», чтобы быть в курсе темы. Я даже подумал, что если спросят про SVN, то скажу, что имел дело с GIT. А потом на месте сориентируюсь. Если вдруг будет что-то непонятно, то всегда можно будет сказать, что в GIT это немного по-другому. И это, кстати, сработало.

GWT – 3 дня

Следующая технология из списка – GWT. Потратив несколько дней на поиски информации, я понял, что с этим Фреймворком от Google мне просто не разобраться. Если упрощенно, то можно писать сложные сайты на Java, а этот Фреймворк преобразовывает твой код в HTML + JavaScript и отображает в браузере без всяких надстроек и дополнений. Слишком всё круто. GWT я решил пропустить.

Eclipse – 3 дня

Eclipse — среда разработки, основной инструмент разработчика, с которым я имею дело каждый день. Каких-то специальных курсов я не брал. Посмотрел несколько видео на youtube, понял основные приемы. Попробовал всё сам руками.

Maven, Jenkins – 15 минут.

На эти две вещи времени просто не осталось. Собеседование было уже утром, поэтому я просто прочитал 2 статьи в википедии и лёг спать.

Время

Мной было потрачено примерно 18 месяцев, 2 недели, 6 дней и 15 минут на получение знаний и навыков, необходимых для получения места разработчика. Этим я занимался по вечерам, тратя 1-3 часа в будние дни. И около 5-6 часов на выходных.

Деньги

Я готов был тратить свое время и не готов был тратить деньги. Но потратить их всё же пришлось.

Курсы:

Книги:

Экзамены:

Дополнительные расходы:

Итого: 702€

Совсем бесплатно, к сожалению, не получилось. Книги покупал на английском, т.к. экзамен тоже на английском.

Результат

Этих знаний хватило, чтобы пройти собеседование и подписать контракт в достаточной крутой немецкой компании. Я бы даже сказал, что их хватило с запасом.

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

За эти 6 месяцев работы в качестве разработчика я закрыл более 200 заявок на разработку, доработку и исправление ошибок в коде совершенно разных подсистем и модулей. И ни от одной заявки я не отказался «потому что я не смог». Да, мне приходилось и сейчас приходится разбираться в новых вещах, искать информацию, вникать в детали. Что-то я делаю медленно, но мне это интересно и процесс идёт. А ещё за это хорошо платят.

Но не надо думать, что я очень умный. Я самый простой парень, который просто решил изменить свою жизнь к лучшему. Я такой же, как и ты. А если смог я, то сможешь, и ты!

Экспресс – путь

На самом деле, чтобы стать разработчиком, у меня ушло не 1,5 года, а два. Но это по моей собственной глупости (читайте об этом в моем телеграм-канале). Непосредственно на яву я потратил 1,5 года. Но необязательно повторять мои ошибки. Думаю, что можно достичь того же результата за более короткий срок. Выкидываем всё лишнее и получаем примерно такой путь:

Часть первая – 5 месяцев

Параллельно читаем книжку:

По результатам сдаем экзамен.

Часть вторая – 2 месяца

Берем следующие курсы специализации Data Structures and Algorithms:

Параллельно читаем книгу:

Часть третья – 4 месяца

По результатам сдаем экзамен.

Часть четвертая – 1 месяц

Смотрим, что конкретно хочет работодатель от соискателей, и тратим по одной неделе на каждую из 4-х самых нужных технологий, программ или Фреймворков (Git, Eclipse, Maven, Spring и т.д.). Плюс изучаем предметную область, в которой работает работодатель, его продукты, если есть и т.д.

Итого год. За год – вполне реально.

Будьте на связи

О том, как я изменил свою жизнь в 40 лет и переехал с женой и тремя детьми в Германию я пишу в своем телеграм-канале @LiveAndWorkInGermany. Пишу о том, как это было, что хорошо и что плохо в Германии, о планах на будущее. Коротко и по делу. Присоединяйтесь – будет интересно.

Источник

Образовательный портал