joms
@joms
Студент, занимаюсь самообразованием по програм-ю

Можете посоветовать как быть дальше?

Я с давних лет хочу стать программистом. И у меня есть достаточные знания о языках программирования, ООП, что такое фреймворк(хоть и книгу Э. Гамма "Паттерны проектирования" осилить[пока что] не смог).
Я разбираюсь web разработке - html+css+php+mysql, делал учебные сайты по ним. Не могу сказать что такие большие знания.
Я знаю язык java - составлял проекты в андроид студио(мне надо программу в ней подготовить для магистр.диссертации), в общем хотел сделать java своим основным языком.
В целом любые языки могу быстро освоить.
И я пытаюсь куда-нибудь на стажировку, пока что не берут никуда))
Что я хотел, я вот запутался, не знаю какой шаг сделать следующим. Как дальше развиваться. Не могу двигаться дальше от знаний основных конструкций и логики языков программирования. Какой фреймворк выбрать. Как двигаться к более серьезному программированию. Дайте совет.
И заранее прошу прощение за такой вопрос, знаю что такие бывают часто и это надоедает.))
  • Вопрос задан
  • 1218 просмотров
Решения вопроса 1
@BUY33
Java-developer
"Хочу сделать основным Java" - очень расплывчато. Java - это инструмент для разных сфер: android, desktop, web. Я бы советовал в web - наиболее распространенная сфера; ванги говорят, что android-приложения уступят когда-нибудь своё место web. Ну это всё дело вкуса и чего ВЫ хотите. Итак, например, хотим в Java-web:
1) А Вы уверены, что знаете Java? Может есть нюансы и маленькие пробелы? (пробежаться по Эккелю и Блоху, можно посмотреть статейки о подготовке к сертификации - много мелочей, неочевидностей раскрыто) Разобрать Java 8, особое внимание stream.
2) Ок, Java SE знаете, а Java EE? Тут можно очень досконально не вникать на первых порах - фреймоворки нам помогут.
3) Пошли Фреймворки и библиотеки - Семейство Spring: Core, MVC, Boot, Data, Security. Для ORM - Hibernate (можно вместе с Spring Data, можно вместо, посмотреть нужно). Для уменьшения болерплейта - Lombok.
4) Для тестирования JUnit, потом посмотрите Spock Framework (тут мы знакомимся еще и с Groovy).
5) Плавно переходим к клиенту. Тут нам Java становится мало. Вспоминаем html и css. Если не знаете JS - узнать. Дальше дело вкуса. Выбираем(пишем своё) библиотеку или модный фреймворк, изучаем пилим клиентскую часть. На этапе разбирательств с клиентом познакомиться(если вдруг чего не знали) с REST, http, https, http 2.0, webSockets, json, ajax что такое DTO.
6) Для UI тестирования попробуйте Geb.
7) WebServices! SOAP, Jaxb, SOAP MTOM.
8) Можете попутно расширить кругозор по БД - попробовать вместо mysql postgres или NoSql базы.
Вот это был примерный набор инструментов.
Но главное - практика. Нужен свой учебный проект. Начинаете его делать - появляются проблемы - смотрите как такое можно решить существующими инструментами - тут же применяете теорию на практике.
Предлагаю писать какой-нибудь корпоративный портал с каким-нибудь реестром, справочником и т.д. Включаем фантазию.
Начните с малого - сам справочник-реестр с функциями CRUD - создать, прочитать, редактировать, удалить запись. Далее прикрутите систему прав и ролей пользователей(не все могут создавать, редактировать и тем более удалять). Добавьте работу с файлами - скачать, загрузить, экспорт в pdf и exel. Продолжайте накручивать своё приложение функционалом - личка и чат, доска объявлений, имитация отношений начальник - подчиненный (тайм-менеджмент, таск-менеджмент, сбор отчетов каких-нибудь по работе), уведомления (в почту, в системе, м.б. попробовать с смс), напишите другую маленькую систему и заобщайте их между собой по SOAP(например, другая система может читать из справочника и что-нибудь туда писать). Берите какое-нибудь гипотетическое предприятие (склад, магазин, автосервис, школа, больница, завод и т.д.) и представьте, что ему надо свой документооборот перевести в электронный вид и максимально автоматизировать бизнес-процессы.
Короче, набирайтесь опыта и учитесь через практику, ставьте сами себе задачи и ищите пути их решения. Стажировка и работа вообще на первых порах дают мощный толчок в развитии. Не можете найти стажировку? Идите на собеседования, делайте тестовые задания - тут сразу все пробелы всплывут.
Ответ написан
Пригласить эксперта
Ответы на вопрос 4
@FoxInSox
не знаю какой шаг сделать следующим. Как дальше развиваться.

Устройтесь на работу, там расскажут.
Ответ написан
Обычно оно само при постоянном занятии написанием кода идет. Если по java - бери и делай проекты. Любые. Вот в голову что-то пришло - попробуй реализовать. Советую еще глянуть книжку Эккеля. Со временем наберешься опыта и сам не будешь понимать, как выучился :)
Ответ написан
RevHarris
@RevHarris
Шо то, шо это
Язык - инструмент. Изучать инструмент ради изучения инструмента - бестолковое занятие.

К серьёзному программированию можно придти только после решения конкретных задач.

Если есть интересные задумки (лично вам интересные, а не в принципе, в общем) - решайте. Так придёт опыт и умение работать с реальными фреймворками, библиотеками, языками, системами и др. А "задумки" - они есть, так или иначе, всегда. Даже решение 1/1000 от самой смелой идеи (сделать свою операционку, аналог вк, собственный фотошоп или свой гта с блэкджеком и....) даст колоссальный опыт, который не купишь.

Если нету никаких целей, задач и прочего что нужно/можно решить с помощью языка программирования - только работа. Старайтесь устроится куда нибудь. Хоть подмастерьем-подмастерья но устраивайтесь. Не берут - знаний не хватает? Так копайте то, что требует работодатели. Понимаю, не самый приятный путь - но опыта будет "завались".
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы
RentaTeam Москва
от 90 000 до 140 000 руб.
Frogogo Москва
от 70 000 до 100 000 руб.