Few weeks ago, just before new year I created short survey for members of jugLviv user group and other Ukrainian java developers as well. I spread form among other Ukrainian JUGs, FB and Linkedin. In few weeks almost four hundred developers submitted their replies so that I decided to generate summary report nevertheless survey was still open. Later on I will update results if needed.
So first of all some information about developers themselves. We can see most of participants are between 30 and 40 years old, It’s a bit unexpected, usually younger people more willingly take part into different surveys but here just 20% under 25 years. Average age in Ukrainian IT industry is around 30 years. More information about Ukrainian IT specialist you could find here
71% of respondents are software developers, 5.7% choose option “Other” but based on comments I could assume most of those “others” are Automation QA engineers.
Major part – men, just 7% – women
I added optional question – “What is your city?” Majority replied – Lviv. In fact it’s just second biggest outsource destination in Ukraine after Kyiv.
More than 50% develop some petprojects
and just 15% contribute to open source projects
I split survey in few logical parts: questions about Java and othef languages, questions about frameworks and libraries, questions about tools and the last – questions about development processes. Some questions are quite similar but it was done purpose. Such combination allows to build better vision. Also most questions allow to choose few answers, I did intentionally knowing many developers work on few different projects in the same time and answers for the same question could be different depends on project.
So the most popular Java version in commercial projects is still Java8 though Java11 used by 40% of developers and it’s quite a lot even it’s twice less than Java8. Remind you Java11 was released less than 1.5 year ago.
In comparison with pet projects we have sightly different picture – usage of Jav8 almost the same as Java11 but still Java8 beats Java11
migration to new version is not easy, so that 44% projects never update major version Java on prod and 31% decide what to do each time when new version is released.
As usual new projects are started on the latest LTS version and just 20% prefer totally newest version even without long term support.
Most popular JDK vendor is OpenJDK and OracleJDK. I could assume with the time OracleJDK will be used less and less.
so that one of the most important question was “Which web frameworks do you use?” Respondents were able to choose answer among dozen small and big frameworks.
Spring won twice in this battle
Usually all those Spring projects are run on Tomcat
And tomcats started either on Cloud or private physical servers
Amazon is the most popular Cloud provider
Back to frameworks – BigData seems is not so widely spreaded as you could assume – 72% do not use any frameworks, on other hand 28% is not so small number, one fourth develops BigData projects…
Almost everybody use relational DB and around 60% with the help of ORM system either Hibernate or Spring JPA
Mostly free MySql and Postgre are used
NoSql DB also popular – just one third don’t use any non relational DB, Mongo and Redis are on top rating
One more widespread technology is Messaging Queue, 35% prefer Apache Kafka
Also in scope of Frameworks@Libs part I asked how many devs use Lombok. Shortly: a lot – 60%
and the last thing I asked in this part was question about logging systems. So log4j still more popular than logback or log4j2 🙁 Also majority use slf4j as facade
Here we’ve got final answer for hollywar Eclipse vs Intellij IDEA but let’s start from the simpler things. So project build tool – Maven still is a leader but Gradle is quite close
Everybody migrated to git, SVN is almost dead
GitHub, GitLab, BitBucket there are no one leader
99% use some version control system, it’s good
93% has continuous integration system on a project, I’m proud of ukrainian IT
Most popular is Jenkin, second place is for “Other”
And the most interesting
Bug tracking system is used on most projects
There is no typical release frequency. Seems each project has his own pace.
before release code is covered with unitary tests
Quite often developers follow Test Driven Development (TDD)
Normally there is dedicated QA engineer on a project
tests are performed manually or manually and some automation tests
QA environment usually is quite similar or even identical to prod
It was the last question…
I don’t make any conclusion on survey but I would really appreciate for you comments, thoughts and advices regards survey.
Submit you answers here
You could easily reuse my survey if needed
Don’t forget to follow us on FB