Article
March 21, 2021 · 6 min read timeThis January, we conducted the first-ever Nitor developer survey. The goal was to understand better which technologies we have used during the previous year, what we think of them, and what we are interested in using in the future. Two-thirds of developers at Nitor responded to the survey. In this post, I’ll present and discuss the results from the most important categories. I’ll also conclude with the “ideal stack” of the average Nitorean.
Languages
The top five most used programming and query languages at Nitor are JavaScript, TypeScript, Java, SQL, and Python. The dominance of JavaScript is not surprising, as it is fundamental to all browser-based software and is also widely used on the server and in some mobile development. What is notable is how high TypeScript is on the list compared to the Stack Overflow developer survey (which was an inspiration for this survey). Almost everyone using JavaScript also uses TypeScript or is interested in using it. The satisfaction is also very high, placing TypeScript in 4th place among the most liked technologies overall.
Another notable result is the high placement of Java on the list, especially compared to C#. Their usage is similar in the SO survey, but Nitor has focused on Java development from the start. While this has diversified, it is still a reliable and well-liked language among Nitoreans. Java usage is also much higher than Scala, another JVM-based language. At Nitor, Scala is among the most disliked technologies. A clear competitor to Java is another JVM language, Kotlin. While usage is lower, it is well-liked and has gathered high interest, which might forecast greater future use.
A third thing to note is the significant usage of functional programming languages, particularly Clojure, a Lisp dialect that can run on the JVM or compile to JavaScript via ClojureScript. While used less than the top languages, the Clojure community at Nitor is very active, the language is highly liked, and it has generated high interest. In the SO results, Clojure does not even show up. There is also significant interest in Haskell, a purely functional language, which is also taught as a University of Helsinki MOOC by Nitor’s Joel Kaasinen.
Finally, there are a few other languages where interest is especially high. These include GraphQL, a popular query language for APIs, Go, designed and used prominently by Google, Rust, the most loved language in the SO survey, and WebAssembly, which lets you compile any language for the browser.
Back-end frameworks
The back-end frameworks & runtimes category has Node.js in the first place, which is not surprising, considering how essential it is for JavaScript development. There is also the newer Deno runtime by the creator of Node.js, which reached version 1.0 this year. It’s not used much at Nitor, although the interest is relatively high, indicating the low usage might grow in the future. Among JavaScript back-end frameworks, the number one is Express, although Apollo Server for GraphQL APIs, which has the highest interest in the category, was also included.
The most popular frameworks for the Java platform are Spring Boot and Spring Framework, while alternatives, such as Ver.tx, have only marginal usage. For Python, Flask is number one while Django comes second. Finally, we have nFlow, an open-source Java framework for managing workflows created at Nitor. It is used by many Nitoreans, who are also pleased – the satisfaction rate is highest among all technologies in the survey.
Front-end frameworks
React holds the crown among front-end frameworks with very high usage and satisfaction rates. The competitors include Angular, which is far less utilized and more disliked too. It is interesting and unfortunate that Nitoreans still use the older AngularJS slightly more often than Angular. Vue.js is also included, which paradoxically has a high interest while being disliked by all its users. Svelte has seen some hype during the past year, and reached first place in satisfaction among the front-end frameworks category in the newest State of JS survey. This has led to gaining some interest among Nitoreans too. For the Clojure stack, re-frame (based on Reagent) is the main framework.
Among React ecosystem frameworks, Create React App was most popular and well-liked. Next.js, a hybrid framework supporting both server-side rendering and static generation, was also mentioned with particularly high interest. It is worth mentioning that the new nitor.com site, launched in December, is built using Next.js, which might have contributed to the appeal. Finally, there’s Gatsby, a static site generator that is not used as much but has high interest and is liked by its users.
Databases
PostgreSQL is the most widely used database and is also quite liked. Among relational databases, Amazon Aurora comes next, then MySQL and MariaDB. Among NoSQL databases, Amazon DynamoDB is in the lead, with Redis next and MongoDB in third place. Elasticsearch is the most used search engine.
Editors
There are two winners among editors: IntelliJ IDEA and Visual Studio Code. IDEA is the premier Java IDE, while VS Code is more prevalent among JavaScript and TypeScript developers. Both have very high satisfaction rates, with VS Code being the second most liked technology overall. In the editor war between Vim and Emacs, the former wins out, although both have some dissatisfied users. Android Studio and Xcode are used for native mobile development, but many users dislike Xcode.
Cloud platforms
AWS has traditionally been the main cloud platform used at Nitor, and we have long been an AWS partner. It is still the most used by far, although usages of Azure, Heroku, and Google Cloud (GCP) are also significant. Notable here is the very high interest in GCP, the highest overall among all technologies in the survey. Lately, we have completed many certificates, and this year we achieved GCP partner status, making Nitor a partner of all three major cloud providers.
Operating systems
This category was limited to operating systems used for work. The preference for Linux and macOS turned out to be very even. Both are also very well-liked, in the top five among the most liked technologies overall. The use of Windows is significantly lower, also with fewer satisfied and some dissatisfied users. This differs from the SO results, where Windows is the most used operating system.
CI/CD platforms
Among continuous integration/continuous delivery platforms and tools, Jenkins has a big lead. However, it’s not very well-liked and might therefore be giving way to alternatives in the future. Next in line are AWS CodeBuild, Travis, GitLab CI, and GitHub Actions. Especially GitHub Actions is both well-liked and has a high interest. These results might signal a trend towards CI/CD tools built into version control service providers.
Deployment tools
The deployment and infrastructure-as-code tools category has Docker in the first place. In second place is AWS CloudFormation, although it is more disliked than the alternatives that are next in line: Serverless Framework, Ansible, AWS CDK, and Terraform. CDK, which allows using CloudFormation with modern programming languages, has exceptionally high satisfaction in the category.
Conclusions
To conclude, I’ll present the technologies with the highest positive sentiment at Nitor, which I calculated from the number of “liked” plus “interested” minus “disliked” responses as a share of all responses.
The list gives an overview of technologies that are both established and viewed positively by Nitor’s digital engineers, which together indicate they might be good choices for the kind of large-scale business-critical software Nitor focuses on.
Excluding the editor and operating system categories (as they are mostly personal choices), we get the top ten “ideal stack” of an average Nitor developer: TypeScript, React, AWS, PostgreSQL, Docker, Kotlin, Next.js, Java, Node.js, and Google Cloud.