Every once in a while we reflect on the technologies we use in our everyday working lives. Which technologies did we pick up recently that made us more productive and our work more fun? Are there any new technologies out there that we could - or should - use to make our working lives even more pleasant? Is there any technology currently slowing us down which we should actually abandon?
This time we did not only ask ourselves these questions. We asked 25 developers, 5 tech leads and someone “who does unspeakable things with technology” - more commonly known as our principle tech lead. In particular, we asked them which technologies (tools, libraries, language or frameworks) they believe are hyped, happening or happened:
- hyped - which new technologies are you eager to learn more about this year?
- happening - are there any exciting technologies you used last year that we should learn this year?
- happened - did you walk away from any technologies last year?
In this blog post we show you the answers. We start with an overview of the hyped, happening or happened technologies. After that, we briefly introduce you to what we believe could be the most interesting technologies to learn or avoid in the near future.
(Just to be sure, this is not an exhaustive list of technologies we use within bol.com.)
Hyped, happening or happened?
If you ask more than 30 tech enthusiasts three questions about their favourite and least favourite technologies, you would expect to get back a lot of tech, wouldn’t you? So did we. We do see quite some overlap in technologies. Interestingly enough however, some people are thrilled about a technology that other people turn their backs to.
Overwhelmed by this vast amount of technologies? So were we. Therefore, we grouped everything together based on their theme. We can imagine that you would come up with a completely different grouping. We merely use this grouping to facilitate the discussion that follows - we will briefly discuss all the technologies that stood out the most to us.
Because we didn't want to overwhelm you even more, we split up the blog into a six part series. Go ahead and read on to find out what is there and just click on the parts you want to know more about.
Programming languages and Testing frameworks
We asked our questions to developers and coding is what they do. So, you can expect to find at least some different programming languages - and different opinions about them - in the answers received. So we did.
If you ask 25 software developers about their favourite technologies, you wouldn’t expect to find any testing frameworks in the responses, would you? After all, we only hire top developers who write flawless code. This reasoning is clearly flawed, because if you want to write flawless code, you have to prove it is flawless by writing flawless tests. That's probably why testing frameworks are well represented.
Want to know more about the programming languages and testing frameworks that are (not so) popular within bol.com? Then continue to read Programming languages and Testing Frameworks.
Application frameworks and Java runtime
Why write tons of boilerplate code, when you can abstract them away and use interfaces? Or waste time choosing libraries and tools when you can automatically use sensible defaults instead? Why instantiate objects and manage dependencies manually, when it can be done using a simple annotation? An application framework can do all of that for you. So, it should not be a surprise that application frameworks are well covered in the responses.
Once you pick your favourite application framework, you build it, you run it and you love it. Of course, you need something to run it on. Luckily our respondents did not forget about that.
Read Application frameworks and Java runtime if you want to find out more about the hyped, happening and happened application frameworks and Java runtimes at bol.com.
Cloud technologies and Data storage
We have been on cloud nine ever since we spun up our first application in Google’s cloud. Nowadays, bol.com runs a vast amount of new and existing applications in the sky. The Google cloud project offers a rich tech stack. The responses which contain a variety of cloud technology reflect that.
Large number of applications have some state and are likely to depend on data storage. Because most applications run in the cloud, you'll find a lot of cloud storage amongst the hyped and happening. Whilst moving to the cloud, we also had to leave some data storage technologies behind, of course.
Read Cloud technologies and Data storage to learn more about the hyped, happening and happened cloud and data storage at bol.com.
Asynchronous programming and Streaming frameworks
Remember those good (?) old times when we started our compilation job – went for a coffee – and continued the next task only after the compilation was done? Imagine what would happen if we have the same way of working when fetching data from different sources? We live in a microservice world where we have to assemble web pages using different pieces of information coming from a number of different sources. It is 2021, people are impatient and we want our results delivered to our customers within hundreds of milliseconds. So, asynchronous (and reactive) programming – which facilitates us to run multiple tasks in parallel – is still hip and happening today.
Not only are our customers are impatient, so are we. Especially when it comes to access to our terabytes of data. Data about which pages our customers visit, which links they click on and which products they order. This information helps us to keep improving our service and to stay ahead of our competition. The earlier we have that information, the sooner we can act upon it. Indeed, the results of our inquiry do contain streaming frameworks that deliver our data fast.
Continue reading Asynchronous programming and Streaming frameworks to learn more about the asynchronous programming and streaming frameworks we use at bol.com.
Front end frameworks and Web APIs
User experience and user interaction are key components for any online business. So it is crucial to pick a good front end framework that gives your users a seamless experience, and at the same time makes it easier for developers to work with and maintain. As expected, the responses contain a few frameworks that do just that.
Your front end (and other applications) typically communicate with your backend via a web API. When you think about a web API, you probably think about Representational State Transfer (REST). Therefore OpenAPI - a framework for describing your API in a language-agnostic way - is popular within bol.com. But REST has its limitations, so no wonder that its alternative, GraphQL, is also amongst the responses.
In Front end frameworks and Web APIs you can discover more about the front end frameworks and Web APIs we are (not so) thrilled about at bol.com.
In this series of blog posts we gave an overview of which technologies are hyped, happening or happened according to 25 software developers, five tech leads and one principal tech lead. We briefly introduced some of what we believe could be the most interesting technologies to learn or avoid in the near future.
As developer communities and tech companies rapidly grow, so do the technologies behind them. With so many new and interesting technologies out there, it is up to a skilled developer to pick and choose the best technology for his/her use case and context. We hope this series of blog posts gives you some new insights into various technologies we use. Moreover, we hope that you use this newfound knowledge to improve the tech stack within your company.