Photo by Armin Rimoldi from Pexels

Have you ever spent 5 minutes in a meeting trying to explain a technical issue and by the end of it, someone looked confused and said, “Sorry, I don’t get it.”? If you have, then you have encountered a form of poor or ineffective communication.

As an engineer, one of the most important soft skills you’ll need is communication. By perfecting your communication skills and making them more effective, especially when speaking with non-engineers, you’ll be able to take your engineering career to the next level. Let me give you an example. …

Photo by Liudmyla Denysiuk on Unsplash

Note: Go to Setup Rails section below to skip my story. Just in case you are in hurry and want to see the guide immediately.

Just want to give you a heads up. Everytime I mention Rails in this article, it refers to Ruby on Rails. Now let’s start the story.

Me and my team have recently been tasked to write a new service. Since we have experience building and maintaining current services in Rails 5.2, we decided to use Rails again for this new service.

But we want to take it to the next level to spice things up…

Photo by ammiel jr on Unsplash

Around two months ago, I have given task to increase the speed and performance of Backstreet Academy’s website. This is not a new task for me, since I have done this performance-related task in my previous job, but for me in order to optimize something we need to look the current state of the things that we want to optimize. If we don’t know the state, how we are make sure that we are really done the job or even make it worse. For example, if we want to increase the page load of the website, we need to know…

Photo by Gary Chan on Unsplash

TLDR: I wrote a script that will remove old compiled file generated by Nuxt.js that has been uploaded to AWS S3. The script is intended to be use on Continuous Integration environment (we are using Gitlab CI). If you are looking for the solution, just scroll to the bottom of this post. If you want the story, you can continuous reading this article.

…My journey of learning to write shell scripts…

Remember a while ago I told stories about setting up automated CDN deployment for Nuxt.js application (You can read it here). The implementation basically is just about generating compiled…

Photo by chuttersnap on Unsplash

We recently launched our new website 🍻 and during the development of this new website I have learnt a lot of things. One of them is how CDN help us to prevent broken during deployment phase on our continuous integration (CI). As the background, we just implemented CI on our services and I have a plan to use CDN for our website but never had a time to implement that until this problem happen.

We are using combination of Gitlab CI and AWS Elastic Container Service (ECS) for all our docker container. Currently we have around 10 services running for…

Photo by Benjamin ten Broeke on Unsplash

Continuous Integration (or Continuous Deployment) concept is always amaze me, because it allows an organization to do more iteration and shipping incremental changes without breaking any part of their system. In this story I want to explain how we moving from “pull-based” deployment to complete CI/CD architecture in Backstreet Academy.

You might say “Wait, what is ‘pull-based’ deployment?”. Well, the term “pull-based deployment” is a term that I invented myself 😆. That deployment architecture is pretty simple. …

Alfiana Sibuea

Lead Software Engineer at Mekari — Empower businesses and professionals to progress effortlessly (

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