This introductory article is the first one on our official blog. It is not about our company and our products. We keep that information up to date in our home page – yarsa.io. This article is more about the team, architecture and culture that powers Yarsa Labs. Also this article is to get ourselves started with this blog. No fancy stuff.
Story of Ghost
We decided to start a blog to document our journey together. We are all equally excited about having a place to express ourselves. We spent a couple of days browsing open source blogging platforms to find the one that held the least steep in its learning curve. We discovered Ghost. Thanks to their excellent documentation and community, we could set up a local server and go through its interface within minutes. We performed some usability tests to see if our team would feel comfortable in its dashboard. Perfecto!
Docker in Action
The blog had to go live for the world to see. Ghost is based in Node.js, that required zero to minimum configuration for production. Just a few tweaks later this blog was up and ready to serve from inside a Docker container. Docker is our kind of architecture; our team is starting to love it, and discovering the comfort and possibilities it has to offer. Most of our team depends hugely on docker to make sure they spend more time doing what's important — building great software, and the least configuring their builds for different environments.
Everyone at Yarsa Labs is on the same page of the story. Everyone belongs to the same room, not to a cubicle at a corner. Currently we are practicing flat structure so everyone can take a step forward and take part in decision making process. We have a structure in place, but only to delegate a task to an individual so the project management task is streamlined. We believe this system keeps everyone in the happy and satisfied. Eventually that's what it takes for a team to grow stronger. Not only workspace, our kitchen and meeting halls are open for everyone to nibble anything that's available and work comfortably off the assigned desk.
As much as possible, we try to assign an individual to a single project instead of assigning modules to individuals and later merging them together to build the actual product. This way, the project gets all the love it needs from the developer. We believe that this method challenges each individual in the team to evolve themselves as a full-stack developer, which is both better for their career and for the company. A project is only as good as the amount of affection it gets from its developer.