Как стать программистом 5

Как стать программистом? Часть 5 – Еще важные технологии для java junior разработчика.

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

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

Восьмое место! Шаблоны

Когда работодатель будет проверять Ваше тестовое задание, то он ожидает увидеть типичную структуру приложения. Другими словами – будет искать привычные ему шаблоны проектирования. Такие вещи в описании к задаче не указываются, но они должны быть.

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

Вы должны знать и уметь писать DAO и хотя бы немного понимать, что такое MVC. Почитайте про то, как разбивать Ваше приложение на слои. Эти шаблоны, как и JDBC, хорошо учиться применять при написании своего CRUD.

Девятое место! Maven или Gradle

Наверно многим покажется странным, что я поставил Maven и Gradle на 9-е место – раньше чем spring и hibernate. Я рекомендую познакомиться со сборщиками как можно быстрее. Потому, что это избавит Вас от многих проблем связанных с добавлением новых фреймворков и библиотек в Ваш проект. Например, Вам не придется самому качать необходимые jar-ки и складировать их в папку lib или запускать тесты.

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

Десятое место! Spring core

На 10-м месте spring. Без него сейчас сложно. Но я Вас обрадую. Учить там не так уж и много. Вы должны уметь создавать bean-ы и внедрять зависимости в эти bean-ы. Также научитесь конфигурировать JDBC и Hibernate используя spring context. Изучите как это делать через аннотации.

Не обязательно, но будет плюсом умение использовать транзакции при работе с Hibernate или JDBC. Тоже не обязательно, но почитайте про JDBCTemplate, HibernateTemplate и аннотацию @Transactional.

Большинство технологий проще и интересней изучать на практике. Поэтому, если Вы уже написали свой CRUD, то перепишите его c использованием spring.

Одиннадцатое место! Hibernate

На 11-м месте Hibernate. Его сейчас также везде требуют. Что вообще нужно про него знать? Тоже не так уж и много. Во первых, научитесь мапить классы на колонки таблиц БД. Научитесь пользоваться аннотациями @ManyToMany, @OneToOne, @ManyToOne, поэкспериментируйте с ленивой загрузкой и каскадными операциями. Необязательно, но можете посмотреть как работать с транзакциями.

Опять же, попрактикуйтесь на своем же CRUD редакторе. Если когда-то писали CRUD на JDBC, то перепишите его на Hibernate.

Двенадцатое место! JSP

12-е место JSP. Вы должны уметь на чем-то писать слой представления. Это может быть JSP + JSTL. Можете изучить другие способы написать клиентскую часть. Например тот же AngularJS. Когда Вы получаете тестовое задание, то обычно от Вас не требуют писать сильно изощренную графику. Поэтому HTML, JS, CSS – должны быть хотя бы на базовом уровне. Лично я, когда устроился, JS практически не знал.

Тринадцатое место! Spring MVC

13-е место Spring MVC. Довольно часто новички не знают как грамотно организовать работу их веб-приложения через сервлеты. Тогда им на помощь придет Spring MVC. Не считаю его обязательным. Но там много всего, что поможет облегчить Вам жизнь при решении тестового задания.

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

Четырнадцатое место! Tomcat

14-е место Tomcat. Новичку про Tomcat знать нужно немного. Попробуйте развернуть свое приложение на нем. И научитесь запускать его в debug mode-е и подключаться удаленно через IDE.

Пятнадцатое место! JUnit

15-е место JUnit. Тесты это хорошо. Вы должны уметь протестировать свой CRUD редактор. Не обязательно, но можете посмотреть, что такое mock объекты и попробовать протестировать свои классы.

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


Небольшое отступление. Лучше написать код понятным, чем пантоваться громкими технологиями, которыми Вы не умеете пользоваться. Лучше вычистите код и выровняйте его. Поверьте, человек, который проверяет Ваш код, не по собственному желанию делает это. Он в гробу видел все ваши DAO и Тесты. Если ему нужно сильно вдумываться в то, что Вы понаписали, то он просто закроет Ваш проект и никогда его больше не откроет.

Шестнадцатое место! Git

16-е место Git. Системы контроля версий также не обязательны. Но они очень удобны. Если Вы их освоите хотя бы на базовом уровне, то не захотите больше работать без них. К тому же Вы неизбежно будете использовать их на работе. И скорее всего Вас попросят залить Ваш проект на GitHub для дальнейшей проверки.

Новичку научиться комитеть и заливать свой проект на GitHub и само-собой извлекать его от туда – более чем достаточно.

Семнадцатое и восемнадцатое место! Web-Services (SOAP, REST) и Шаблоны GoF

17-е и 18-е место занимают веб-сервисы и шаблоны GoF. Если уже все выучили и хотите, что-то новое, то можете изучить их. Некоторым из Вас могут попасться тестовые задачи, в которых нужно будет использовать веб-сервисы.

Можете немного вникнуть в тему шаблонов GoF и начать использовать их. Скорее всего Вы будете применять их неправильно и пихать где попало. Но может случится так, что вас попросят написать реализацию Singleton на собеседовании. По этому потренируйтесь. Еще познакомьтесь с этими шаблонами: Abstract Factory, Builder, Factory Method. 

Итог

Подводя итог напомню, что те критерии, которые я обозначил для каждого пункта этого Топ-а не являются догмой. Возможно в каждом отдельном случае придется изучить чуть больше, а может чуть меньше. Я всего лишь дал вам первоначальный ориентир. Если Вы все это освоите, то у Вас хорошие шансы найти работу. Например, в моем случае, я знал процентов 60-80% этого списка. И многое из этого знал на очень низком уровне. Про это я подробно рассказывал тут.

Все.

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

Ваш e-mail не будет опубликован.

*

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">