JavaRush /Java блог /Архив info.javarush /Программирование – тяжёлая работа или лёгкий способ сруби...
mrserfr
33 уровень
Киев

Программирование – тяжёлая работа или лёгкий способ срубить денег?

Статья из группы Архив info.javarush
Хорошая мотивирующая (или наоборот?) статья. Выложил, что бы побольше людей ее прочитало. Автор не против. :) ! Статья про enterprise :) Не android.

Как стать Java разработчиком?

1. Нужно ли это Мне? Видимо, самый важный пункт. В связи с экономическим кризисом, многие люди пытаются найти способ обеспечить себя финансово. А тут появляется “IT”, в котором все получают много денег за то, что могут написать 10 строк кода. К тому же, “программирование – это легко”. К сожалению, это не так. Как бы не пытались основатели различных курсов объяснить, что любой может стать разработчиком за 3 месяца, это не так. В первую очередь, необходимо помнить, что разработчик программного обеспечения – это инженер. Поэтому и требования соответствующие. Во-вторых нужно понимать, что именно представляет из себя работа программиста? Прежде всего – это перманентное решение проблем. У Вас не будет момента ,когда все проблемы будут решены. Это процесс постоянный. Во-вторых – это огромное количество рутинной работы, выполнять которую по 3-4 часа в день без любви к делу, если не невожможно, то уж точно требует огромного усилия над собой. Итак, если Вы чувствуете, что разработка программного обеспечения – это то, чем бы вы хотели заниматься более 40% времени своей жизни, то идём дальше. 2. Что именно необходимо для того, чтобы называться Java-разработчиком? Для того, чтобы Вы с гордостью могли назвать Себя Java Developer с больше буквы “J” необходимо иметь, хотя бы, общее понимание следующих вещей: Синтаксис языка, а именно – Java Core; Основы Объекто-ориентированного программирования; Основы баз данных (SQL); JDBC; Servlets + JSP; ORM (например, Hibernate); Любой популярный Web – Framework (например, Spring); HTML, CSS, JavaScript; VCS (GIT, SVM или подобное). Теперь, пройдёмся по пунктам: Java Core Сюда входит знание и понимание иерархии классов в Java, методы класса Object и, конечно Collection Framework. Какие интерфейсы, кто и кого имплементирует и т.д. Вот эту картинку, java-разработчик должен нарисовать в 3 утра под арт-обстрелом: Программирование – тяжёлая работа или лёгкий способ срубить денег? - 1 В изучении Java Core помогут такие книги, как: Java 8. Полное руководство (Шилтд) Философия Java (Эккель) И конечно же, никуда не деться от Java Platform API Specification Здесь материала крайне много, поэтому лучше не прыгать между книгами, а взяться за одну и “долбить” её “до посинения”. ООП От новичка не требуется больше, чем знание и понимание трёх принципов ООП (некоторые считают, что их 4, но тут уж как попадёте и это не так существенно). Умение на практическом примере объяснить каждый из них. Основы баз данных и SQL MySQL 5.0 (Виктор Гольцман) Эта книга легко и доступно объясняет базовые понятия с илюстрацей примеров и пошаговыми инструкциями. JDBC Кроме понимания того, что такое база данных, необходимо понимать, как Ваше Java приложение с ней взаимодейтсвует. JDBC 4.1 Specification наиболее полно раскрывает все особенности работы JDBC. Servlets + JSP В книгах по Шилтда и Эккель Servlet-ы описываются “вскольз”, для более глубокого понимания, что же это такое необходимо изучить что-то по-серьёзнее. Java Servlet Specification и JavaServer Pages Specification Эти две спецификации дают исчерпывающее понимание тих технологий. Как JDBC, так и Servlets используются разработчиками в повседневной работе только в редких случаях. Но они лежат в основе всех популярных Framework-ов и понимание того, как эти framework-и утроены “внутри” поможет Вам избежать очень многих глупых ошибок, которые допускают те, кто изучал только framework-и. Hibernate Книга, которая является гордостью мира Java – это Java Persistence with Hibernate. Многие разработчики, которые используют другие технологии (в частности C#), читают эту книгу для того, чтобы глубже понять что такое ORM и какие проблемы оно решает. Если Вы умеете созлать отношения one-to-one, one-to-many и many-to-one и написать простой запрос на HQL – ваших знаний хватит для уровня новичка. Web – Framework (например, Spring) После того, как освоено всё, что есть выше можно уже замахнуться на Spring. Для начала написать простое CRUD приложение, а потом узнать, что такое Spring Pet Clinic. Теперь Ваших знаний будет достаточно для того, чтобы с пониманием происходящего создавать более-менее пристойное приложение, которое ходит в базу данных, что-то там делает и т.д. и т.п. Поздравляю, теперь Вы можете написать то, что можно уже и “потрогать” и показать. Через 5-6 месяцев, Вы захотите удалить этот код и сделать так, чтобы никто не знал, что именно Вы его автор, но пока это хорошо :) HTML, CSS, JavaScript Здесь всё просто и не интересно. Обычная вёрстка, которая для back-end разработчика не представляет особго интереса. Это хлеб front-end-щиков. Но базовое понимание всего этого быть должно. HTML Academy HTML Book Основы JavaScript Этого Вам хватит с головой. VCS Любой проект, в котором работает больше 0 разработчиков не делается без СКВ (системы контроля версий). GIT – наиболее удобная и часто применяемая, конкурирует с ней SVN. Будете знать одну из них – и будет Вам счастье. По итогу модно сказать, что порого входа в Java крайне высок. Количество необходимых знаний для того, чтобы устроиться на работу или начать писать более-менее солидные приложения просто огромно. Но на выходе получаете просто невероятные перспективы. Важно понимать, что спрос на новичков крайне низкий, несмотря на все попытки показать, что программистов не хватает. Не хватает высококвалифицированных разработчиков с опытом работы от 3-х лет, а новичков с избытком. Для того, чтобы зацепиться и “войти в IT” Вам поможет адский труд в течение от 6 месяцев до 1 года. Но если это Ваше и Вы готовы для этого вложить такое количество усилий, то дерзайте. Удачи Вам! --- От себя хотел бы добавить, что реально для изучения java core ничего лучше javarush, по-крайней мере в рунете - нет. ИМХО. Всем удачи еще раз. Статья: http://proselyte.net/how-to-become-java-developer/ Автор: http://proselyte.net/faq/
Комментарии (17)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
Inspiron Уровень 32
14 мая 2016
Alejandro_Kolio Уровень 30
11 мая 2016
И вы идете в Избранное) Спасибо, хорошая статья
Sant9Iga Уровень 41
10 мая 2016
я дико извиняюсь конечно, все очень круто, но ты не проходишь собеседование. где Map на картинке?
abbath0767 Уровень 36
10 мая 2016
Годная статья, но почему то умалчиваете про Android
Torin Уровень 27
8 мая 2016
А меня вот именно «высокий порог» и зацепил. Как раз из за подъёма популярности IT. Высокий порог сужает конкуренцию на рынке труда, и это просто замечательно для людей готовых «разбивать головой стены» :)