Hi folks!
Today i want to present a interesting report about what German company’s looking for in form of java technology knowledge from skilled and professional workers.
Before I present data let me describe how exactly I gathered this data and how many companies were analyzed by me.
As input were provided job title of Java developer, each job description consist the job requirements those were extracted and counted as one company to many languages,
the numbers
represent the amount of company’s which put in the job description the
requirements of knowing x,y,z particular language and framework.
How many company’s I looked
for: around 200 , why not to give
concrete number , well I spent 2 days gathering and I am not sure that it was
exactly 200 its way to much as I expected to see.
Lets see the diagramm!
Now to data itself, as always Java is a king and on the top, but C# and C++ are in demand too,
strangely enough I saw more and more the requirements for knowing python together with java and other languages, how crazy the
projects must be if the requirement for java guy must be
good in c++ and python, this actually full stack developer with xxx salary (100K
Euro bare minimum for skilled developer), some company should have balanced amount of workers the stretch and expectation way to large , then its humanly possible.
Framework wise, Spring Boot is a king
some people would disagree, but as I much love Java EE and Jakarta its obvious truth in 2020 many companies look and expect from Java developer the knowledge of Spring Boot. I saw only one German company which actually demanded the knowledge of Jakarta Enterprise, which was one insurance company.About Jakarta Enterprise in my opinion it’s in flux, the Jakarta Enterprise 8 is compatible to Java EE 8, but any new version there is huge difference, some folks in Jakarta developer community want to drop EJB, and I understand why, but this would bring for some EJB heavy company’s which depend on EJB and what I saw in job descriptions has given me the outlook that in the near future they would get into problems, because switching to new Jakarta would be painfully difficult and costly to them, my advice to those company’s start to think now , before your applications would not be manageable and plan on big refactoring to Spring Boot or to new Jakarta Enterprise.
About GUI: Swing is alive and kicking, but company’s should
think about deprecating and moving on to JavaFX, the reason behind such advice:
Oracle officially plan to support Swing until September 2026 , here read the
Oracle roadmap
I just need to quote Oracle:
“Swing and AWT will
continue to be supported on Java SE 8 through at least
March 2025, and on Java SE 11 (18.9 LTS) through at least September 2026”
March 2025, and on Java SE 11 (18.9 LTS) through at least September 2026”
Further Insights SQL and JPA and Hibernate are still in
common use, using ORM abstraction layer is good thing, but I saw actually in
one description that one company seeks candidates with knowledge of JDBC and
this make me sad, JDBC is great , but really in 2020 we should have trust in
ORMs.
What about cloud?
It seems, the Google Kubernetes and Docker are default
nowadays, some cloud vendors probably would disagree with me, but you can’t
deny the fact that many company’s who have applications in cloud use Kubernetes
and Docker and its very important to them to have highly educated people, which
can use such technologies on daily basis.
Positive note: Junit is de facto standard and many, many
,many companies demand clean and test driven development, this is very good and
I hope they know how to write test, testing software before and after going
into production still very crucial.
What about IDE?
Haha, Eclipse is on top, oh sure Netbeans and Intelij are in
demand too, and in my opinion you should know all those 3 IDE’s. What I personally
prefer? Well I like the Eclipse, but it has strong roots from my university experience
and your experience maybe different to my.
What about Java
Script?
This is actually most disappointment fact to me , way to
much companies use Angular and I know Angular is Google product, but really
Angular in 2020 , does your company burn so much work time and still like to have
those curves where developer for weeks stuck and struggle through npm and
typescript madness? Come on switch to VueJS, were common sense and testability
and overall better quality.
Speaking of fronted (JSF
not dead!):
JSF is not dead, there many company’s which demand knowledge
of this JEE framework, I like JSF because of consistency of the technology ,
sure this technology quite old and demand to have good and powerful server for
serverside rendering. JSF done right is a beauty, but in many cases people who
switched from JSP produce very unclean code which is hard to maintain or even
to test, still this is what market demand and I am looking into JSF once again,
but only on Jakarta implementation.
What about SQL and
databases ?:
Many companies demand knowledge of Oracle or Postgre or
Microsoft SQL and tiny minority of MySQL.
Personally I try to stay away from databases, for me its just a container where I read and write my data, I don’t want to spent well to much time of design my db or even build around a application for the database , my solution have many options and its include different types of storage inmemory, harddrive, database and other storage devices ;)
Personally I try to stay away from databases, for me its just a container where I read and write my data, I don’t want to spent well to much time of design my db or even build around a application for the database , my solution have many options and its include different types of storage inmemory, harddrive, database and other storage devices ;)
Version control?
Git its obvious choice of many companies, but some still use
SVN and subversion, come on people start moving into git and make archive from
old svn and subversion.
Devops?
Jenkins, Kibana, Kafka, Elastic Search all on the list but
there I see big development not quantifiable data applicable. Jenkins is
de facto standard for building your software in CI/CD pipeline, but sometimes
the effort of keeping its alive way to costly and don’t make any big sense to
me , but its good to know about options. Other stuff as usual, there way to
many tools to make any conclusive decisions, each company prefer different sets
of tools and i think to understand who is winner well the market still green
ask me exactly in 5 years the same questions again and I hope to give you
better answer.
Any functional
languages?
Skala , but the demand in what I saw about functional is way
to low , nobody write in the description of knowledge of Clojure which sad
(because I planed to learn Clojure and now I need to change my plans, i probably learn Python instead :) )
What about SAP and
Hybris?
Well I am not a SAP specialist, but I saw some demand on
Hybris and well I don’t think that’s is profitable invest your time in learning
Hybris , because the mentality of SAP as company and vendor locking, read more
here about Hybris , in my opinion framework should make your efficient in your business and not
let you dependent on them , but as always your experience can be very different from my. If you seek a easy
customizable framework maybe you should try Oracle Apex which actually allow
you easy to extend your business processes.
On this note I can say SAP has own and unique universe and if you one day get into you probably wouldn’t be able to get out, so be caution you was warned ;)
On this note I can say SAP has own and unique universe and if you one day get into you probably wouldn’t be able to get out, so be caution you was warned ;)
What type of development type German company’s
prefer?
Its good to know , that many companies use Scrum or Kanban,
but still Waterfall and V models exist!
In my opinion its all about humans, if humans are not
productive in any of systems, you as company should work with humans and strive
for the best optimum solution for humans and not for company, you will be
amazed how then the efficiency will improve if people work in the best setup
for them.
Something unknown topics?
Well as usual there more data to analyze , like Salesforce
usage and knowing of zephyr, power bi, Prometheus, sonarqube,
bamboo, dynamodb, liquibase and etc.
Summary:
Spending time on market research for small portion of data which I was able to
gather give me quite interesting view on current “market” and I hope you will
too see the change, we definitely in java world develop less and less new systems and most
times will work on old and legacy systems and now and them refactor them into
small microservices (only when it make
sense in business terms!) , cloud services really in demand and many
companies probably plan to move theirs datacenters into cloud , but word of
caution your data is valuable make sure that you have something on site where
you assets are protected and backed up.
The last part is challenge for developers, we moving way to fast as industry JS especially is crazy in lots of different JS frameworks , but sticking to Angular is no way a good decision, many devs will disagree with me and that’s ok I saw the data , but the efficiency in Angular projects is way to low, many Angular and Java Script devs stuck at some point of development , they cut corners and do hacky stuff, which is not proper solution and I predict we as industry feel impact in the next 5 years of badly designed and bad maintained Angular based solutions!
The last part is challenge for developers, we moving way to fast as industry JS especially is crazy in lots of different JS frameworks , but sticking to Angular is no way a good decision, many devs will disagree with me and that’s ok I saw the data , but the efficiency in Angular projects is way to low, many Angular and Java Script devs stuck at some point of development , they cut corners and do hacky stuff, which is not proper solution and I predict we as industry feel impact in the next 5 years of badly designed and bad maintained Angular based solutions!
Final thought about the market state: writing tests is in broad usage and for those who dont write tests you should explain to your managers, that without test’s nothing will work properly and business will see huge impact of defunct system which eventually will result in bad financial situation for the company.
Keine Kommentare:
Kommentar veröffentlichen
All comments are pre moderated be polite and respectful!