В период, когда я ещё только начинал изучать программирование я столкнулся с рядом проблем:
- Незнание с чего начать.
- Не качественные учебные материалы.
- Отсутствие качественной программы обучения.
Но главная проблема состояла в том, что хоть как-то изучив теорию я не мог создать более или менее серьёзное приложение. Я мог легко найти примеры простейших приложений уровня – “как создать Hello world на Spring” и т.д. Далее шли приложения уровня Spring Pet Clinic.
И если первые были слишком простыми, то вторые вгоняли меня в депрессию и самокопание в духе “ты никчёмный кусок материи”.
Кое-как создавая свои приложения, усложняя их каждый раз, я наконец-то дошёл до приложений, которые можно использовать для решения реальных бизнес задач. Этот путь был крайне трудным и изматывающим и его можно было сократить примерно на 40-50 процентов.
Конечно, в этом деле мне крайне помог бы ментор по Java, но став разработчиком, понимаешь, что времени на то, чтобы тянуть ещё кого-то может просто не хватать (хотя, при желании это возможно).
Результатом моих размышлений на тему того, чем я могу помочь таким же ребятам и девчатам, которые, как и когда-то, хотят стать Java-разработчиками, стала идея создания некоего “маршрутного листа” для будущего разработчика.
Да, на данный момент существует множество материала, но часто их авторы просто не замечают тех огромных пробелов, которые присутствуют в их материале. И есть они там не потому, что они плохие авторы, а потому, что для них эти вещи настолько очевидны, что говорить о них считается бессмысленным – а зря…
На данный момент сам проект находится в разработке и завершить его я смогу не ранее, чем через 5-6 месяцев – сил и времени для этого требуется крайне много, именно поэтому я решил дать несколько советов, которые крайне облегчат жизнь людям, которые решили встать на этот путь.
СОВЕТЫ:
- Прочитайте только 1 (ОДНУ!!!) книгу по основам языка Java. А дальше изучайте Java Language Specification
Профессионалы изучают документацию, а не книги. Да, конечно иногда выходят книги, которые являются невероятно полезными и прочитать которые просто обязанность уважающего себя разработчика, но такие книги появляются крайне редко.
Поэтому, изучив одну из книг (Java 8. Полное руководство (Шилтд), Философия Java (Эккель) или что-то подобное) приучайте себя изучать документацию. Сайты https://docs.oracle.com/javase/8/, https://www.jcp.org/ должны стать для вас хранилищем знаний. - Изучите, как работает JVM (Java Virtual Machine). Естественно, что изучать принцип работы желательно по спецификации Oracle (Java Virtual Machine Specification).
- После основ языка приступайте к изучению основ баз данных и SQL.
Здесь Вам крайне помогут различные руководства (tutorials) и вот эта документация.
Книга MySQL 5.0 (Виктор Гольцман) будет тоже полезной.
Далее можно следовать советам, которые приведены в ЭТОЙ СТАТЬЕ.
Все фреймворки также необходимо изучать по документации. Для каждого из них (я имею в виду действительно хорошие и широко применяемые) написана качественная документация.
Также не советую идти на различные курсы, в подавляющем большинстве случаев – это попытка срубить денег, а не дать знания.
А самое главное – изучают код. Читайте много кода. Если Вас “не прёт” читать код, у меня для Вас плохие новости – чтение кода – 70-80 процентов нашей работы. Без этого никуда.
Крайний совет – ходите на конференции, которые организовываются различными компаниями. Если есть возможность попасть на курсы в одну из компаний – “прогрызайте” себе путь на эти курсы. Это увеличит Ваши шансы дойти до цели в разы.
Мой маленький проект, который (как я надеюсь) поможет будущим разработчиком на стадии создания поэтому на данный момент я могу помочь Вам только моими статьями и туториалами.
Читайте, учите и будьте целеустремлёнными. Удачи Вам.