Hello, world…

Steinar Jordbakke
24SevenOffice Tech Blog
5 min readSep 6, 2022

It’s about time we created our own tech blog in 24SevenOffice.

We have been around for 25 years and have always been a Software as a Service Company (SaaS). Our ERP Solution was one of the first applications, if not the first, to be released on a web platform in 1998.

The product was launched very early into an immature market. Selling a web-based application at the time was hard, as no one would risk running everything online using a modem…🤣 People always asked for CD-ROMs to install the software in those days. So, it’s safe to say it took a couple of years before the market was ready for a web application running in a browser 😀

Since then, it has been both ups and downs, but we’ve never lost faith in the product. Today, we have grown into a company of more than 200 employees (and still growing), and the speed of development and the market readiness for integrated and automated systems in the cloud is riper than ever.

Now, let’s talk nerdy 🤓
This blog is primarily going to be about the technology that powers the business tools provided by 24SevenOffice. For us, developing great software for our customers using tech to automate, simplify and reduce tedious processes is a goal we try to achieve every day.

We will tell the tales about our projects, and share code examples and experiences we’ve had with different technologies. Like other companies, we face challenges of staying on top of new technology, deployment processes, multiple environments, collaboration in cross-functional teams, handling technical debt, and much more. We will openly share what we can, lessons learned, and hopefully, some of the technical insights we possess can be useful for someone else too!

We all know engineering teams are required to move faster than ever to deliver value to customers. To keep pace with these demands, we adopted agile practices, and more recently, DevOps practices are implemented across our teams.

Our team set-up consists of Stream-aligned teams, Operational teams, and what we have called Service teams. Communication between teams needs to be excellent. For us, having technical forums (guilds) makes it easier to share information and knowledge between teams.

Stream-Aligned teams 🚀🥊🔥☕🦺
The stream-aligned teams building customer-facing products consist of a Product Owner, UI/UX, QA, and several developers with a team lead. Yes, we know, pretty standard these days, but standard for a reason. Each team is empowered to build and deliver customer or user-value as quickly, safely, and independently as possible. Customer-facing modules in 24SevenOffice are divided between our teams.

To build the best solutions, teams need to understand our customers and try to improve and simplify their daily processes (like automating data flows to avoid tedious time spent on data re-entering between systems).

Teams are responsible for the architecture of the services they create. Apart from the infrastructure, they write and maintain the code and set up CI/CD pipelines. They are also responsible for the product running smoothly.

Operational team (Ooops)
Responsible for monitoring the system. They need to have control and report every incident that happens in the system at all times.

When the current level is about 900 containers (and growing rapidly) it’s safe to say that great monitoring, structure, scaling, and control are of utmost importance.

The team has DBA experts that serve the Stream-aligned teams with their expertise in running databases to be as efficient and fast as possible.

Service teams (They are AWSome)
It’s all in the name. The teams serve stream-aligned teams to achieve quality, automation, speed, and help with infrastructure. Our platform team running the AWS platform is responsible for helping the stream-aligned teams to run their services.

They will handle accounts, security, environments, and IAC to help the stream-aligned teams to run their services and control the infrastructure.

Another service team, the test automation team, is responsible for automating tests in the system. They automate the process of removing a lot of manual testing. For us, this allows us to deploy code much faster with the assurance of “bug-free” code.

A journey through the depth and height of our stack
A couple of years ago we started breaking down our monolithic system into an event-based microservice architecture. At the time it seemed to be a straight path to our goal but turned out to be quite the opposite. The challenges became exponential as we started breaking it down piece by piece. The struggles we faced were huge and getting the rest of the company to see the win at the end when things slowed down, was not straightforward. But with innovation, and a growth mindset we are renewing the technical code-base. And, it is the only way forward for a modern SaaS company like ours.

I am not going to lie, we still have work to do but the obstacles are out of the way and we are getting close.

To give you an idea of what we are responsible for:

  • 300+ API’s
  • 30+ web applications
  • 20 core databases
  • 35–40 smaller SQL-, NoSQL servers
  • Cloud providers (AWS, Azure, and on-prem)
  • 50+ technologies

Our culture (more than waffles)
It’s in the 24SevenOffice DNA to be curious, and willingly learn and explore the possibilities technology offers. In the beginning, there were 3–4 developers/students, and our entrepreneur, doing everything — which is quite normal in a start-up. We had to learn fast, and fail fast but we always stayed aligned with our vision and plan for the product. Today, we have grown into a technology company with 10 agile software development teams with different responsibilities in our product offering.

Developers should be able to improve skills, be creative, have passion, and be engaged in their work. One of the great things proposed by one of the developers was having a skill enhancement day every 3 weeks. All the developers can get together to learn about different technologies of choice.

Although I’ll admit there was some skepticism regarding this, it really turned out great for us. We have improved the quality of the product, and many processes have been automated. We have tried numerous technologies, shared insights, collaborated, and documented everything we have tested.

And these insights we will share with the world through our brand new blog:

24SevenOffice TechBlog

In our next blog, we will talk about our decision to go for a multi-account solution in AWS.

--

--

Steinar Jordbakke
24SevenOffice Tech Blog

Head of Development at 24SevenOffice. Strong focus on automation and colaboration in cross-functional teams.