The role of a Senior Java Developer has witnessed significant changes over the past years. As technology continues to advance at an unprecedented p...
For further actions, you may consider blocking this person and/or reporting abuse
For me, the most "senior" thing you need to do, is to change mindset from "I don't know" to "I don't know YET". Then most of the things will come eventually.
Also it is important to understand, that seniority doesn't mean to learn a lot of things fast (and thus rather briefly), but mostly comes with experience (meanwhile you will learn a lot of new things).
One skill I find much more important that for example deep understanding to JVM or knowing dozes of frameworks - business analysis. Or at least part of it. To be able to transform the requirements into solutions. And be able to think about it, uncover blind spots in the design, forsee the edge cases, propose solutions and communicate them with team and sooner or later also with the customer himself. I believe this differs (senior) software engineers from mere coders. In the emerging world of AI being good at this seems more important than ever.
Fully agree about "YET" part :) It is especially visible in situtation: "I cannot do it" vs "I cannot do it YET"
Thanks for this very detailed list.
I just want to that say learning Scala or even Kotlin can be a great way to understand the new features that are being incorporated in the latest Java versions. Myself, I didn't understand functional interfaces (Function, BiFunction, Predicate and the others) completely until I learned Scala, even though I don't use Scala at work. Other examples: pattern matching or sealed classes have been in Scala since the very beginning.
Avoid mutability as much as possible leads to much more maintainable programs.
The vavr library allows ro write Java as if it was Scala.
Yes, knowing functional languages is definetely a huge step forward for any programmer. But when we are talking about widely spread enterprise Java developers, their code based is often written on java (sometimes even older than 1.8). Large companies (especially those whose main business not IT) are histent to add Kotlin to their stack, since starting from that point they would need to hire more expensive programmers, knowing both Kotlin and Java
If you need to stay in Java, you can use libraries like Lombok, Immutable, vavr or Guava. Guava should be a must, in my opinion. Specially if you still have to use Java 8.
I like the tree of topics, however, I find the word "Senior" as very subjective in the industry nowadays.
Nevertheless, I have been looking for something like this tree of concepts for a long time.
Thank you
Well, yes, seniority highly depends on the particular work place. But in general, I'd like to believe that Senior is someone who could not only execute tasks and set goals on development of hte current project in technical direction. Decide which technologies should be used, how to do features and so on. One cannot make such decisions without having enough outlook
Thanks for the enlightening the key features.
Thank you!
I like it. Cool
Thank you!
Модель was in Russian on the list
The same as геометрия
Ops, exported from platform, which has translations for some skills. My bad, fixed.
Cool, now make it into a book or a course
where is message broker and cache?(kafka, redis)