Case Study:

From PHP monoliths to Golang Microservices

Globalsoft refactors consumption of key technologies with Skill Sprints from Darwinist

Globalsoft is a software development company based near Mostar in Bosnia and Herzegovina (BiH). With a staff of around 15 engineers, Globalsoft undertakes software engineering work for customers around the world.

Maintaining talent is one of the most difficult aspects of technology: developers rarely have good career development options beyond looking for a new job. With the IT market in BiH rapidly heating up, GlobalSoft CEO Drago Ćorić works hard to build and maintain skills in his company. Prior to investing in new technologies, he needed to have employees combining technical and business knowledge to guide that investment.

GlobalSoft has been working heavily with Darwinist on Employee investment. Skill Sprints from Darwinist have enabled rapid up-skilling of employees whilst getting a direct benefit for the business. About Skill Sprints, Drago said:

The thing I like most about Skill Sprints is the intensity. Nowadays, companies don’t have time for the boring, bi-weekly, one hour long education lessons, but they can offer their developers a week long Skill Sprint. Not only do developers learn, but the business gets something tangible out of it. It is the ideal mix of investment into the education of your workers but also the business as a whole.

Kubernetes

Three software developers, Daniel, Mario and Jozo, were guided by the Skill Sprint leader to completely re-engineer the CI-CD and DevOps structure of several applications. The participants learned how to independently deploy and manage their applications on Kubernetes. By the end of the process, the developers were able to quickly and efficiently perform the same work on other projects without any further support. As Jozo said:

Since I already had some previous knowledge about docker, scripting, networking, linux, etc. the Skill Sprint made me combine it all together and took my knowledge to a whole new level. With this new hands-on experience in Kubernetes, the total life cycle has become much clearer to me, boosting my development output. All of the knowledge I gathered in this Skill Sprint has definitely brought future projects to a higher standard.

Elasticsearch

Elasticsearch savant Jilles van Gurp helped Filip, Mateo and Tomislav to completely re-engineer the way an application used Elasticsearch by creating a new Golang search microservice from scratch using best practices. About his experience during the Skill Sprint, Filip said:

During five days of extensive work with Jilles, we successfully created a boilerplate pattern that later helped us refactor a part of our system from monolith to microservice. Overall a great experience and definitely worthwhile!

Golang

Globalsoft is primarily a PHP shop and many customers demanded better performance, especially better latency. To serve these customers, Globalsoft invested in two Golang Skill Sprints, each focusing on creating a Golang microservice to relieve pressure on a PHP monolith. The Skill Sprint was delivered by engineers Darko and Gligor.

After the Skill Sprint, Darko commented:

The team adapted to the Golang syntax very fast. They were really good at catching the Golang code standards and best practices, and implementing those in a hexagonal architecture. This intense five day-long sprint was enough to code the two microservices and touch everything from simple Golang concepts to more complex ones: constructing, designing and coding concurrent tasks in the applications using Goroutines, channels, and mutexes.