×Закрыть

Куда дальше в Java?

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

Как стать более професиональным кроме того чтобы рутинно работать пока в резюме капает счетчик опыта?

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

Благодарю за советы!
___
Небольшой апдейт: Нестор Иванович порекомендовал лезть в Java Concurrency in Practive, чем я пожалуй и займусь. Спасибо тебе добрый человек, думаю потом я тебя прокляну за этот совет, ну а пока спасибо ;)

Что же до топика... Мне еще любопытно на чем сейчас сеньорят в Java? Чем таким занимаються синьоры и что еще нужно подучить чтобы расти в этом направлении :)
Если есть идеи как переименовать топик — напишите, что-ли.
___
upd2:
Спасибо за ответы, просуммирую:
* пройти сертификации от oracle
* изучить Enterprise Patterns
* Попробовать функциональное программирование (hello scala!)
* stackoverflow & opensource
* Алгоритмы для собеседований..?
* Groovy, Grails
* Пэт проджект с незнакомым стэком.

это кроме упомянутой перед этим многопоточности на практике

LinkedIn

Лучшие комментарии пропустить

1. StackOverflow — попробуй поотвечать/позадавать какие-то вопросы по интересующей тематике (либе, фреймворку, алгоритмам);
2. В опенсорсном коде, что используешь — видишь ли ты какие-то недостатки? Может какие-то улучшения? Баги? Если да — то попробуй законтрибутить, пропихнуть свои изменения в какую-то либу. У каждого проекта есть довольного много проблем и багов до которых не доходят руки. Лишняя помощь никогда не помешает. Например, в популярном elasticsearch (26к звезд) сейчас висит 1200 тикетов;
3. Если не хватает скила для пункта 2 можно просто подписатся на апдейты интересующей либы и смотреть код заходящих пул реквестов и пробовать разбиратся в них. Читать чужой код так же важно как и писать свой;
4. Попробуй написать статью или выступить с докладом на какую-то интересную тему;
5. Пет проджект с незнакомым стеком. Если юзаете на работе реляционки, попробуй No-Sql. Если юзаете HTTP попробуй написать свой бинарный протокол на tcp/ip сокетах;

Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

На здоровье, в крайнем случае из Java Concurrency in Practice получаеться годное снотворное или рвотное (как повезет)

Дальше Java — только Go.

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

Посмотрите в сторону ESB — Camel, Oracle Service Bus,Mulesoft, Dell Boomi (хотя там и нет Java). Особенно будет полезно, если надумаете трактор заводить.

На счет последнего, я уже пару лет как не в Украине...

Меня в Словакию IBM на Oracle Service Bus звали)

мы как раз остатки Mule из проекта сейчас изгоняем, бгг

да на core-java+ Flink- делать простой ETL . там он изначально не нужен был вообще как по моему мнению.

Oдного из тех людей, что вам этот ETL на Mule замутил, мы на следующей неделе собеседуем:)

бггг я ору с этой деревни

С чуваком я не работал но если интерисует мое мнение о результате- можешь набрать меня я раскажу :)

Кто попадал в похожую ситуацию?

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

2 года для жавы эт мало, В своё время играл с hadoop, drools, jbpm, spark, gwt, camel и там много ещё чего, все интересное, не со скучешся. Если в плане работы, то Spring, JPA/Hibernate самое популярное у нас. Какая область деятельности тебя интересует?

Oracle надає чудовий шлях по вивченню Java.
Я так розумію основи ти освоїв, переглянь підготовку до OCA (джуніор рівень).
Так як ти не чіплявся до багатопоточності, можеш готуватись до OCP (середній рівень) і там найдеш багатопоточність, лямбди, та функціональне програмування і інші цікаві штуки
А далі безмежний простір JavaEE так і до Enterprise Architect дойдеш.

Где б еще лишние деньги на все эти вещи взять :)
хотя да, на эмуляторах в принципе тоже есть чему поучиться

1. StackOverflow — попробуй поотвечать/позадавать какие-то вопросы по интересующей тематике (либе, фреймворку, алгоритмам);
2. В опенсорсном коде, что используешь — видишь ли ты какие-то недостатки? Может какие-то улучшения? Баги? Если да — то попробуй законтрибутить, пропихнуть свои изменения в какую-то либу. У каждого проекта есть довольного много проблем и багов до которых не доходят руки. Лишняя помощь никогда не помешает. Например, в популярном elasticsearch (26к звезд) сейчас висит 1200 тикетов;
3. Если не хватает скила для пункта 2 можно просто подписатся на апдейты интересующей либы и смотреть код заходящих пул реквестов и пробовать разбиратся в них. Читать чужой код так же важно как и писать свой;
4. Попробуй написать статью или выступить с докладом на какую-то интересную тему;
5. Пет проджект с незнакомым стеком. Если юзаете на работе реляционки, попробуй No-Sql. Если юзаете HTTP попробуй написать свой бинарный протокол на tcp/ip сокетах;

1. in progress
2. спасибо, у меня всегда возникает проблема найти интересный opensource, но чем стоять на месте лучше попробую не интересный :)
3. еще не смотрел код, может и не хватать, посмотрим.
4. Хм. Написать статью в блог не проблема, правда мой никто не читает, другой вопрос в том чтобы написать доклад. Их, как я понимаю, надо читать на конференциях, а я об этом не сном не духом, и есть сомнения что могут не взять на такое мероприятие. Как это вообще происходит?
5. У меня видимо фантазия не очень, потому как взять стэк с которым я ничего не смыслю и сделать на нем проект, который был бы еще и интересен (мне или кому-либо) выше меня, но от предложений не откажусь. В чем интерес писать свой протокол — понятия не имею, но есть опыт реализации нестандартного протокола через tcp/ip сокеты. не бинарный прямо, байтовый поток использовал из сокета, но думаю разница небольшая. Есть еще интересные идеи? :)

возникает проблема найти интересный opensource

Их много. Главное понять что для тебя «интересно» и плясать от туда.

Написать статью в блог не проблема,

На самом деле проблема, потому что интересных, неизбитых тем довольно мало.

есть сомнения что могут не взять на такое мероприятие. Как это вообще происходит?

Делаешь презентацию, засылаешь на конфу :).

В чем интерес писать свой протокол

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

Главное понять что для тебя «интересно» и плясать от туда.

да уж, проблема :)

На самом деле проблема, потому что интересных, неизбитых тем довольно мало.

Та нет, если не сидеть на одном спринге, то тем очень много. На любой фреймворк запилить статью insider thoughts реально не проблема, хотя мороки разобраться с ним может быть достаточно. Но это только вопрос времени. С руки статьи «как устроен Lombok и где он не работает», «Для чего нужна скала современному разработчику, области применения в продакшене», «Advanced Spring data query creation», «Maven version control, как найти устаревшую версию», «Spring Integration Usage». В теории все уже сделано, а на практике выходит, что все время растягиваешь не такие уж и резиновые фреймворки, и применяешь их не так как они задумывались изначально, потому что никто, из тех кто это делал до тебя, не написал статью :) И да, на часовую лекцию не насобираешь, но на статью в блоге потянет.

Делаешь презентацию, засылаешь на конфу :).

Хм. Хм... И что, вот так просто примут?

Пункт 5 — про пробовать новое.

Новое найти можно, а вот интересное (мне или другим) — сложнее. И еще спросил за предложения по теме, а то действительно, может, надо :)

Хм. Хм... И что, вот так просто примут?

конечно, а ты думаешь всякие митапы только дональды кнуты организовывают?

Если юзаете HTTP попробуй

Можно попробовать заюзать gRPC и вместе с этим запилить проект на микросервисной архитектуре

и вместе с этим запилить проект на микросервисной архитектуре

Только если на столе — смузи с митболами, возле ног — гироскутер, на теле — кардиган, а на лице — борода.

5. Пет проджект с незнакомым стеком. Если юзаете на работе реляционки, попробуй No-Sql. Если юзаете HTTP попробуй написать свой бинарный протокол на tcp/ip сокетах;

Я как раз начинал со своего бинарного протокола на tcp/ip. Смысл изобретать велосипед, то есть свои кустомные решения — должен быть обоснован.

как с многопоточностью закончишь, можно разбираться с распределенными системами (горизонтальное масштабирование и вот это все). Как работает и почему

Был в примерно похожей ситуации года 4 назад. Могу посоветовать то, что помогло в то время мне — поготовься и сдай парочку SCJP. Это только один из многих возможных вариантов саморазвития, возможно тебе подойдет на пару месяцев. Потом я бы посоветовал выделить какую-то область в java — и копать в глубину становясь все более крутым спецом, например многопоточность.

Clean Code, GoF, GRASP, EAA, EIP.

+, +, +, что это?, в процесе чтения книги -_-

Разные сборники разных шаблонов проектирования. Последние две:
www.amazon.com/gp/product/0321127420
www.amazon.com/o/asin/0321200683
Все книги выходили и на русском, конечно.

Ха, а ти думав кожного дня в роботі програміста щось нове? Це блін як стоматолог би сказав задовбало кожного рутинно пломби ставити :)

Перечитайте, пожалуйста, что написано в посте, спасибо.

Как вариант — НИКУДА. Просто развивай скорость. Велосити знаешь ли в цене во все времена.

Можно поизучать аспекты функционального программирования. Если не собираетесь переходить на что-то кроме джавы, то можно сильно не углубляться. Почитать про чистые функции, type class и тд. В целом немного меняет мышление и помогает замечать косяки в коде, которых раньше не видели.
Но это чисто моё имхо.

Вот тоже хотел это посоветовать. ВНЕЗАПНО открывается новый взгляд на старый код.

если метишь действительно высоко — учи алгоритмы

очень, очень расплывчато :)
Куда мечу? Высоко — понятие относительное. Есть ли какая-то область где алгоритмы нужны? Какие нужны? Для чего? и т.д. :)

Facebook, Amazon, Microsoft и т.д. на собеседованиях спрашивают в основном базовые алгоритмы. В Украине алгоритмы мне лично пригодились на собеседованиях в Grammarly и Ring. Опять таки базовый набор. Пример области — разработка CAD в Altium. Применяются Computational Geometry/3D алгоритмы правда на плюсах.

Итак, на вопрос куда ответили хорошо, хотя конкретно в эти три компании я пожалуй поостерегся бы идти :) Теория базовых алгоритмов у меня есть, но вопрос был о конкрентно какие алгоритмы (не базовые) учить и для чего (кроме собеседований).

Насчет разработки алгоритмов для постройки графики, то это, как мне кажется, очень специфическая область, чтобы только для нее учить алгоритмы (продвинутые?). Учитывая, что занимаюсь джавой, а не плюсами, это еще менее вероятно.
Конечно, как пример, принимается :)

В джаве тоже и пути в графах ищут, и ML присутствует, не все ж спрингохибернейтами ограничивается. Кстати, вы так и не указали каких именно освоенных технологий вам хватает.

каких именно освоенных технологий вам хватает

Потому как на классификацию не знаю :) Ну допустим скажу освоил «спринг», и как это проверить/доказать? По каким критериям я должен оценивать освоение или не освоение технологией? Ну или интереснее с Maven или Git, как тут быть? В спринге хотя бы сертификация есть :)

Я не собирался вас проверять, поверю на слово. Если освоили к примеру spark, deeplearning4j, много других страшных слов и стало скучно, это одно, если надоели спринг с хибернейтом — это несколько другое.

Ищите проект, который будет вам интересен, тогда и будет понятнее, на что обратить внимание.

Если освоили к примеру spark

Замечу, что освоить спарк, и уметь его применять, это совершенно разные вещи :-)

Это всего касается)

в плане алгоритмов базовых, мне очень понравилась www.amazon.com/...​t-Sedgewick/dp/032157351X , читал предыдущее издание, кстати есть в переводе, но рекомендую англ.

тоже самое только курсом: www.coursera.org/learn/algorithms-part1 и www.coursera.org/learn/algorithms-part2. Очень рекомендую!

Java Concurrency in practice по моему несколько устарела. Нет про parallel streams в Java 8.
Хотя, базовые знания (синхронизация, потокобезопасность, дедлоки и тд) никогда не бывают лишними и применимы для любого фреймворка

если рутинная работа не предоставляет новых знаний, пора менять работу :-)
в Kotlin можно поковыряться

Скажу что работа нравится :) задачи сложные достаточно, интересны, заставляют напрягать мозг, не жалуюсь) Но хочу развиваться дальше и в других направлениях

Чувак с опытом уже эту тему(Java Concurrency) знать и прочувствовать должен.

Мы про разные многопоточности говорим :)

Разные?). Как интересно.

switch to scala

Я читал про скала, но кроме того что «скала лучше чем джава! Чем? Чем Джава!!11» ничего не нашел. Зачем она вообще?

Погугли, ты ж миддл, есть даже такие статьи и ролики на ютубе: why scala is better than java.

Я гуглил, потому так говорю :) Я не могу понять, в какой области она лучше, «каково ее предназначение». Я спрашиваю ибо ответы меня не удовлетворяют, а чтобы самому его найти мне придеться изучить скала. Но такая причина — неправильна.

Я думаю не нужно. Проектов гораздо меньше раз в 100, сложность выше раз в 10 иногда в 100. Зарплата плюс-минус такая же. Для пета норм. Но в энтерпрайзе можно изойти кровавыми слезами.

вы ведь не писали на scala, да ?

Тут есть кто-то третий еще? Я немного писал, но не в ентерпрайзе, а свои петы. И немного заглядывал через плечо в энтерпрайзы. На этой почве и рассуждаю.

Ну тогда стоит сказать, что scala не сложна, не стоит пугать человека. Выучить новые концепции это не сложно, на этом собственно и всё.

Гугл к такому же выводу пришел, но фанатов скала от этого не меньше :) от того и мой первый вопрос товарищу, крикнувшему «скала лучше чем джава» :)

Груви лучше однозначно, это то какой должна была быть Java. Скала — спорно.

Синтаксис сладковат и баста, а так медленнее сборка, зачастую, нет обратной совместимости с предыдущими версиями. Ну таке. Тогда уж Котлин, в 5 Spring’e поюзать.

Скала это не только «синтаксис получше», это как раз возможность изучить новые концепции, узнать что такое и как используются: алгебраические типы данных, типы высших порядков, структурная типизация, экзистенциальные типы, generic programming, тайпклассы, параметрический полиморфизм, recursion schemes.
В целом скала сообщество можно разделить на 3 категории:
— те, кто использует scala as better java
— сторонники прагматичного подхода, которые стараются писать используя техники FP, но и могут использовать мутабельность, побочные эффекты где это уместно; такой подход пропагандирует Мартин Одерски, так написана к примеру Akka
— сторонники чистого haskell-like кода, когда програма должна быть полностью referential transparent без мутабельного состояния и побочных эффектов.

Используя 3й подход можно узнать на практике что такое моноид, монада, аппликативный функтор, монадные трансформеры, линзы, etc...
В целом здорово расширяет кругозор.

Я не могу понять, в какой области она лучше, «каково ее предназначение».

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

Скала это не только «синтаксис получше», это как раз возможность изучить новые концепции, узнать что такое и как используются: алгебраические типы данных, типы высших порядков, структурная типизация, экзистенциальные типы, generic programming, тайпклассы, параметрический полиморфизм, recursion schemes.

Это все нафиг не нужно после 2-х лет использования джавы.
После 2-х лет использования джавы нужно канкаренси, алгоритмы\структуры данных, джвм,

В целом скала сообщество можно разделить на 3 категории:
— те, кто использует scala as better java
— сторонники прагматичного подхода, которые стараются писать используя техники FP, но и могут использовать мутабельность, побочные эффекты где это уместно; такой подход пропагандирует Мартин Одерски, так написана к примеру Akka
— сторонники чистого haskell-like кода, когда програма должна быть полностью referential transparent без мутабельного состояния и побочных эффектов.

Причем вполне может быть так, что в одном проекте все три подхода перемешаны одновременно. На практике это адов ад с которым потом никто работать не может.

Так у многих уже от функций высшего порядка мозг взрывается

Не забивай голову, захочешь перейти — поймёшь чем лучше (или наоборот)

Я не такой человек, я не могу работать на «ощущении» и мне не приходит озарение «НАДО СРОЧНО УЧИТЬ СКАЛА/ДЖАВА/С++», в любом случае это лишь инструменты. Я спрашиваю где его применяют, чего я могу достичь если изучу скала, и т.д. Собственно, на этот вопрос я не могу найти ответа, но фанатиков, говорящих как крута скала — полно. Последняя часть меня беспокоит и ее я пытаюсь понять, на самом деле.

кейс классы, паттерн матчинг, более внятный и полный API для работы с коллекциями (только после этого от Java Stream API подташнивает), хвостовая рекурсия, вывод типов, val a = 5 вместо final int a = 5, ну и еще по мелочам. Упарываться в стиле scalaz необязательно.

Применяют там же где и джаву, но в целом благодаря Akka область немного шире.
Ну а чего крутая, ну как тут ответить. В целом язык как язык. Я пишу на нём, и он мне нравится из-за возможности писать чистый код (pure functions) который легко читать и парралелить, самого кода выходит меньше благодаря функциональным комбинаторам, паттерн матчингу, функциям высшего порядка и тд. Те же функции ВП помогают писать по DRY. Функциональная композиция выручает при оптимизации многократных вызовов тех же функциональных комбинаторов ( вместо 10 map мы можем вызвать 1 и в нём использовать композицую функций). Ленивые вычисления ещё. Отдельное внимание стоит уделить Future. Уникальный инструмент для построения асинхронных вычислений. Ну и есть Akka, scalaz, cats etc.
Всё, что делает скала, это помогает писать чистый и компактный код, к тому же если писать правильно — ещё и понятный.
Мне нравится на нём писать, чо

Future уникальный инструмент??

То, как он реализован в scala — да, и то, как его можно использовать, и как формировать архитектурные решения с его помощью.
Если вы вдруг подумали о Future в джаве — не сравнивайте.

Корутины — вот это действительно интересная вещь.

Future — это глючная и недальновидная подделка которой «взрослые мужики» не пользуются. Реальн «интересная» вещь это scalaz-streaming (он же fs2), там таки нужно вынять мозг, прокрутить 800 раз, положить обратно, и всеравно ничего не понять.

Я б не назвал Future глючной и недальновидной поделкой,

«взрослые мужики»

ей не пользуются от того, что ее нельзя использовать в pure вычислениях (из за eager семантики), но в целом она гораздо лучше того, что есть в java.

scalaz-streaming (он же fs2)

Это немного из другой оперы, fs2 стоит сравнивать с monix-reactive, akka-streams, etc... Более «чистые» альтернативы future это monix.eval.Task, monix.eval.Coeval, scalaz.concurrent.Task, cats.effect.IO.

Это немного из другой оперы Более «чистые» альтернативы future это monix.eval.Task, monix.eval.Coeval, scalaz.concurrent.Task, cats.effect.IO.

Да я не спорю, но они сами по себе не особо «интересны».

Да ладно. Вполне себе сравнима с CompletableFuture

Просто попробуй послушать первые пару лекций курса по Scala на coursera.
Если понравится, продолжайте)
Например, на scala очень удобно работать со spark. Еще play неплохой фреймворк.
После нее кажется, что java — это как с++.

Scala — прекрасный, лаконичный и великолепный язык. Вот отфонарный пример кода и эквивалент Java рядом (в случае Java это ещё очень хороший API). И это всё выполняется когда можно написать код который сразу будет работать и не будет сопровождаться. То есть никогда. Потому что как только нужно покрыть что-то тестом или продебажить — всё наслаждение которое получаешь во время написания кода резко пропадает и твои потуги превращаются в боль.
С другой стороны concurrency очень хорошо и лаконично ложится на функциональный стиль, всё смотрится очень естественно и как родное.

Скала как по мне караз потихоньку отмирает.
Хипстерский хайп по поводу настоящего фп — так и остался хайпом, на практике не работает, и единственная контора которая его применяла — склеивает ласты.
Остальные большие конторы скалу потихоньку сворачивают в пользу жабы или го.
Конечно останется спарк с аккой и плеем на некоторое время, но все выглядит так что индустрия движется в сторону джава эквивалентов.

порог входа очень большой и потом можна наянять 10 индусов которые на джаве или на пайтоне сделают такой же сервис

В этом какраз и проблема, садят таких индусов писать скалу, и они пишут «как на джаве», и результат получаеться хуже чем если бы они на джаве и писали :-)

может хайп и остался, но фундаментальные знания по фп и как это может работать — останутся
не обязательно навсегда, можно на год, а потом обратно на джава
что за единственная контора?
скала и есть джава эквивалент

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

Знаиния по фп, за пределами фп не особо то нужны. Общее развитие -эт всегда хорошо конечно. но сейчас садиться учить чето с перспективой найти работу через год — я бы не стал.

что за единственная контора?

Той в которой я пока еще работаю, но нда и все такое.

скала и есть джава эквивалент

ноуп.

Знаиния по фп, за пределами фп не особо то нужны.

а знания concurrency за пределами concurrency значит нужны?

Twitter что ли? Так есть и другие большие конторы.

lightbend обнаружила что в скала денег нет

что за единственная контора?

похоже на twitter

В твиттере никогда небыло чистого фп.

На новий рівень виходиш не коли вчиш черговий мотолок а коли робиш нові задачі.

Чем таким занимаються синьоры

Виховуванням молодого покоління і вирішенням задач вищого рівня абстракції.

На новий рівень виходиш не коли вчиш черговий мотолок а коли робиш нові задачі.

Не могу согласиться полностью, т.к. если вместо скворечника строить собачью будку, то сомнительно что уровень повысится.

Виховуванням молодого покоління і вирішенням задач вищого рівня абстракції.

хм. Может быть. Только, почему-то, мне кажется это неправильным.

Попробуй Groovy, Grails , какие-то красивые и удобные вещи, уже можно )))

Не совсем понял,

Groovy, Grails

красивые и удобные, или надо пробовать другие

какие-то красивые и удобные вещи

?

Эти красивые и удобные, потом куда тянет, то и пробуй, вещей разных много. Кому нравится JS можно туда копнуть, так как любой Java-developer по факту обязан верстать, javascript-ить, подымать докеры и субд. Мне лично JS не нравится и я туда не копаю.

Опять же не совсем понял твою цель — что-то приятное для души, что разбавить унылое говно после энтерпрайза, или копнуть что-то полезное в карьере?

так как любой Java-developer по факту обязан верстать, javascript-ить

Спорное утверждение.
Не понимаю зачем многие используют дорогую рабочую силу (Джава девелоперов) для решения задач которые могут решить быстрее и лучше более дешевая рабочая сила (фронтенд девелоперы).

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

Это называется full-stack , который получает в 1.5-2 раза больше обычного спеца будь то бэкэнд или фронт или дба или девопс. Как правило, идет желание хитрожопых менеджеров навесить непрофильных обязанностей в тот же грейд за те же деньги. Если человек позиционирует себя как full-stack — нет вопросов, он будет больше получать. Но в 90% идут манипуляции: «О! нам надо Ангуляр, ты ж сеньйор java — давай вперед!!!»

Примерно так и есть, только вот в

Но в 90% идут манипуляции: «О! нам надо Ангуляр, ты ж сеньйор java — давай вперед!!!»

По сути нет ничего страшного(если у вас нет жесткого констрейта на этот счет конечно), т.к. это и есть шаг к тому самому фул стэк, когда уже можно просить больше денег, или по вашему злые менеджеры должны авансом ЗП накидывать?

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

Еще раз, зачастую, чувак сидит на том же грейде и зп и ему навешивают непрофильные обязанности, а он и не думал идти к фуллстеку.

если у вас нет жесткого констрейта на этот счет конечно

Если есть, то о чем тут говорить?

Бывает и наоборот (( ты ж синьйор фронт иди колупай джава...

И так бывает ? Ничоси

Уже и Java есть )) смотрю еще в сторону Scala, ну как вы и сказали на зп это оч хорошо отразилось если норм кейс ))

Перестань вы-кать, мне не 60 лет, эта привычка не способствует конструктивным диалогам и возводит искусственные преграды в общении.

непосредственно на зарплату может и не повлиять, но заставляет мозги пошевелиться.

+ девопс навесить
Чтоб рейт прям был так выше — не особо встречал.

более дешевая рабочая сила (фронтенд девелоперы)

насмешыл дядя )) посмотри зп во вкладке зп и успогойся ))

так как любой Java-developer по факту обязан верстать, javascript-ить, подымать докеры и субд

been there done that :)

копнуть что-то полезное в карьере

скорее это, за такой малый срок ентерпрайз не успел надоесть :)
Если уточнить я не ищу новые технологии, скорее хотелось бы узнать новые tricks of the trade. Я точно уверен что я не дорос до уровня когда «я знаю джаву», но вот расти в этом направлении хотелось бы.

И да, у меня неважно получается донести смысл когда я сам его не до конца понимаю. Я лишь надеюсь, что тот кто знает о чем я, поймет и подскажет :) ну или случайно наткнуться

Можна в Android чи Big Data або в щось повязане з AI і Machine Learning правда не знаю наскільки в тому напрямку Java актуальна... в кінці кінців, виходять нові версії Java і Spring має величезну екосистему з купою всякого типу клавд і тд. і всі ці інстументи постійно оновлюються думаю в тому всьому копатись можна роками... кожен новий Java дайджест на dou легенько натякає шо є ше шо вчити...

учить все подряд весело, пока не понимаешь что 90% того что выучил как только появилось сразу исчезло. А ты уже время на это потратил.
Вопрос не в том, что новое учить, этого добра везде навалом, а как выйти на новый уровень. Но с этим мне уже подсказал Нестор, пожалуй действительно возьмусь за многопоточность в джава

multithreading то супер, а reactive programming це взагалі топчик)

трохи дивно шо ти пишеш шо в тебе 2 роки комерційного і ше купа такого досвіду, а ти тільки берешся за багатопоточність...

многопоточность я знаю, вопрос в том что работать с ней напрямую приходилось не много. Как тебе сказать... Ну вот session, application уровни и все такое и как с ними работать в энтерпрайзе и т.д. знаю, а как самому создать сложную многопоточную архитектуру — нет.

можно еще scala на стороне потрогать, но это скользкая дорожка — или быстро забьешь или докатишься до теории категорий.

и еще — пейпер по Java Memory Model попробуй почитать, это такое жесткое чтиво из мира горящих великов

два года это ни о чем, спринг гибернейт на вебчике не вся java ни разу. Покопай недра JVM и всяческие оптимизации. Быстро узнаешь что ты на велике который горит, все вокруг горит и ты в аду и скучно быть перестанет.

ага, а потом обратно идти формочки на jsp клепать...

а потом работу менять на более веселую, где горящим велосипедистам свисток дают

Залезть в jvm звучит весело, только практически какой толк?

Пс: там ниже писал уже, но два года только коммерческой джавы, так то больше.
И не только на спринге проекты были

Java Concurrency in Practice тогда читай от скуки, это на долго бгг

Міняти компанію, обирати хороший проект, ні в якому разі не йти в ентепрайз.

Велика компанія (як правило), низький імпакт на продукт, багато легасі.
Ось наприклад — felixit.blog/...​roblemy-bolshih-kompanii

посыл понял, менять проект не буду, как уже не раз писал, проект нравится. :) Ищу как дальше развиваться кроме проекта :) Но возьму на заметку)
*шепотом* хорошо хоть у меня не такое

Java out of enterprise ? А можно примеры вакансий в городе Киеве?

Ну з великих циклум наприклад. Там в основному не ентерпрайз.

Я имел ввиду вакансии без указания JavaEE ( Enterprise Edition ). Я таких на сайте циклума не наблюдаю.

javaee ≠ енетпрайз проект. Під javaee часто мають наувазі спрінг хібернейт і тд.

Під javaee часто мають наувазі спрінг хібернейт і тд.

Звідки така інформація?

почитай умные книжки по джаве, алгоритмам

Как стать более професиональным кроме того чтобы рутинно работать пока в резюме капает счетчик опыта?

Рутинная работа за хорошее бабло — это и есть профессионализм.

В общем, делай проекты, собирай рекомендации, наращивай стоимость своего часа, разбирайся чего делать с накошенным баблом. Рутина-с...

Это путь ведущий в тупик. В какой-то момент ты поймёшь что твой стэк никому не нужен и работать негде. Развиваться надо, но я пока не пойму как добить джаву, чтобы переключиться на другое

Это путь ведущий в тупик. В какой-то момент ты поймёшь что твой стэк никому не нужен и работать негде.

В тупик с жабой следующие лет 10 (как минимум), ты не заедешь.

Тyпик для технологии происходит, когда 1) выходит некий «киллер» 2) компании срочно бегут переписывать продукты/системы с технологии на «киллере» 3) тeхнология/язык становится легаси. Для жабы пока такого «киллера» не видать — напротив, старые системы всё ещё пеpеписывают с легаси на жабе.

Приведу пример: был я беззаботным плюснутым кодерком. Без проблем менял работы/проекты в 2000-х — но появился «шарп», стал на ноги, индустрия ушла на него и в конце 2000-х для «плюсов» на виндовом дэсктопе всё закончилось. Кто остался на «плюсах», тот сейчас нанимается на редкие проекты за мелкий рейт — кто свалил на «шарпы» продолжает баблокос.

С жабой пока ничего подобного не происходит, так что моя рекомендация выше остаётся в силе.

Если владеешь техникой — расширяй предметные области. Если достиг в Украине «потолка» (для жабы, я бы сказал порядка 6к/мес) и хочется большего — учи немецкий и заводи трактор...

я не о джаве говорил, а о

собирай рекомендации, наращивай стоимость своего часа, разбирайся чего делать с накошенным баблом

А что ты хочешь, вместо этого? Книжки читать, да сертификации сдавать (на которые работодателям плевать) — за мелкий рейт?

Ок, ты чел опытный — тебе виднее. :)

После двух лет работы с Java кодом, понял что учиться у колег и сопроектников уже нечему.

Ну так ты их теперь учи. Хотя после двух лет толком еще нечему, так что можно, как советует ниже Shepard Yankiy, поменять людей (проект/компанию).

Если бы. Два года это коммерческой джавы, так то за спиной 6 лет универа кампутер сайенс и 2 года самообучения джавой конкретно. Учить есть чему, но мало кто послушает, учитывая возраст.

Загадочно как. Какой университет?

КПИ, только в чем загадочность?

При всем уважении к КПИ как к политеху, называть его «университетом кампутер сейенс» я бы н стал, по крайней точки зрения как чтото серьезно меняющее матерость программера. Сугубое имхо.

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

да нормально, но

за спиной 6 лет универа кампутер сайенс

звучит как-будто чела из выпуска MIT в Гугл схедхантили и скучает там теперь

:D приму к сведению
И как тогда я должен называть 6 лет в универе? =)

не знаю кто это придумал, лично я перечитал раз 5, но нигде не увидел надписи «я уже синиор в 23, че дальше?». Топик о том как развиваться в джава помимо текущего проекта. Синиором или даже близко я себя не называл, да и прямо указал что даже не претендую на это.

сравнивать с Гарвардом, то да, конечно.
Лучше чем нечего, правда

Два года это коммерческой джавы, так то за спиной 6 лет универа кампутер сайенс и 2 года самообучения джавой конкретно.

Вибачте, але в мене враження, що у Вас трохи завищена думка про Ваш досвід та знання.
Наші універи я взагалі не вважаю за «досвід», про «самоосвіту» мені важко судити, а 2 роки досвіду — це дуже мало для таких заяв.
Принаймні, я ще не бачив жодного дійсно сіньора з таким досвідом.
upload.wikimedia.org/...​ning—Kruger_curve.svg.png
Скоріш за все, за перший пік Ви ще не вийшли ;-)
Але якщо я помиляюсь, і Ви дійсно готові підрости до техліда/архітекта, то копайте у напрямку
теорії у проектуванні розподілених систем та ентерпрайз паттернів. Це Вам обов’язково знадобиться у сучасному ентерпрайз «мікросервісному» світі.
Можете сертифікат отримати. Не для «корочки», а щоб систематизувати свої знання.

Вибачте, але в мене враження, що у Вас трохи завищена думка про Ваш досвід та знання.
Наші універи я взагалі не вважаю за «досвід», про «самоосвіту» мені важко судити, а 2 роки досвіду — це дуже мало для таких заяв.
Принаймні, я ще не бачив жодного дійсно сіньора з таким досвідом.
upload.wikimedia.org/...​ning—Kruger_curve.svg.png
Скоріш за все, за перший пік Ви ще не вийшли ;-)

та нет, если читать «я 23 летний синиор» то коментарий уместен. Только я такого не говорил :) Просто так сложилось, что у колег учиться нечему на проекте, нет такого человека в команде, который бы мог научить меня чему-либо в джаве. Мы приблизительно на одном уровне т.е. все мидлы или приближенные к этому. Синиоры работают над архитектурой или глобально ломают код, мне такой ереси не доверяют, кто-то должен все-таки заставлять программу работать %)
Проблема также в том, что пока счетчик не накапает 4 года то и не дадут таких задач :)

На вторую часть отвечу чуть позже :)

у колег учиться нечему на проекте, нет такого человека в команде, который бы мог научить меня чему-либо в джаве

Якщо це дійсно так, то це дзвіночок Вам щоб шукати інший проект.

Проблема также в том, что пока счетчик не накапает 4 года то и не дадут таких задач :)

Це теж дуже дивно. Можливо це специфіка Вашого проекту, але вперше чую щоб задачі роздавались на базі підрахунку кількості років досвіду. Дуже часто «кількість років» не корелює з дійсним рівнем вмінь та досвіду.
Або у вас «дідовщина» ваших сіньорів, які беруть найцікавіші задачі, або відчувають, що Ваш досвід (амбіції) не дозволяють. Можливо навіть, що просто вважають, що Вас все влаштовує.

Якщо Ви відчуваєте, що вже здатні на більше, знайдіть в джирі гідну Вас задачу, та спробуйте поговорити з вашим техлідом та попросити довірити Вам її виконання. Можливо, це навіть позитивно оцінять. Якщо у вас проводять обговорення технічних проблем, активніше беріть участь та пропонуйте рішення технічних проблем, а потім пропонуйте самому взятись за реалізацію цих рішень.

везет, у меня за плечами 9 лет комерческой, из них 5 джавы, а универ и школьное програмирование стыдно вспоминать(так то дето с 2001го позор тянется), при этом всеравно чуствую себя нубом, не угнатся за молодежью)

Менять компанию, ну а Java это же могучий тирпрайз — без рутины никуда.

Менять проект потому что все знаешь на проекте? А где тут логика? Проект менять не хочу, тут интересные задачи, только технологий новых нет.

только технологий новых нет.

А який стек?

Куча апача :) не уверен что могу раскрывать такие вещи ;)

Якого ще апача?
Не знаю де Ви працюєте, але базові технології стеку зазвичай не є секретними. Наприклад: JDK8/Spring/Spring Boot/Tomcat/JMS/RabbitMQ/JPA/Hibernate/Oracle

Подписаться на комментарии