Almost certainly, in this day and age you have heard of Microservices architectures. The term gets thrown around very often when talking about scaling and handling growth within your system.

But what are, really, Microservices?

The fact is, this type of architecture is nowhere near new. Airbnb was building Microservices at scale back in 2012 just to give you an example. Distributed Systems were around many years before that.

Microservices are small services [micro], that have one purpose or serve a specific domain only. …


Unit testing, Integration testing, A/B testing, stress testing… you name it. There are many ways to ensure your software is working correctly in an automated way.

The times of manually checking if your functionality “runs fine” are long gone. In any Software development team, the testing part is (or should be) as integral as writing the code itself.

I personally advocate testing so heavily that I reject PRs on the base of missing or having wrongly written tests. There’s certain anxiety on the back of my neck when having to deploy code that’s not thoroughly tested. …


With every app we decide to take out to the world, there’s one important decision to make when the time comes: Where is the best place to deploy it?

The short answer is: “It depends”.

The long answer however, will depend on what your needs are, your budget, the setup of your current applications, company restrictions etc.

Particularly, I think a really convenient way to deploy your apps in no time is using Platform as a Service (PaaS) options like Heroku.

Heroku is a platform that allows you to abstract yourself from all the complexity that comes from deploying and…


If there’s something I’ve learnt with experience is that there’s almost always a simple way to do things. There are millions of people dealing with development problems the same way you are, so chances are someone already stumble with a way to simplify things.

One of those simple things is putting together a Python development environments.

I’m wouldn’t say I’m a Python developer. I only use it for a specific subset of cases, mostly requiring large amounts of data for analysis, Machine Learning, etc.

So intuitively, when setting up my development environment I try to make it as easy as…


** Disclaimer: This is not an article to teach you a quick hack on how to learn multiple programming languages, but an analysis on its advantages. Soz! **

If you have a career as a Software Developer, chances are you already know more than one programming language. If you’re a specialised Frontend Developer, you may know Javascript and Typescript for example. If you’re a specialised Backend Developer, you may prefer Java but know a thing or two about Python or C++. If you’re a “Full Stack” Developer your odds of knowing more than one are higher.

My point is that…


Python is a programming language that has been around for quite a while and that has so much to offer. Since its inception about 30 years ago Python has come a long way, as well as being on and off fashion in many opportunities.

Nowadays, Python has experienced a big boom due to the rising popularity of Machine Learning and the introduction of easy to use tools aimed at exploiting Python’s capabilities in this area.

So, what’s Python about anyway?

Python is actually a general purpose programming language, it’s interpreted and object oriented and its syntax is quite easy to…


Here’s a personal favourite. Elixir is a dynamic, functional programming language built thinking about scalability and parallelism. It is built on top of Erlang, so performance wise it’s really powerful.

It is not quite as popular as other programming languages out there and it has a relatively small community due to being still young, but its capabilities are still great.

I think developers tend to favour GoLang for exploiting distributed tasks or Clojure and Scala on the functional aspect, yet Elixir seems to me like a nice place in the middle.

Some of the issues around Elixir revolve around lack…


Because everything in the programming world starts with a Hello World, I’ll come back to the very basics with a Ruby Hello World.

Ruby is an Object Oriented programming language that’s been quite popular in the past years, specially within the Rails framework. I use it on my day to day basis for all sorts of scripting, micro-services and different production tasks.

The thing most people like about Ruby is its simplicity. You can write code quickly as if you’re writing plain text (almost), and you can use the interactive console to test things out.

Many languages have adopted these…

Ronald Arias

Software Engineer in the UK, also tech enthusiast. Interested in problem solving and public speaking.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store