A Tale of Journeyman in Lambda — Part 1
Train yourself to let go of everything you fear to lose. — Yoda
Prologue
I’m a grad who get an excellent opportunity to start my journey at Indonesia’s fastest growing startup and the first unicorn, Gojek. Moreover, i get a chance to begin my journey in Bangalore office, which is far from all of my comfort zones in Indonesia, and to be precise in Lambda Team. And here my journey begin starting from my first week.
Rule of the Journey
This journey have one really simple yet powerful rule. As said by one of my companion in Lambda team.
No matter how far or short the step you take, what really matter is how understand you are for every single step you take. If you don’t understand then you are done
In this journey, I have to deliberately take every single step. Knowing why I take that step not other steps. Why? A nice start son, like another journey, each previous step we take becomes foundation for our current step, and our current step will becomes foundation for our future step and so on. In this way we will move smoothly with feel ready on our mental state for the next step.
Baby Stepping
Just like a baby who learn to drop a single step at a time before be able to run as fast as Forest Gump. I start from something really simple, one step at a time, climbing up the hills to be able seeing the bigger picture, seeing something beautiful.
I start from running hello world in ruby inside docker, that’s it. The goal is simple, to familiarize how docker works and to spot differences from virtual machine. I choose docker getting started as my gateway to this journey.
From there I realize that I need to learn basic linux to be able understand it better. So I enter another gateway, Learn Linux The Hard Way. Learn the hard way offers great learning approach. It offers exercise driven along with example and explanation.
After I understand how docker works, I can take another step, opening another gate. Now I build simple rails application, CRUD of an article then run it inside docker. Here I can learn how to meet dependencies in docker environment.
Then I continue my journey. Now i need to make CI (Continuous Integration) pipeline from my rails application. CI is not just another jargon, it can help us to automate a lot of things such as testing our application and build an artifact from our application and publish it somewhere. We need to automate every process as we can. Delegating repetitive and time consuming job to computer. We do this because we as human often inconsistent especially on repetitive task and computer fits the job as it can do this more consistent and faster.
Artifact can have a lot of form. In this journey I try to use compressed file, installable file or docker image. Artifact is built because we need to package our application along with its dependencies into executable format so that environment that will run our application, such as server, doesn’t need to build or compile or install any dependencies which can reduce the time that our application need to live.
Epilogue
This is the steps I take for my first week. Just a small fraction of my long journey ahead. Like other journeys, this journey also have companion, experience companion. I will tell about the companion a little bit in the next post along with another baby steps. Peace.