Summary of current technology trends in our projects
We are currently running 14 projects, involving over 100 people including our subcontractors. Due to the diversity of projects, we have a broad technological stack. However, we decided to make a brief summary of our technology stack to see which technologies are currently the most popular within our organization.
What do we use most often on the frontend?
Our analysis shows that Angular is the most widely used frontend framework in our projects. We use Angular in as many as 11 of our projects! The numerous benefits of this framework are also appreciated by some of the biggest organizations in the world, including Google, Microsoft, Samsung, VMware, and Santander.
What performs best among backend technologies?
For backend application development, we use Java, one of the most popular programming languages worldwide. The backend framework we most commonly use is Spring (Spring Boot), which leads among Java frameworks, along with Hibernate, the dominant ORM in the source code of many applications worldwide.
Other important technologies we use
Containerization has become an essential part of our projects. It is one of the most significant technological shifts in software development in recent years, experienced regardless of the programming language used. We also value Docker and related technologies, using them in many of our projects. Besides relational databases, we also store data in document structures such as JSONB (in PostgreSQL) and Elasticsearch. The use of Elasticsearch adds powerful search engine functionalities. It is worth mentioning microservice architecture, which has become the foundation for many of our implementations, as well as the implementation of BPM engines, which you can read about in another article: https:///nekken.pl/bpm-by-nekken/
The key is in consciously leveraging technology
To summarize, our stack primarily consists of the most appreciated technologies available on the market. Of course, we remain open to other options — we execute projects in various technologies and continuously expand our portfolio of used components. This enables us to have experience in implementing, maintaining, and developing a wide range of systems.