Как стать Java разработчиком в 2021
В вебинаре мы будем говорить о том, как начать свой путь в качестве Java разработчика - от новичка без опыта в программировании до уровня специалиста, востребованного на рынке.
В вебинаре будут рассмотрены две стороны:
- Что учить – автор поделится своим виденьем того, что нужно учить в первую очередь как базу, что нужно осваивать на этапе поиска первой работы, и что нужно доучивать, когда специалист уже работает ( на примере Java Enterprise стэка).
- Как искать работу - со стороны построения карьеры речь пойдет о том, какие пути можно выбрать для построения карьеры, о рынке с точки зрения работодателя, курсов, соискателей. Какой проект лучше выбрать, как часто менять работу, как развивать свою карьеру.
Весь вебинар будет разделен на 2 части - до первой работы и во время работы. В результате у начинающих специалистов появится конкретный план действий для того, чтобы начать карьеру, а у работающих специалистов появится понимание того, как расти дальше.
План вебинара:
1) Знакомство, немного о себе и своем пути в IT сфере.
2) Что нужно учить начинающему Java разработчику
- Подготовка к смене или обретению профессии. Настройка рабочего окружения, английский язык, выбор стратегии, университет, курсы, самостоятельное обучение, ментор, книги, практика.
- От общего к частному. Стандартная схема работы приложений в энтерпрайз.
- Hello World application. Один из ключевых шагов для изучения новых технологий.
- Базовый синтаксис. Примитивные переменные, операторы, циклы, условия и все с чем мы работаем примерно с 1950 года.
- Объектно-ориентированное программирование (ООП). Основные принципы ООП (наследование, полиморфизм, инкапсуляция, абстракция) их проявления в коде, класс Object и его методы, понятия “класс”, “конструктор”, “метод”, “объект”, сигнатура метода.
- Объекты, хранящие значение. Класс String. Его методы, неизменяемость, String pool. Другие обертки над примитивами.
- Множества в Java. Arrays (Массивы) Collections (Коллекции) и Maps (Карты). Иерархия Collection, иерархия Map. Множества, которые используются постоянно и о которых спрашивают на собеседованиях и те, о существовании которых просто достаточно знать . Отличия ArrayList от LinkedList. HashMap от HashSet. Array от ArrayList. Алгоритмы, Дженерики, деревья.
- Обработка исключений. Иерархия исключений, проверяемые и непроверяемые исключения. Error и Exception.
- Продвинутые темы, знакомство. Функциональное программирование, лямбда выражения, функциональные интерфейсы, стримы, IO (Input Output(ввод и вывод данных)), Serialization, Multithreading, Concurrency.
- Базы данных. Реляционные и NoSQL базы данных, язык запросов SQL, Joinы и их типы, Postgres и другие базы данных, связи между таблицами.
- Repository уровень. Взаимодействие Объектно-ориентированной модели с реляционной. JDBC, JPA + Hiberante, JPQL/HQL, Spring Data.
- Spring framework. Inversion of Control и Dependency injection. Reflection. Аннотации: Bean, Controller, Service, Component, Repository, Configuration и другие. Spring Security.
3) Наработка практики программирования. Портфолио
- Pet project с примером. Spring, JPA + HIbernate, Controller + Thymeleaf/RestController, Postgres. MVC архитектура.
- Портфолио. Spring Boot, Spring Data, Jira, Git branches и команда, code review, обсуждения архитектуры, отдельная идея.
4) Подготовка к поиску работы и дальнейшая карьера
- CV, LinkedIn аккаунт, djinny.
- Подготовка к интервью с HR. Английский, вопросы, ответы, тестовые задания, софт скиллы.
- Подготовка к техническому интервью. Mock собеседования, материалы. SOLID, KISS, DRY и прочие важные для собеседования вопросы.
- Поиск работы и прохождение собеседований. Активность в LinkedIn, Djinny, Dou и через знакомых в компаниях.
- Первые 3 месяца на проекте. Чего обычно ждут от Trainee или Junior. Как продолжать расти.
- Первый год. Книги, которые нужно прочитать, продвинутые темы, в которые нужно вникнуть, GOF паттерны, сертификации.
- Второй год. Микро-сервисы, Облачные технологии, другие технологии.
Целевая аудитория:
Данный вебинар будет интересен людям, думающим о том, чтобы стать Java разработчиком, начинающим специалистам, которые уже сделали свой выбор и двигаются к поиску первой работы, а также trainee и junior разработчикам, которые уже работают на своих первых проектах и думают о том, куда двигаться дальше.