Everything you wanted to know about working at the R&D department

Geschreven door SuperOffice R&D. Gepubliceerd 22 mei 2019. Bijgewerkt 15 aug 2024

Want to know more about how our teams function or what kind of tools we use? Have a quick read about our processes, technologies, why we are strongest working together and how your first week at our R&D department will be like.

Curious about how it is to work with us?

Check out the video below to get a feeling of how it is to work in SuperOffice R&D and why we love what we do so much.

 

 

Working in teams

There are more than 40 developers and another 14 people who work with testing in SuperOffice R&D. In addition, we have the Product Owner group that thinks and cares about the different domains we address in our software and works a lot on what is coming up next. Finally, the Design group takes care of the look and feel and how our products interact with our users. It is a team effort to create a product like SuperOffice and we all have the title "Product developers" on our business cards.

We are located in three different locations, Norway (Oslo), Lithuania (Vilnius) and Sri Lanka (Colombo).

 

Team sizes

Our biggest teams focus on our main products and cover our processes within sales and service, and our Cloud platform.

Other smaller teams are working on our mobile application, our Community website, SuperOffice App Store (where all partners place their integrated applications), and our internal systems.

We cover a lot of different domains and we collaborate a lot between the teams. We frequently have cross-team meetings where we discuss challenges and opportunities, ideas, improvements or just a topic that interest us at a moment.

Two heads are better than one they say, and that is something we strongly believe in. It takes a lot of different people with different skills to create a great product like SuperOffice CRM. 

In SuperOffice R&D you will be working in a team with several developers and one or more testers. Meanwhile, the product owners, designers and other roles cater for several teams.

Team sizes.png

Working as a developer

One thing you can be sure of is that exciting and challenging projects always lie ahead of us: whether it is building and expanding our .Net back-end, typescript SPA front-end solutions or the cloud environment we live in!

To do all this and excel in our ways of developing software that lasts for a long time, we need to work together and use all our skills.

On a daily basis you would work in teams of 2-6 developers and 1-3 testers. The team decides what to work on next from the Kanban board and works together to ship the functionality. When the release is due, we hide everything that is not finished behind Feature Toggles and release the rest.

 

Working as a tester

Our testers work in the development teams of several developers, one or more testers, a product owner and a designer. 

Besides testing new functionality as it is developed, the tester’s role is to guide the team in its work and ensure the product’s quality and usability. The testers work closely with the Product Owner team to define the acceptance criteria and give input to what needs to be prioritized.

As a tester you will also cooperate with testers on other teams. On a daily basis the testers are working in an online environment where they can provision for testing whichever version of our software they need. Testers also contribute to other areas, such as usability, security and performance of SuperOffice products. In the area of test automation we use Playwright.

The testers are our first users and their feedback is essential to the success of our software.

 

Enjoying a work-life balance

We believe in maintaining a healthy work-life balance in order to perform at the best of our abilities. Having time for a fulfilling life outside of work is very important to us.

Team photo on the top of a glacier on Hallingskarvet, Norway

NB! We chose to use a picture from a team trip to the glacier on Hallingskarvet to represent work/life balance, but of course you don't bring your colleagues with you in your free time :-) 

 

 

Technologies we use

At SuperOffice, different teams use different technologies in their work.

Our key development technologies are .Net, C# and Javascript/Typescript and NodeJS. We write Unit Tests and automated UI tests when needed, and we support such databases as SQL, Sybase SQL and Oracle. We also use Azure technologies like: PAAS and IAAS, as well as Storage, CosmosDB, ServiceBus, Functions and Application Insights. 

For Continuous Integration, we use Azure DevOps Build and for Continuous Deployment we use Octopus Deploy.

We are actively enhancing the product with AI features that fit into the user-experience. We are not just building chatbots – we aim to improve the user’s day with smarter features and UI.

 

Developers analyzing in front of a dashboard with graphs

 

Our processes

Since 2010 we have delivered our CRM solution to our cloud offering with continously releases. Our process is based on Kanban, that helps us prioritize our backlog and implement what is the most important.

When the next release is due, the functionality that is ready is integrated into the release, while the functionality that is not ready yet is hidden for the users.

 

Our tools

Our main tools are Azure DevOps, Visual Studio and GIT. We use Whitesource to keep track of all 3rd party libraries that we are dependent on, and Octopus Deploy for deployment to all our test and production environments. We use Playwright for UI automation.

We believe in investing in state-of-the-art tools and equipment to support our daily work. 

We use Webex Teams as our chat and video collaboration tool across teams, departments and countries. All meeting rooms have video conferencing facilities. That’s why working from home when needed should not be a problem. The Covid pandemic proved that we handle working from our homes as a distributed team(s) very well.

 

technology stack.png

 

Sustainable software

Developing and delivering sustainable software is about minimizing emissions and creating an inclusive design.

In SuperOffice, we believe in the power of sustainable software. We want to minimize our impact on the world and deliver sustainable software architecture that includes a diverse user group. We are a one product company, and SuperOffice CRM is the product we both produce and take to market. Even though the emissions from our software are limited, there are important architectural and design decisions that impact our customer, or employees, and the environment.

We strive to follow the WCAG guidelines (accessibility guidelines). Examples of how this is materializing can be seen in the colors in our user interface, and how we work with logic of the product.

As an example we can mention that one of our teams in 2023 developed a new version of their application with a significant change in its client/server communication design. This did not only save battery and CPU on the client computers, but also lessened the network utilization drastically, saving power within all nodes and reducing pressure on those hardware boundaries and servers. This effect applies to usage from about 50.000 clients. This was released early in 2024.

In R&D we work with increasing our awareness of green software and its principles regarding hardware, loads, networking, architectural design, code (CPU and memory consumption), and UX. We will start making informed decisions on how we build solutions in regards to environmental impact. A key lever for unlocking this capability across our organization is building knowledge about what green software actually means and how to approach it. Green software will be a topic on all our internal conferences in the years to come.

 

 

Expander World: our signature developer conference

Expander World is the annual SuperOffice developer conference held in Oslo, Norway.

Every year more than 100 technical people gather for this two-day event. Expander World is a great chance for our R&D department to meet with other developers who work on integrations and applications for SuperOffice CRM.

The conference includes:​

  • Keynotes speakers​
  • Multiple tracks to cater for different technologies and levels​
  • Sessions giving you tips, help and new skills​

Our CEO speaking on our Expander World conference

 

 

Onboarding: your first week at R&D

Prior to your first day, you will be invited to any large events we might have at that time, such as the Expander World conference, a R&D seminar, Christmas or Summer parties, to get to know us better.

When you start, you will get a mentor-buddy who will help you get around during the first six months. We also provide a training program that’ll help you get started on our products, source code, architecture, QA processes, etc. Our onboarding program will give you a lot of knowledge and a solid platform to start from.

During your first months you will have frequent one-on-one talks with your Team Leader to provide you with a safe environment for feedback, questions or adjustments. You will have time to get to know your colleagues as we want you to feel comfortable to bring your ideas and constructive criticism to the table.

Beyond this, we look forward to being challenged by your expertise. We promise to listen to your ideas with keen interest, because we consider it to be the best way to further develop ourselves and increase competence.

A mentor talking to the new employee

 

 

Our team culture: stronger together

At SuperOffice, we have always been keen on maintaining a strong company culture of inclusion and sharing.

Here is how we define our team culture in R&D:

  • We are open minded, down-to-earth and extremely hardworking people with a playful edge.
  • We help each other evolve and reach our goals by being friendly and inclusive.
  • We appreciate people who ask for help, as it is the safest way to grow.
  • We are all one team working towards the same goal – to overcome today’s challenges and find easy solutions to complex problems.
  • We like to challenge each other and build strong teams; therefore, we use full stack teams as a part of our work strategy.
  • We encourage people with different professional backgrounds to share their knowledge and this way help us come up with new creative ideas.