Published on: 15th September 2021, Reading Time: 6 mins.
“We follow the concepts of continuous integration and continuous deployment, which means that any code that is approved and merged to our main development branch is release ready.”
In our first TechTalk, we discussed the importance of Microservices for our Logistics-as-a-Service (LaaS) solution. We now understand how microservices work and how they enable developers to deploy and maintain individual functions of a platform. But there’s more to the picture of what makes a tech-company agile: As we progressively scale up our service capabilities, our developers continue to adopt more automated processes during the software development.
Sam Saleh, our Senior Software Engineer, joined the team from the very beginning. He was involved in the first prototype development and also the first feature release on our everstox dashboard. With his experience of working alongside many developers at everstox, he explains in today’s TechTalk the development process from tech requirement, code deployment to feature release. During our discussion, he walks us through the feature production, what tools are in use to expand feature functionality and how the everstox developers work together to achieve greater productivity.
TechTalk with Sam: Software Development Process
Hey Sam, can you give us an overview about the everstox software development process?
Hi there, sure! In a nutshell, our everstox software development process looks pretty much like this:
So we are currently working in scrum teams and our sprints usually last for two weeks aiming to accomplish tasks resulting from our quarterly product roadmap goals. Also, we receive tickets from our customer service teams or from other developments during daily operations. And at this stage we also involve all relevant stakeholders – if necessary – to openly discuss with the project manager what’s important and set priorities.
Our developers then start the actual coding process and ensure all requirements are implemented during the programming stage. During this stage we always encourage our team members to choose tickets not only based on their specialisation but also based on interest to keep on learning new topics.
Once the development process is done, the code is put under review and testing. During this stage, our Quality Assurance (QA) Engineers perform audits and several other testing under various conditions to ensure that the code follows all defined requirements from our sprint tickets.
When the code is approved by the QAs, our developers start the process of deploying to production.
Could you name a couple of external tools that the tech team uses?
And why are they important?
Amazon Web Services (AWS) is where we host our infrastructure since we always want to make sure that we are able to scale our services as we grow our platform capabilities. And we also use CircleCI which serves as a continuous integration and continuous delivery (CI/CD) platform. In terms of data logging and monitoring, we have Datadog. Last but not least, Opsgenie is used for alerting.
Now, we know that everstox utilizes many smart tools to support the software deployment process. But more importantly, we also would like to know how our developers work together as a versatile team and what the estimated time for a feature release to production is.
How fast can the tech team actually work with the everstox development process?
It usually depends on the complexity of the feature we are releasing. But for a very simple code change, the whole process only takes about 15-20 minutes. We follow the concepts of continuous integration and continuous deployment, which means that any code that is approved and merged to our main development branch is release ready. We actually have many libraries and services that we work on collectively as a team. Expressed in numbers, we have around 5 releases to production per day on average.
Why is it important to have such an automated deployment process?
We want to have confidence about the features we release to our customers. And of course our tests are fully automated that makes the whole deployment process like a breeze! Upon release, we deploy only a single feature to production to avoid any side effects. It not only benefits us to be able to roll out features to our customers so quickly but also let us as developers enjoy the process. It saves us lots of time that can be spent in context switching!
And lastly, tell us a fun fact about your team?
The interview with Sam helps us understand the actual end-to-end development processes of the everstox cloud software. Also, getting to know how our developers achieve rapid pace in building backend connectors for 3PLs and commerce systems and improving our frontend dashboard. Sam is very proud to tell us all about some fun and exciting events he has with the team on a daily basis. He believes that team fit is as important as technical skills in our everstox culture.
If you want to know more about Sam’s work and be involved in the development process, our tech team is hiring! Check out new tech opportunities and become one of us today.
Max and the marketing team at everstox take care of researching, evaluating and writing all logistics insights that we gather from our day-to-day operations. If you have any questions on our thought-led articles, guide’s or any other blog-related topic, feel free to get in touch with our team.
Head of Marketing
Sam is part of our tech team and works as Senior Full-Stack Software Engineer at everstox.
Senior Software Engineer