Тут запутался с графиком (правильной последовательностью)изучения важных тем для джавы разработчика! Для начала как в джава раше изучаем syntax потом core,а вот потом с чего лучше бы(правильнее начать)?Если что то не так можете написать или добавить/убрать
1) субд sql
2)spring
3)git,maven
4)javaFx
5)многопоточность
6)паттерны проектирования
7)алгоритмы и структуры данных
Taron Gukasyan
31 уровень
Каковы шаги изучения тем для дужинора?
Комментарии (28)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Take_it_easyExpert
6 февраля 2021, 07:52
Джуниоров нужно какими то несложными задачками занимать, чтобы они могли при их выполнении с проектом ознакомится. Для этого хорошо подходит написание тестов для разных классов. Поэтому я б еще их добавил JUnit ,Mockito и тп, добавишь их в резюме, работодатель поймет, что когда ты придешь на проект тебя сходу можно будет посадить писать тесты например. Учится это недолго, а как строчка в резюме пригодится
+4
Anonymous #2489173
7 февраля 2021, 01:37
А что делать тестировщикам, если будут приходить джава девелоперы и делать их работу?
0
Di Ma Java Developer в Сбер
7 февраля 2021, 04:18
Программист обязан покрывать свой код тестами, и в начале возможно придется дописывать тесты для чужого кода. Если программист не умеет писать тесты а в компании пропагандируют TDD, то тебя рассматривать не будут. И при нормальном развитии DevOps твой код не пройдет квалити гейт.
+1
Anonymous #2489173
7 февраля 2021, 04:20
не знаю этих слов, но я знаю, что если в требованиях к вакансии есть тесты, то надо их уметь делать. Если нет, то это необязательно :)
0
VladimirMaster
7 февраля 2021, 06:44
если в требованиях к вакансии есть тесты, то надо их уметь делать
Сейчас это по дефолту уже. В вакансиях могут не указывать, потому, как предполагается, что ты уже знаешь эту технологию и владеешь ей.
В большинстве компаний пропагандируют TDD и если даже не указали в вакансии, то будут разочарованы, если ты не в теме.
P.S. На данный момент, если ты инфицирован тестами, то ты быстро найдешь работу, а еще точнее, работа быстро найдет тебя. Инфицируй себя тестами и как можно быстрее.
И тут мы снова натыкаемся на грабли, что это не так просто и не так быстро, как кажется, но к этому необходимо стремиться.
+2
Сергеев ВикторMaster
5 февраля 2021, 23:21
гит и мавен лучше первым изучить, они простые, но сильно облегчат дальнейшее изучение
+3
Anonymous #2489173
6 февраля 2021, 00:58
но ведь алгоритмы, паттерны и многопоточночность - это вообще части языка, соответственно, их бы изучить раньше
Алгоритмы и структуры даже не языка, а вообще базовые понятия в любом программировании. Их бы учить до начала джавы, ведь стэки, деки, сортировки и т.д. в любом языке одинаковые.
а мэйвены всякие это же дополнения уже.
0
Сергеев ВикторMaster
6 февраля 2021, 01:18
ну не совсем, все это уже давно обросло библиотеками, никто не пишет сортировку или бинарное дерево руками.
Для паттернов нужен хоть какой-то код
Для многопоточки, ну тут да можно посидеть на базовых вещах.
Просто гит и мавен в базовом использовании разбираются за 1-2 дня, но возможность версионировать те же эксперименты с алгоритмами, паттернами это большой плюс, можно всегда переключиться на старый пример, без копипасты классов и создания дублей
А мавен даст возможность подключить что-то готовое чтобы подсмотреть или сравнить, это просто очень удобные утилиты. Как монитор побольше или два, как удобный стул )
Без них тоже можно, но с ними удобнее
0
Anonymous #2489173
6 февраля 2021, 01:24
но алгоритмы и структура данных это база баз. Библиотеку можно загуглить за секунду, а знать основы надо в принципе.
Для паттернов - да. Но синглтон представлен в курсе, Фабрика - тоже. Остальные шаблоны тоже ничуть не сложнее.
Не знаю, для меня всё, что не сама джава и требует каких-то дополнительных телодвижений, должно изучаться после изучения непосредственно джавы.
что посмотреть и сравнить? я мейвен не знаю, но качать мейвен проекты и запускать их мне это не мешает, там же одна галочка при создании проекта меняется вроде)
0
Сергеев ВикторMaster
6 февраля 2021, 12:42
"я мейвен не знаю, но качать мейвен проекты и запускать их мне это не мешает, там же одна галочка при создании проекта меняется вроде)"
я об этом же, что сильно изучать его не надо, запустить, собрать, добавить зависимость и по сути все.
От гита, клон, коммит, пуш, ветки )
0
Сергей Java Developer в Сбер Expert
6 февраля 2021, 13:01
"для меня всё, что не сама джава и требует каких-то дополнительных телодвижений, должно изучаться после изучения непосредственно джавы"
Алгоритмы, структура данных, паттерны - это так то не java
0
Anonymous #2489173
6 февраля 2021, 14:20
ну да, вы правы. это основы программирования и по идее должны изучаться до джавы. Но проще связать с практикой и изучать одновременно язык и реализацию шаблонов/ алгоритмов / структур данных на этом языке.
0
Александр Работает в безработный
5 февраля 2021, 18:42
Субд можно вообще параллельно изучать , тем боле бесплатных курсов достаточно, даже если , что то не поймёшь сейчас , потом будет легче врубиться. Я бы посоветовал вообще пока об этом не думать , а сосредоточиться на решении текущих задач. Вот когда придёт понимание ООП, тогда можно и подумать куда двигаться дальше.
0
Di Ma Java Developer в Сбер
5 февраля 2021, 14:34
убрать JavaFX добавить MQ + docker/Kubernetes и/или paas cloud сервисы
+2
hidden #2322530
5 февраля 2021, 14:50
и английский
+3
Anonymous #2489173
6 февраля 2021, 00:59
Все работающие проггеры, когда слышали, что я учил докер, сказали, что на него надо только посмотреть и знать, что такое контейнер. Всё
Про облака тоже... Это джава или всё-таки девопс?
0
Di Ma Java Developer в Сбер
6 февраля 2021, 06:49
Разработчики должны быть в курсе DevOps, знать понимать принципы непрерывной поставки, понимать пайплайны, yaml это будет огромный + когда твой демо проекты крутятся в облаке и ты можешь сказать как осуществляется поставка в это облако
+1
Сергей Java Developer в Сбер Expert
6 февраля 2021, 12:57
Часто DevOps инженер - это ты
+1
Anonymous #2489173
6 февраля 2021, 14:23
но это же разные профессии. Можно найти чистого джава девелопера, можно с девопсами.
Я бы посоветовал начать всё равно с чистой джавы + гит + базы и мейвен. А остальное достраивать уже исходя из требований в вакансиях.
0
hidden #2322530
6 февраля 2021, 15:21
все что указал топикстартер уже и есть из требований вакансий. с меньшим стеком, резюме даже читать не будут. и тут дело не в порядке, а в том, что это всё надо понимать.
а ещё это не просто знать, понимать, но и реализовывать. пусть и не в коммерческом масштабе. но попробовать это реализовать ты должен. чтобы потом когда показали, ты не спросил "ШО ЭТО?!" +2
Anonymous #2489173
6 февраля 2021, 15:33
вопрос был про порядок.
я ответил про порядок. Начать надо с джавы + паттерны + структуры и алгоритмы.
Остальное в зависимости от выбранной вакансии, если он метит в конкретную компанию.
0
hidden #2322530
6 февраля 2021, 15:38
паттерны без коммерческого опыта ты толком не сможешь применять. так что их нужно немного знать.
если про порядок.
то примерно как я выше описал. так и надо. единственное что docker сместить в конец)
твоя джава с паттернами и алгоритмами никому не нужна. людям за это не платят. людям платят за работу со SQL, Spring, JUnit, и тд... за работу с фреймворками в коммерческом масштабе. а вот этот коммерческий опыт уже за собой потянет и алгоритмы, и паттерны
+1
Anonymous #2489173
6 февраля 2021, 15:44
что за коммерческий опыт? я применяю паттерны во многих задачах. даже на джавараше есть по синглтону и по фабрике. Значит ли, что у меня есть коммерческий опыт? Или это значит, что их можно применять без этого опыта?
Простите, но как можно изучать Spring, Junit, если ты ещё не умеешь писать программы на джаве? Как можно прийти на работу девелопером, умея всё, кроме как писать на джаве? Это ведь прямая обязанность и она прописана всегда в требованиях самой-самой первой, ещё до докеров и юнитов (это кстати встречал лишь на вакансиях тестировщика)
0
hidden #2322530
6 февраля 2021, 15:55
Значит ли, что у меня есть коммерческий опыт?
нет.
я применяю паттерны во многих задачах. даже на джавараше есть по синглтону и по фабрике
это специальные задачи, где тебе говорят сделай так и сяк. эти задачи используются для того, чтобы ты познакомился/пощупал эти паттерны. не более. так что фраза "я применяю паттерны" звучит очень гордо, но по факту с реальностью ничего общего не имеет. это иллюзия)
Или это значит, что их можно применять без этого опыта?
без работы на проектах, где участвуют много разработчиков, используются методологии, тестировщики и так далее. когда твой код поддерживают другие совершенно люди. все твои "применения паттернов", так и останутся фразой на бумаге "я применял", что на самом деле ничего общего к реальному опыту не имеет.
Простите, но как можно изучать Spring, Junit, если ты ещё не умеешь писать программы на джаве?
глупо говорить, что надо выучить джаву, для работы разработчиком на Java. это как говорить, что надо в руках нож подержать, чтобы поваром пойти работать. одно без другого не работает.
Как можно прийти на работу девелопером, умея всё, кроме как писать на джаве?
все фреймворки написаны на Java, так что работать с ними не зная Java Core ты не сможешь в принципе. поэтому не стоит вообще говорить о том, что надо знать Java Core))) это само собой разумеющийся пункт.
Это ведь прямая обязанность и она прописана всегда в требованиях самой-самой первой, ещё до докеров и юнитов (это кстати встречал лишь на вакансиях тестировщика)
писать на Java это обязанность? посмешил в субботний вечер) если ты собираешься на позицию Java Developer, то все понятно, что ты должен знать Java Core. но Java Core, это не просто писать "Hello World".
Java Core как минимум:
- Syntax
- Collections
- Stream API
- Multithreading
- и тд и тп. и ты всё это должен знать.
ещё до докеров и юнитов
почитай что такое TDD.
+3
hidden #2322530
6 февраля 2021, 15:56
ты кстати в курсе, что одних вариантов реализации Singleton масса? и тебе на Javarush покажут только 2, обычная и ленивая инициализация. а их на самом деле много. а ещё ты знаешь, что любой объект в Enum это синглтон?
ещё момент кстати, очень важно знать английский язык, на уровне. и чем раньше ты начнёшь его учить/практиковать, тем лучше. ты можешь не знать техскилы какие то, но хорошим английским ты это можешь переплюнуть.
+1
Anonymous #2489173
7 февраля 2021, 01:36
я не вижу смысл продолжать с вами диалог, так как вы даже не читаете, что я пишу, и конкретной позиции у вас нет - главное возразить.
то джава с паттернами и алгоритмами никому не нужна, а теперь оказывается, что её надо всё-таки выучить. Определитесь со своей точкой зрения, а потом отвечайте. Очень путаете новичков и уже не в первый раз.
0
hidden #2322530
7 февраля 2021, 06:26
я сказал что зная только паттерны и алгоритмы, ты никому не нужен. так что моя точка зрения одна на это дело
+2
Anonymous #2489173
7 февраля 2021, 08:37
так никто не говорит, что "только". Я говорю, что это база. Самые основы программирования - неважно, на каком языке. А всё остальное надо учить поверх этой базы.
0