Embracing the Beauty of Concurrency in Golang
In this post, I analyse a performance problem in a serial processing project, propose a solution and demonstrate the performance improvement in a proof-of-concept application written with Golang....

In this post, I analyse a performance problem in a serial processing project, propose a solution and demonstrate the performance improvement in a proof-of-concept application written with Golang....
There are applications that execute such complex tasks that if they didn’t use a concurrent processing model, they would be so slow as to be unusable. This group of applications includes data analytics, real-time games and recommendation systems.
Even with modern programming languages that support concurrency, we are faced with the task of coordinating multiple threads, handling synchronisation and the constant possibility of race conditions. These make it difficult to write, test and maintain code, discouraging many developers from implementing better and faster solutions for their problems.

In this blog entry we are going to take a quick look at the Akka toolkit, its main concepts and some code examples in Java. For further information about this topic, please check the official documentation at http://akka.io/
“It’s the leadership that makes Shine a great place to work. The founders of Shine are…wait for it…’real people’! I have always felt that they are genuinely caring of their staff – approachable, honest, open. They definitely want to see their staff be the best they can be and provide the support and guidance needed to do just that. I love working here.”
“Since I joined Shine in 2017, I have been surrounded by brilliant, friendly and talented people, where work-life balance is a priority.
I always seek new challenges in my career and Shine gave me the opportunity to become a People Lead last year and I have been promoted recently as a Senior Software Engineer.
Shine is definitely a great place to grow and develop both professionally and personally.”
“Working at Shine has been great for me. It’s challenging, yet rewarding.
The Shine team are professional, highly skilled, and great fun to be around.
Shine has a respectful inclusive culture and focuses not only on skill growth but also personal wellbeing.
The thing I value the most is the trust that Shine puts in me to do the job the way I think it should be done.”
“The Shine team has taken my upskilling seriously, which I am greatly thankful for, and now I am helping others upskill.”
“I’ve been with Shine almost 15-years, and it’s the leadership that makes Shine a great place to work.
The founders of Shine are…wait for it…’real people’!
I have always felt that they are genuinely caring of their staff – approachable, honest, open.
They definitely want to see their staff be the best they can be and provide the support and guidance needed to do just that.
I love working here.”