Recent trends and challenges in software development

… what participants said about iJS and W-JAX

That there is something going on not only in Saxony, but especially around our headquarter in Munich was shown at the end of last year by the “International JavaScript Conference“ and the “W-JAX“. Both conferences took place shortly after each other and attracted numerous visitors to the Bavarian capital.

Just like the S&S Media Group as event organizer of the iJS (international JavaScript Conference) noticed, JavaScript is everywhere by this time: hardly any digital business can do without JavaScript and high level frameworks like Angular, React or NodeJS these days. It is hardly surprising that there was a whole conference with numerous keynotes, sessions and power workshops dedicated to this topic on iJS during 23. – 27.10.2017 in the Holiday Inn Munich City Centre. The W-JAX, too, partly deals with these topics but offers many additional impulses in the areas of enterprise technology, software architecture, agility and Java.

signs with mit names of iJS and W-JAX conferences
Figure 1: iJS and W-JAX conferences

We took the opportunity on both of the conferences to exchange intensively with the community. That is why we brought some questions to put them to the participants of the conferences. We were able to conduct close to 100 surveys total, that split to share equally among the two events. We would like to take this opportunity to once again thank all those who took the time to participate in our survey. Only through an intensive exchange with partners, customers and community can we succeed in constantly improving. This approach of continuous improvement, which is also anchored in the agile manifesto, is not only taken within our projects, but is also lived across the company.

While our experts Manuel Mauky and Alexander Casall spoke about topics like “Angular applications with Redux“ and “Offline-capable desktop application with Angular and Electron“, we first of all wanted to know the frameworks and languages that were used by our interview partners in their main projects at that time. Angular and JQuery were used most often, followed closely by JavaEE and Spring. React for example was still used quite rarely. Additionally, 72 of 88 interviewees used JavaScript, 69 HTML and 51 used Java as programming language. Ruby, Groovy and CoffeeScript on the other hand were used quite little and got a maximum of 5 votes each.

Survey: Which frameworks do you use in your main project?
Figure 2: Which frameworks do you use in your main project?

Of course, we were not only interested in the technologies currently used, but even more important is the direction in which the trends of software development are moving. More and more users of business computer programmes expect modern web applications instead of existing desktop software. The usability of those often does not meet the expectations of the users in times of modern B2C-applications and so more and more web-based solutions, that are actively supporting the user with their work, are established. It is therefore not surprising that 70% of the respondents were planning to work with Angular, React or another interactive technology (e.g. ReactiveX, RxJS). Vue.JS (14 votes) and JavaFX (3 votes) on the other hand only play a tangential role.

Survey: Do you plan to work with one of the following technologies in the nearest future?
Figure 3: Do you plan to work with one of the following technologies in the nearest future?

Half of the polled participants could position themselves quite precisely and settled either for Angular, React, or at least a reactive technology. But about 20% were still indifferent and not able to decide between Angular and a reactive technology. The decision matrix that we evaluated could be of assistance here, which provides a personal technology recommendation with the help of a list of questions. It is based on the experiences of our web experts.

Furthermore, the content of a project is important when choosing a suitable programming language or a framework, of course. This is why we asked the survey participants what they were doing in their main project. The majority was dealing with software evolution projects (61 votes), closely followed by new developments (56 votes). About one fifth was dealing with DevOps in everyday working live. Depending on whether maintaining an existing software or having a green-field project on the table, the tolerances when choosing programming languages and tools can be very different.

Survey: What are you doing in your main project?
Figure 4: What are you doing in your main project?

Now that we had found out a little more about what the respondents were doing, most of whom were software developers of different nationalities and from a wide range of industries and company sizes, we wanted to know what was holding them back most in the current project. At this point, we gave quite open answer possibilities like “bad code” or “bad architecture” on purpose to leave the interviewees some room for interpretation and challenge them to address problems and where possible initiate a first dialogue to solve the problems.

The most frequently mentioned problems are shown in the following graphic. Additional to the answers shown here, where “unclear requirements” is still one of the major problems, there were a few free answers. “Legacy code”, “waiting for the client / customer” or “rapidly growing and confusing software architecture” were mentioned quite often.

Survey: What frustrates you most in your main project?
Figure 5: What frustrates you most in your main project?

Finally we turned to some questions of the area of “modern web development” to verify, which trends are actually confirmed by the community and which ones are “hyped” in the web but are not yet arrived in everyday developer life. One of these trends in information technology is for example GraphQL. We first asked the basic question on how the conference visitor’s position on this technology is. Only one forth of the respondents were planning to use this REST alternative for the future or were already using GraphQL, while almost half of them have never heard of this technology before.

Survey: What do you think about "GraphQL"?
Figure 6: What do you think about “GraphQL”?

Additionally we wanted to know, whether the interviewees were utilising cloud technologies in their projects. Here, the ratio of the responses was nearly balanced. 45% affirmed the statement, while the other 55% are not, or at least not in their main project, working with cloud technology. The second question of this thematic block was about the technology currently used by the surveyed for state management. The options were React/Angular (without extra framework for the state management), Redux or MobX. While the latter only got one vote, the majority (around 50%) did not use an extra framework and approximately 25% work with Redux, while about again 20% did not give an answer, which unfortunately distorts the survey results somewhat.

This post was written by: