Tuesday, June 4, 2019

Who is a Java developer - and does anyone care?

There was a time when programmers were good in one (maybe more) particular programming language, and they called themselves XYZ developer/programmer.
All that meant that someone can solve problems with a particular language.

Java, the language, is not that complicated and the syntax can be learned pretty fast. But knowing the syntax is enough to call yourself a Java developer? ...well not really.
As a Java developer you should be familiar with the framework of Java, the classes and features included into the standard Java runtime (the one you get when you install Java). And things get worse, as besides the Standard Edition (SE) there is Enterprise Edition (EE) with even bigger set of features to be learned. ...an that my friend, takes time and practice.

Assuming that you spent significant time with Java SE and you used most of it's features (you know the collections framework, the IO / NIO, the concurrency, ...all of them), are you a Java developer?
If you have spent let's say 14 years working with Java, are you a Java developer? ...are you a senior one?

...well my friend, you might be, but does anyone care? My experience is that not really...
Companies (at least most of them) are not looking for Java developers, although that's what they claim in Job postings, but that's a trap. Pretty fast you will realise that all they want is someone decent enough in Java but experienced in using one particular framework. So you have to keep learning and as you enter the rabbit hole there is no turning back. Choose wise which hole you pick.

Learning Spring these days, is almost equivalent to learning Java SE and as you go deeper and deeper you get infected with everything that's not Java anymore. You get used to things like @Autowired, @Component and @Bean and than if you get the Lombok virus you get @Data @Value @Log4j2 @Builder ...and than come AOP and all those shiny things that make you more productive and in the same time more....more stupid and ignorant. 

-Am I a Java developer?
I tend to say I am.

-Does anyone care?
...not really, unless I learn all the possible annotations and annotation combinations of a framework....than I can become a Java developer...for some.

Do you feel the trap here?


Think about it,
are you a Java developer or a framework user that happens to code in Java?



Disclaimer: I picked Spring just as an example, knowing that almost everyone in the Java space knows what Spring is, but you could replace Spring wit any of the following: JBoss, Eclipse RCP, Hibernate, Vaadin, Struts....and more.

No comments:

Post a Comment