05/06/2017 · Разработка

Минимальный набор знаний молодого разработчика

Несколько раз у меня спрашивали, с чего же начать карьеру разработчика. В целом, вопрос этот слишком широкий и не имеет ответа как такового, поэтому я поставлю его более узко: что должен знать молодой java-разработчик, пишущий back-end?

В этом посте я хочу описать, какими, на мой взгляд, знаниями должен обладать молодой разработчик, чтобы претендовать на позицию junior developer. Также дам пример проекта, выполнение которого сможет дать базовое представление о процессе разработки как таковом. Я не ставлю целью описать пошаговое выполнение проекта и дать глубокое понимание всех инструментов, потому что пошаговое выполнение описано во множестве мануалов (я приведу пару ссылок), а глубокое понимание может прийти только с опытом.

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

Итак, есть человек, понимающий, что такое ООП и прочитавший хотя бы одну стоящую книгу по языку от авторитетного автора. Человека в дальнейшем будем называть “падаван”, и если падаван не читал книг – все же стоит это сделать. Это необходимо для того, чтобы понимать возможности языка и его основных библиотек, но закапываться тоже не стоит – для начала одной хорошей книги будет достаточно. Фанатичное чтение без практики никаких особых плюсов не дает, особенно на начальных порах.

Что мы пока что имеем:

Как можно применить имеющиеся пока знания? Никак. Для этого нужно погружаться в экосистему платформы. Для Java, по моему мнению, необходимо понимание следующих инструментов:

Если я упустил какие-либо важные моменты, прошу меня поправить и дополнить.

Далее я бы предложил падавану выполнить тестовый mvc-проект. Я предлагаю сделать простейшую блог-платформу без регистрации и без красивых форм на bootstrap. Пусть это будет голый уродливый html без какой-либо динамики, а главная форма имеет лишь:

Все! Это правда все. Это очень просто, но если вы только-только начинаете, то вам придется ознакомиться со множеством моментов. И на всякий случай уточню – это лишь один из множества типов проектов, но выполнив его, падаван увидит весь цикл создания такого приложения и поймет на базовом уровне, на что способен и зачем вообще Spring framework. А более глубокое понимание – уже дело желания и дополнительных усилий.

Вроде кто-то когда-то говорил:

Java – это инструмент для преобразования больших xml-файлов в stack-трейсы.

В этом есть доля правды, поэтому я рекомендую сразу же избавиться от всей этой xml-конфигурации, а именно – использовать Spring Boot.

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

  1. Начать рекомендую с установки Java на компьютер, как ни странно. JDK8 можно скачать здесь: http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
  2. Поставить Maven: https://maven.apache.org/install.html
  3. Создать первый Spring-boot проект: http://docs.spring.io/spring-boot/docs/current/reference/html/getting-started-first-application.html. Здесь описано лишь как создать “Hello, World!”.
  4. Поставить БД (например, postgre, h2 или mysql)
  5. Создать классы моделей. Точнее, один простейший класс.
  6. Реализовать CRUD (create-read-update-delete, операции с данными)
  7. Создать простейшую jsp-форму.
  8. Связать форму с контроллером.

По поводу пунктов 5-8 можно почитать следующее:

И это все! Я верю, если падаван освоит указанные моменты и сумеет не просто создать простейшую блог-платформу, но и поймет хотя бы примерно, для чего он делал каждое из действий, то этого будет достаточно для первого трудоустройства на позицию junior java-developer.

Различные рассуждения и дополнения категорически приветствуются.

comments powered by Disqus