"Пути развития java разработчика" Дмитрий Соколов
TRANSCRIPT
![Page 1: "Пути развития Java разработчика" Дмитрий Соколов](https://reader033.vdocuments.site/reader033/viewer/2022051300/587ce8441a28ab564b8b49cf/html5/thumbnails/1.jpg)
Заголовок презентации
Имя и фамилия автора докладаКомпания
Контактные данные 1Контактные данные 2Контактные данные 3Контактные данные 4
Пути развития Java разработчикаDmytro SokolovBecomeJavaSenior
fb.com/dimafeddtwitter.com/SokolovDmytrofb.com/[email protected]
![Page 2: "Пути развития Java разработчика" Дмитрий Соколов](https://reader033.vdocuments.site/reader033/viewer/2022051300/587ce8441a28ab564b8b49cf/html5/thumbnails/2.jpg)
Dmytro Sokolov▷ 9 years Java Developer▷ 3 years Trainer & Mentor▷ Java Trainer / Lead Software
Engineer▷ Full-stack experience▷ Project: BecomeJavaSenior.com▷ email: [email protected]
Hello!
![Page 4: "Пути развития Java разработчика" Дмитрий Соколов](https://reader033.vdocuments.site/reader033/viewer/2022051300/587ce8441a28ab564b8b49cf/html5/thumbnails/4.jpg)
Уровни Java разработчика- Intern- (Strong) Junior- Java Automation- (Strong) Middle/Regular- Senior- Tech Lead- Team Lead- Project Manager- Scrum Master- Architector
![Page 5: "Пути развития Java разработчика" Дмитрий Соколов](https://reader033.vdocuments.site/reader033/viewer/2022051300/587ce8441a28ab564b8b49cf/html5/thumbnails/5.jpg)
Уровни Java разработчика
Давайте определим какой у вас уровень!
![Page 6: "Пути развития Java разработчика" Дмитрий Соколов](https://reader033.vdocuments.site/reader033/viewer/2022051300/587ce8441a28ab564b8b49cf/html5/thumbnails/6.jpg)
Junior Java developer
![Page 7: "Пути развития Java разработчика" Дмитрий Соколов](https://reader033.vdocuments.site/reader033/viewer/2022051300/587ce8441a28ab564b8b49cf/html5/thumbnails/7.jpg)
Junior Java developer
Junior'ом обычно называют разработчика, который только начинает серьезно работать в определенной области технологий.
![Page 8: "Пути развития Java разработчика" Дмитрий Соколов](https://reader033.vdocuments.site/reader033/viewer/2022051300/587ce8441a28ab564b8b49cf/html5/thumbnails/8.jpg)
Junior Java developerУ такого разработчика есть знания, позволяющие ему работать над реальным проектом, но очень мало (или нет) опыта такой разработки. Зачастую в технических аспектах он советуется с более опытным разработчиком.
![Page 9: "Пути развития Java разработчика" Дмитрий Соколов](https://reader033.vdocuments.site/reader033/viewer/2022051300/587ce8441a28ab564b8b49cf/html5/thumbnails/9.jpg)
Требования - Junior Java developer▷ Программирование (системы исчисления, чем оператор отличается от операции, некоторые алгоритмы)
▷ Язык Java (синтаксис, OOP возможности, многопоточность, стандартная библиотека)
![Page 10: "Пути развития Java разработчика" Дмитрий Соколов](https://reader033.vdocuments.site/reader033/viewer/2022051300/587ce8441a28ab564b8b49cf/html5/thumbnails/10.jpg)
Требования - Junior Java developer▷ OOP и OOD (парадигмы, основные паттерны проектирования)
▷ Базы данных (JDBC, язык SQL)
![Page 11: "Пути развития Java разработчика" Дмитрий Соколов](https://reader033.vdocuments.site/reader033/viewer/2022051300/587ce8441a28ab564b8b49cf/html5/thumbnails/11.jpg)
Поведение - Junior Java developer▷ Нуждается в постоянном контроле
▷ Не отвечает за свой код.▷ Важно показать, что умеешь учиться и стремление решать поставленные задачи в назначенные сроки.
![Page 12: "Пути развития Java разработчика" Дмитрий Соколов](https://reader033.vdocuments.site/reader033/viewer/2022051300/587ce8441a28ab564b8b49cf/html5/thumbnails/12.jpg)
Поведение - Junior Java developerТо есть в результате его деятельности может появиться что-то работающее. Мыслит в рамках языка и технологий.
![Page 13: "Пути развития Java разработчика" Дмитрий Соколов](https://reader033.vdocuments.site/reader033/viewer/2022051300/587ce8441a28ab564b8b49cf/html5/thumbnails/13.jpg)
Поведение - Junior Java developerЗнает язык программирования на уровне получения сертификата и прочитал книжку по конкретным технологиям. При этом программировать не умеет, постоянно пишет плохой код по причине отсутствия опыта, код тяжел в поддержке.
![Page 14: "Пути развития Java разработчика" Дмитрий Соколов](https://reader033.vdocuments.site/reader033/viewer/2022051300/587ce8441a28ab564b8b49cf/html5/thumbnails/14.jpg)
Поведение - Junior Java developerБыстро пишет прототип, но очень долго доводит его до работоспособности по причине неумения программировать. Как результат, за ним нужно следить, постоянно поправлять, просить все переписать и говорить, как нужно переписать.
![Page 15: "Пути развития Java разработчика" Дмитрий Соколов](https://reader033.vdocuments.site/reader033/viewer/2022051300/587ce8441a28ab564b8b49cf/html5/thumbnails/15.jpg)
Поведение - Junior Java developer▷ Стоит больше прислушиваться к мнению старших коллег.
▷ Стараться делать свою работу как можно качественнее.
▷ Проявлять инициативу, но в пределах поставленных Вам задач.
▷ Стараться изучить сначала вещи, необходимые для текущей работы.
![Page 16: "Пути развития Java разработчика" Дмитрий Соколов](https://reader033.vdocuments.site/reader033/viewer/2022051300/587ce8441a28ab564b8b49cf/html5/thumbnails/16.jpg)
Junior Java developerПрежде чем двигатсья дальше - убедиться что хорошо знаешь JavaCore
![Page 17: "Пути развития Java разработчика" Дмитрий Соколов](https://reader033.vdocuments.site/reader033/viewer/2022051300/587ce8441a28ab564b8b49cf/html5/thumbnails/17.jpg)
Middle/Regular Java developer
![Page 18: "Пути развития Java разработчика" Дмитрий Соколов](https://reader033.vdocuments.site/reader033/viewer/2022051300/587ce8441a28ab564b8b49cf/html5/thumbnails/18.jpg)
Middle/Regular Java developerПрограммист является лицом, ответственным за качественное и своевременное исполнение порученной ему работы в проекте разработки информационно-программных систем, основанных на применении современных технологий.
![Page 19: "Пути развития Java разработчика" Дмитрий Соколов](https://reader033.vdocuments.site/reader033/viewer/2022051300/587ce8441a28ab564b8b49cf/html5/thumbnails/19.jpg)
Middle/Regular Java developerПрограммист выполняет задачи по программированию и первоначальному тестированию порученных ему компонент системы и работает по внешним спецификациям.
![Page 20: "Пути развития Java разработчика" Дмитрий Соколов](https://reader033.vdocuments.site/reader033/viewer/2022051300/587ce8441a28ab564b8b49cf/html5/thumbnails/20.jpg)
Требования - Middle Java developer▷ Образование — законченное высшее.
▷ Наличие практического опыта: стаж работы не менее одного года.
▷ Владение Software Engineering Process?
![Page 21: "Пути развития Java разработчика" Дмитрий Соколов](https://reader033.vdocuments.site/reader033/viewer/2022051300/587ce8441a28ab564b8b49cf/html5/thumbnails/21.jpg)
Требования - Middle Java developerSoftware Engineering Process:
1. Waterfall development2. Prototyping3. Incremental development4. Spiral development5. Rapid application development6. Agile development (Scrum,
Kanban)
![Page 22: "Пути развития Java разработчика" Дмитрий Соколов](https://reader033.vdocuments.site/reader033/viewer/2022051300/587ce8441a28ab564b8b49cf/html5/thumbnails/22.jpg)
Требования - Middle Java developerИностранный язык — английский технический, в том числе:
▷ умение читать техническую литературу IT профиля (без словаря);
▷ умение комментировать тексты программ (без словаря);
▷ умение общаться на профессиональные темы (Pre Intermediate).
![Page 23: "Пути развития Java разработчика" Дмитрий Соколов](https://reader033.vdocuments.site/reader033/viewer/2022051300/587ce8441a28ab564b8b49cf/html5/thumbnails/23.jpg)
Требования - Middle Java developer▷ Владение методами и инструментами анализа и проектирования.
▷ Знание: языков разметки, web-серверов и серверов приложений, клиентских технологий, серверных технологий, СУБД, ОС, средств офисной работы.
![Page 24: "Пути развития Java разработчика" Дмитрий Соколов](https://reader033.vdocuments.site/reader033/viewer/2022051300/587ce8441a28ab564b8b49cf/html5/thumbnails/24.jpg)
Требования - Junior/Middle Java developer
![Page 25: "Пути развития Java разработчика" Дмитрий Соколов](https://reader033.vdocuments.site/reader033/viewer/2022051300/587ce8441a28ab564b8b49cf/html5/thumbnails/25.jpg)
Поведение - Middle Java developer▷ Контроля не требует - отвечает за отдельные функции или модули и т.п.
▷ Не надо учить, умеет решать поставленные задачи самостоятельно в рамках подготовленной архитектуры.
![Page 26: "Пути развития Java разработчика" Дмитрий Соколов](https://reader033.vdocuments.site/reader033/viewer/2022051300/587ce8441a28ab564b8b49cf/html5/thumbnails/26.jpg)
Поведение - Middle Java developer▷ Наконец научился абстрагироваться от языка и технологий, голова забита не деталями языка, а понятиями предметной области.
▷ Научился писать структурно, кратко, поддерживаемо, без копирования.
▷ Перестает писать плохой код. Код получается поддерживать.
![Page 27: "Пути развития Java разработчика" Дмитрий Соколов](https://reader033.vdocuments.site/reader033/viewer/2022051300/587ce8441a28ab564b8b49cf/html5/thumbnails/27.jpg)
Middle Java developer
Если в резюме нет выше перечисленного опыта - не оценят как Middle Java Developer
![Page 28: "Пути развития Java разработчика" Дмитрий Соколов](https://reader033.vdocuments.site/reader033/viewer/2022051300/587ce8441a28ab564b8b49cf/html5/thumbnails/28.jpg)
Middle Java developerПрежде чем двигатсья дальше - убедиться что хорошо знаешь JavaCore и самые популярные технологии
![Page 29: "Пути развития Java разработчика" Дмитрий Соколов](https://reader033.vdocuments.site/reader033/viewer/2022051300/587ce8441a28ab564b8b49cf/html5/thumbnails/29.jpg)
Senior Java developer
![Page 30: "Пути развития Java разработчика" Дмитрий Соколов](https://reader033.vdocuments.site/reader033/viewer/2022051300/587ce8441a28ab564b8b49cf/html5/thumbnails/30.jpg)
Senior Java developerВедущий программист является лицом, ответственным за качественное и своевременное исполнение порученной ему работы в проекте разработки информационно-программных систем, основанных на применении современных технологий.
![Page 31: "Пути развития Java разработчика" Дмитрий Соколов](https://reader033.vdocuments.site/reader033/viewer/2022051300/587ce8441a28ab564b8b49cf/html5/thumbnails/31.jpg)
Senior Java developerОн обладает глубокими знаниями используемых технологий и работает внутри проектной команды без необходимости контактировать с представителями менеджмента заказчика.
![Page 32: "Пути развития Java разработчика" Дмитрий Соколов](https://reader033.vdocuments.site/reader033/viewer/2022051300/587ce8441a28ab564b8b49cf/html5/thumbnails/32.jpg)
Senior Java developerВедущий программист выполняет работы по детальному проектированию (созданию спецификаций) компонентов на основе предоставленных общих спецификаций для крупных проектовА для мелких проектов выполняет проектирование полностью самостоятельно.
![Page 33: "Пути развития Java разработчика" Дмитрий Соколов](https://reader033.vdocuments.site/reader033/viewer/2022051300/587ce8441a28ab564b8b49cf/html5/thumbnails/33.jpg)
Senior Java developerВедущий программист также выполняет работы по программированию и первоначальному тестированию порученных компонентов.
![Page 34: "Пути развития Java разработчика" Дмитрий Соколов](https://reader033.vdocuments.site/reader033/viewer/2022051300/587ce8441a28ab564b8b49cf/html5/thumbnails/34.jpg)
Требования - Senior Java developer▷ Наличие практического опыта: стаж работы не менее двух-трех лет в качестве программиста.
▷ Владение Software Engineering Process.
▷ Владение методами и инструментами анализа и проектирования.
![Page 35: "Пути развития Java разработчика" Дмитрий Соколов](https://reader033.vdocuments.site/reader033/viewer/2022051300/587ce8441a28ab564b8b49cf/html5/thumbnails/35.jpg)
Требования - Senior Java developer▷ Знание: языков разметки, web-серверов и серверов приложений, клиентских технологий, серверных технологий, СУБД, ОС (Linux)
![Page 36: "Пути развития Java разработчика" Дмитрий Соколов](https://reader033.vdocuments.site/reader033/viewer/2022051300/587ce8441a28ab564b8b49cf/html5/thumbnails/36.jpg)
Требования - Senior Java developer▷ английский технический
(Intermediate): умение читать техническую литературу IT профиля (без словаря);
▷ умение комментировать тексты программ (без словаря);
▷ умение разрабатывать документацию (со словарем); умение общаться на профессиональные темы
![Page 37: "Пути развития Java разработчика" Дмитрий Соколов](https://reader033.vdocuments.site/reader033/viewer/2022051300/587ce8441a28ab564b8b49cf/html5/thumbnails/37.jpg)
Поведение - Senior Java developer▷ Может контролировать других, отвечает за проект.
▷ Умеет подготавливать инфраструктуру, решать сложные задачи. Наставляет и ведет junior'ов.
![Page 38: "Пути развития Java разработчика" Дмитрий Соколов](https://reader033.vdocuments.site/reader033/viewer/2022051300/587ce8441a28ab564b8b49cf/html5/thumbnails/38.jpg)
Поведение - Senior Java developerЗа годы опыта выработал best practices в решении конкретных задач. За счет чего на большом промежутке времени способен демонстрировать бешеную производительность в сравнении с юниорами и миддлами.
![Page 39: "Пути развития Java разработчика" Дмитрий Соколов](https://reader033.vdocuments.site/reader033/viewer/2022051300/587ce8441a28ab564b8b49cf/html5/thumbnails/39.jpg)
Поведение - Senior Java developer▷ Производительность заключается в том, что делает гораздо меньше ошибок, а если и делает, то ошибки легко устраняются, ибо локализованы в конкретном месте.
▷ Держит cроки, которые он дает.
![Page 40: "Пути развития Java разработчика" Дмитрий Соколов](https://reader033.vdocuments.site/reader033/viewer/2022051300/587ce8441a28ab564b8b49cf/html5/thumbnails/40.jpg)
Fake - Senior Java developer/Team Lead
Проработал на проекте с самого начала, получил титул, так как знает проект больше всего
Возраст ~ 23 года
![Page 41: "Пути развития Java разработчика" Дмитрий Соколов](https://reader033.vdocuments.site/reader033/viewer/2022051300/587ce8441a28ab564b8b49cf/html5/thumbnails/41.jpg)
Знания Java разработчика
На каждом уровне (Junior/Middle/Senior)
нужно знать все технологии и фреймворки
![Page 42: "Пути развития Java разработчика" Дмитрий Соколов](https://reader033.vdocuments.site/reader033/viewer/2022051300/587ce8441a28ab564b8b49cf/html5/thumbnails/42.jpg)
Знания Java разработчика
Разница между уровнями - глубина и ширина знаний в каждой области
![Page 43: "Пути развития Java разработчика" Дмитрий Соколов](https://reader033.vdocuments.site/reader033/viewer/2022051300/587ce8441a28ab564b8b49cf/html5/thumbnails/43.jpg)
Инструменты для Senior Java Developer
Какими инструментами, знаниями и навыками должен владеть Senior Java Developer?
![Page 44: "Пути развития Java разработчика" Дмитрий Соколов](https://reader033.vdocuments.site/reader033/viewer/2022051300/587ce8441a28ab564b8b49cf/html5/thumbnails/44.jpg)
Инструменты для Senior Java Developer
▷ Jenkins, TeamCity▷ Администрирование БД▷ SonarQube (сатический анализ кода)
▷ Linux
![Page 45: "Пути развития Java разработчика" Дмитрий Соколов](https://reader033.vdocuments.site/reader033/viewer/2022051300/587ce8441a28ab564b8b49cf/html5/thumbnails/45.jpg)
Знания и навыки для Senior Java Developer
▷ Design Patterns (Java, Web, DB)▷ Security▷ Asynchronous programming▷ Enterprise Patterns▷ Advance Multithreading
![Page 46: "Пути развития Java разработчика" Дмитрий Соколов](https://reader033.vdocuments.site/reader033/viewer/2022051300/587ce8441a28ab564b8b49cf/html5/thumbnails/46.jpg)
Знания и навыки для Senior Java Developer
▷ Scrum▷ Interviewing▷ Internal training, mentoring and
coaching▷ Customer negotiation▷ Reporting▷ Планирование, коммуникация, решение конфликтов
▷ Сертифицированние
![Page 47: "Пути развития Java разработчика" Дмитрий Соколов](https://reader033.vdocuments.site/reader033/viewer/2022051300/587ce8441a28ab564b8b49cf/html5/thumbnails/47.jpg)
Знания и навыки для Senior Java Developer
▷ Spring▷ Hibernate▷ NoSQL▷ Caching (Redis, Ehcache)▷ RESTful (HATEOAS)
![Page 48: "Пути развития Java разработчика" Дмитрий Соколов](https://reader033.vdocuments.site/reader033/viewer/2022051300/587ce8441a28ab564b8b49cf/html5/thumbnails/48.jpg)
Что мешает стать Middle/Senior?
![Page 49: "Пути развития Java разработчика" Дмитрий Соколов](https://reader033.vdocuments.site/reader033/viewer/2022051300/587ce8441a28ab564b8b49cf/html5/thumbnails/49.jpg)
Что мешает стать Middle/Senior?▷ плохие базовые знания (Java
Core)▷ отсуствие мотивации на текущем месте работы
▷ не умение говорить высокоуровневым языком (абстракциями), не знание архитектурных терминов
▷ плохой английский язык
![Page 50: "Пути развития Java разработчика" Дмитрий Соколов](https://reader033.vdocuments.site/reader033/viewer/2022051300/587ce8441a28ab564b8b49cf/html5/thumbnails/50.jpg)
Что поможет стать Middle/Senior?
![Page 51: "Пути развития Java разработчика" Дмитрий Соколов](https://reader033.vdocuments.site/reader033/viewer/2022051300/587ce8441a28ab564b8b49cf/html5/thumbnails/51.jpg)
Что поможет стать Middle/Senior?▷ мотивация▷ посещение конференций, выступление на конференциях,
▷ чтение книг по soft скилам, персональной эффективности, коммуникативные, командообразованию
▷ посещению тренингов по soft скилам: ораторскому искуству, тайм-менеджменту.
![Page 52: "Пути развития Java разработчика" Дмитрий Соколов](https://reader033.vdocuments.site/reader033/viewer/2022051300/587ce8441a28ab564b8b49cf/html5/thumbnails/52.jpg)
Что поможет стать Middle/Senior?▷ активная работа в команде▷ общение с более опытными разработчиками/менторами
![Page 53: "Пути развития Java разработчика" Дмитрий Соколов](https://reader033.vdocuments.site/reader033/viewer/2022051300/587ce8441a28ab564b8b49cf/html5/thumbnails/53.jpg)
Что поможет стать Middle/Senior?▷ Хорошее знание английского -
upper-intermediate▷ Уменее прохождение собеседований: уметь себя продать, решать интревьюшные задачи
▷ Глубокое понимание (теория) языка Java и фреймворков
![Page 54: "Пути развития Java разработчика" Дмитрий Соколов](https://reader033.vdocuments.site/reader033/viewer/2022051300/587ce8441a28ab564b8b49cf/html5/thumbnails/54.jpg)
Как изучать технологииРекомендуемый подход, лучшее соотношение время/качество (теория и практика)
![Page 55: "Пути развития Java разработчика" Дмитрий Соколов](https://reader033.vdocuments.site/reader033/viewer/2022051300/587ce8441a28ab564b8b49cf/html5/thumbnails/55.jpg)
Как изучать технологии1. Выполнить несколько tutorials 2. Посмотреть видео,
объясняющее общий принцип работы
3. Прочитать официальную спецификацию/guides
4. Пролистать по диагонале книгу5. Написать свой проект с нуля6. Пройти тренинг
(структурировать знания)
![Page 56: "Пути развития Java разработчика" Дмитрий Соколов](https://reader033.vdocuments.site/reader033/viewer/2022051300/587ce8441a28ab564b8b49cf/html5/thumbnails/56.jpg)
Что всегда спрашивают на interview у Java Middle/ Senior?
![Page 57: "Пути развития Java разработчика" Дмитрий Соколов](https://reader033.vdocuments.site/reader033/viewer/2022051300/587ce8441a28ab564b8b49cf/html5/thumbnails/57.jpg)
▷ JavaCore▷ Multithreading▷ Collections▷ JDBC▷ Servlet API▷ Spring IoC▷ SQL, Транзакции, уровни изолирования
Что всегда спрашивают на interview у Java Middle/ Senior?
![Page 58: "Пути развития Java разработчика" Дмитрий Соколов](https://reader033.vdocuments.site/reader033/viewer/2022051300/587ce8441a28ab564b8b49cf/html5/thumbnails/58.jpg)
Почитать
Карьера в IT: должность Team Lead http://dou.ua/lenta/articles/team-lead-position/
Карьера в IT: должность Software Architect
http://dou.ua/lenta/articles/software-architect-position/
![Page 59: "Пути развития Java разработчика" Дмитрий Соколов](https://reader033.vdocuments.site/reader033/viewer/2022051300/587ce8441a28ab564b8b49cf/html5/thumbnails/59.jpg)
ПочитатьПособие для будущего Java разработчикаhttp://dou.ua/lenta/articles/java-beginner-guide-1/
http://dou.ua/lenta/articles/kakie-kachestva-nuzhny-senior-razrabotchiku-ili-kak-zarabatyvat-na-1000-dollarov-bolshe/
(комментарии)
![Page 60: "Пути развития Java разработчика" Дмитрий Соколов](https://reader033.vdocuments.site/reader033/viewer/2022051300/587ce8441a28ab564b8b49cf/html5/thumbnails/60.jpg)
Thanks!Any questions?
You can find me at:
http://becomejavasenior.com