Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

State of the Dev Ecosystem: Java and JavaScript

DZone's Guide to

State of the Dev Ecosystem: Java and JavaScript

This dev review of JetBrains's recent State of the Developer Ecosystem survey considers the results and offers suggestions for the 2018 study.

· Java Zone
Free Resource

Learn how to troubleshoot and diagnose some of the most common performance issues in Java today. Brought to you in partnership with AppDynamics.

The team at JetBrains decided to poll developers from 2016-2017 in order to publish what they called "The State of Developer Ecosystem in 2017" and the results were made available in July. While over 5,000 respondents were noted as participating in the research, the source of the respondent pool used for the survey was not made available.

About JetBrains

JetBrains was initially founded in 2000 as IntelliJ and gained notoriety for making an Integrated Development Environment (IDE) that was just as functional as other IDEs without the cost of utilizing a majority of the RAM on the developer's workstation. Back in the days when IDEs were using somewhere between 1-2 MB of RAM upon launching, IntelliJ started with only 128k, which was amazing and very much appreciated.

Fast forward to 2015, where JetBrains was awarded the "Technology of the Year Award" by InfoWorld magazine for the second time — complementing winning the same award in 2011. Currently, JetBrains produces a solid product set of 24 applications — all with the shared goal of making software development a more productive and enjoyable experience. Personally, I still use IntelliJ in my day-to-day development both personally (Random Generator was developed using IntelliJ IDEA) and professionally for projects I have worked on during the last three years.

Key Findings

In order to provide my thoughts on The State of Developer Ecosystem, I thought I would employ the five Ws approach. Most reading this article may receive flashbacks from the educational portion of their lives, when you were given assignments to use the five Ws approach for a given assignment.

The Who

The State of the Developer Ecosystem is focusing on application developers, software engineers, or similar positions who share a common goal to write software for a living. Based upon the report, the respondents are heavily involved in source collaboration tools (like GitHub, GitLab, or Bitbucket), use an IDE for application development, and also employ a lightweight editor (like Sublime, Atom, or Vim). Ironically, the respondent base is not heavily performing code reviews or utilizing static analysis tools. From an operating system perspective, 57% of the respondents utilize Windows, with 49% favoring the macOS, and Unix/Linux consuming 40% of those polled. The study did note that 21% of the respondents utilize Windows and Unix/Linux simultaneously.

The What

Based upon JetBrains's analysis, Java and JavaScript are the primary languages utilized by those polled, snaring 26% and 16% of the 5,000+ respondents who participated in the study. PHP, Python, and C# rounded out the top five, reaching 12%, 10%, and 9% respectively. When asked about including unit tests in daily tasks, just over half the respondents indicated that unit tests are part of their workload. The remaining 45% use unit tests, but do not write them ... or worse yet, they do not write them at all. Coincidentally, this metric matches what I have witnessed as both a consultant and a full-time employee throughout my career.

The Where

The results indicated that developers are spending a majority of their time developing web back-end and web front-end applications, consuming 67% and 64% of the results. These full stack developers tended to be the primary focus of those using IDE solutions today. The next closest target platform was for mobile services, yielding one-third of the results. When diving into the mobile platform, JetBrains published that 84% were focused on Android development, compared to 58% focusing on iOS development. A bit of a surprise was that Windows mobile development consumed 21% of the results.

Not too far behind mobile development, enterprise back-end services, which I believe would fall into the category of API development, yielded 28% of the pulled responses. Desktop application development and data analysis/BI rounded out the top five results, yielding 22% and 16%.

The When

A majority of the respondents indicated they spent over 32 hours a week writing code for their professional job and another 3-8 hours a week programming personal or side projects. In fact, only 11% of those polled admitted to not working on any side work as a part of their life. When asked about developing code on the weekends, an impressive 84% indicated they wrote program code on the traditional non-working weekend days.

On the subject of sleep, half of the respondents indicated they slept between 7-8 hours a night. The JetBrains study found that 44% of those participating in the study slept 6 hours or less each night.

The Why

The why was tough to analyze from the metrics provided. Typically, a section dedicated to pay scale or job/career satisfaction would cover this aspect of the five Ws. However, I believe that the underlying assumption is that a career in application development is filled with challenge, a fair compensation package, and plenty of growth potential.

My Thoughts

The entire study is worth taking a look and doesn't take much time to review. As I read through the results, some thoughts did cross my mind.

Missing from the published results was a breakdown by age for the respondents. Typically, this type of result set includes a breakdown of demographics, like age, sex, and geographical region. While these results may not be 100% necessary, it would be interesting to see if the majority of respondents were at the start of their career, at the end of their career, or somewhere in between.

As noted above, metrics around yearly salary and job satisfaction levels would have been nice to include.

The results did not provide information on how the 5,000+ respondents were contacted. I hope that the list of respondents were not registered users of a current JetBrains product, as that could have an impact on the results. As an example, while Visual Studio extensions exist from JetBrains, most .NET developers I encounter utilize the Visual Studio product by Microsoft. Hopefully, the sources JetBrains used were from a pool that truly represented the application development market.

There were also metrics in the report that regarded gaming. I did like the effort to link gaming to developers, as my personal experience has found a solid relationship between developers and gamers. While not a frequent attendee of a game night (AKA a LAN party, back in the day), I admit that 100% of the game night's that I have attended were the result of application developers getting together to play computer-based games. I certainly expect this trend to continue, given the similarities between application developers and those interested in gaming.

I would have liked to see a potential link to music as well, asking each respondent if they play a musical instrument and which instrument they play, if so. Just like gamers, I have seen a large portion of developers maintain a high level of interest in playing some type of musical instrument.

While no study will be perfect, I do find these types of exercises interesting — if nothing else, to see how my personal views line up with those published in the results. In short, I could relate to each aspect presented to this study, some to a greater degree than the average. It turns out that I am a daily user of IntelliJ IDEA ... so perhaps that has something to do with it after all.

Have a really great day!

Understand the needs and benefits around implementing the right monitoring solution for a growing containerized market. Brought to you in partnership with AppDynamics.

Topics:
java ,javascript ,application development ,jetbrains

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}