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.
Showing posts with label it. Show all posts
Showing posts with label it. Show all posts
Tuesday, June 4, 2019
Monday, June 3, 2019
Uh I feel old...
I consider myself a Software Craftsman. one that focuses on the problem and tries to solve it with the best tool it has at his disposal, and with which he can confidently provide quality.
This means that I don't shy away from using older technologies as long as those solve the problem and are reasonably mature to serve until it is needed...and being used to look at the big picture I can leverage using any framework for the task.
The problem is that the world has grown in a different way.
The abundance of frameworks has shaped the IT landscape and the job requirements of Today. Nowadays one who knows how to use (program in) a framework has advantage over anyone having a broader knowledge and significantly more experience in delivering and maintaining software.
And this is because companies expect the newcomer to quickly become productive (in complying with the framework). They need a Java / Spring boot developer, a Javascript / React developer, an Angular developer...
...but what if you have no experience with the particular framework, you already lost. Nobody cares if are capable to learn and work with that framework...if you don't know it, you are not our guy. We don't have time to wait for you to learn...we don't feel that you are the best candidate for us.
I don't get it.
When you take your car to the repair shop, you want someone who knows what he/she is doing, right? ...is good in his craft...is confident..because he has been through thing, fixed some cars.
...or would you trust a newbie with fancy/shiny tools and clean shirt instead?
This means that I don't shy away from using older technologies as long as those solve the problem and are reasonably mature to serve until it is needed...and being used to look at the big picture I can leverage using any framework for the task.
The problem is that the world has grown in a different way.
The abundance of frameworks has shaped the IT landscape and the job requirements of Today. Nowadays one who knows how to use (program in) a framework has advantage over anyone having a broader knowledge and significantly more experience in delivering and maintaining software.
And this is because companies expect the newcomer to quickly become productive (in complying with the framework). They need a Java / Spring boot developer, a Javascript / React developer, an Angular developer...
...but what if you have no experience with the particular framework, you already lost. Nobody cares if are capable to learn and work with that framework...if you don't know it, you are not our guy. We don't have time to wait for you to learn...we don't feel that you are the best candidate for us.
I don't get it.
When you take your car to the repair shop, you want someone who knows what he/she is doing, right? ...is good in his craft...is confident..because he has been through thing, fixed some cars.
...or would you trust a newbie with fancy/shiny tools and clean shirt instead?
Subscribe to:
Posts (Atom)