October 25th, 2015 09:10
Working on a small idea that may disrupt the world is the biggest fun part of being a startup. We enjoy how world is being changed by those small ideas that are provided by other small startups. All of the Alpaca team members have years of working experience in famous big companies and always talk how we need to change the way we work. I believe this is the case in most young startup companies but also guess that the details are always different. So today I just wanted to show how we work by showing what we use today to achieve our goal in the shortest path.
There is no doubt that Slack is being adopted rapidly. There are so many reasons and goodness, but especially for teams like us, who are distributed geographically, the team communication is key and I cannot imagine how we can run our team coming from Japan, Silicon Valley and South Asia. Most of our toolset is integrated with Slack and we check all those updates from them, not to mention whatever team members are saying.
We used to use Google Hangout and Skype for our internal meeting. Google Hangout was good since it can integrate with Slack, but it just didn’t work well with the party of three and above, and voice broke a lot. Skype is still a common tool when we talk to potential business partners, investors and users, but there also often happen problems like connection is killed, screen sharing stops working, voice gets unclear, etc. especially when the number of people becomes bigger than four or five, and it is not integrated with Slack. Then we searched alternatives, and found Zoom.us just works for us. Again, connecting from different location, sometimes from bad connections using mobile, we have daily status update meeting following the common practice of Agile/Scrum methodology. It should finish in a short time in order not to bother team members’ work and it is pretty important for us to just start and finish the meeting without technical issues.
Coming from Pivotal myself, the agile methodology just makes sense to workplace like us, who create a brand-new value by software. And Pivotal Tracker is the best tool to follow it. Single stream line of prioritized stories makes it easy to see what should be done next, and combined with the daily status meeting we ensure that everyone is working on the right things and the team is moving forward to the goal. We actually migrated from Trello to Tracker, because Trello was not clear on this point. We put any items to do in the icebox, not just user stories, and have everyone not just developers in the status meeting, because we are delivering the value, not just writing code. Of course updates on Tracker are notified in a Slack channel.
We used to have an internal private GitLab server manage private repositories due to historical inevitable requirements. Moving to GitHub’s private repository recently, we are pretty comfortable with pull request workflow, and simply we don’t need to manage on-premise software deployment like GitLab any more. Pushes to the repositories are notified in a Slack channel. We are managing issues in Pivotal Tracker, and not using GitHub issues. We put many things in GitHub private repositories not just software program code. We also love to work in the open source ecosystem and we have a couple of open source repositories so others can reuse them.
Time is the most valuable resource in a startup and moving fast is critically important for us. We never have dedicated QA people like big companies do, so making sure our software works as soon as new change is made is what CircleCI helps us to do. Even though our software stack is pretty complicated, thanks to CircleCI being able to run Docker, our turnaround time for one test execution is radically minimal.
To me these are a must-have set of tools for any kind of SaaS product. Talking directly to your users real time through the Intercom’s browser chat window keeps users engaged. You make hypothesis of user needs and analyze how they behave (or even how they run away) using MixPanel. Keep sending system metrics to New Relic and watch any error to happen in New Relic. All notifications are sent to Slack and everyone can react on those events immediately. With these tools, your SaaS (or even website) is going to be a real shop.
I was a bit surprised that this neat tool is not so famous when I found it. This guy is just a “tail” command as a service. You send all log output to its network interface and look at it through the browser. You don’t need to do tail -f in your console anymore. Sounds overkill? When it comes to a distributed system, it’s fairly hard to find the problem if something happens, but often concrete evidence is left in log. From my past experience in a distributed database development, this is always the case. With logspout (https://github.com/gliderlabs/logspout), all of the console output from any docker containers is sent to this service and we all look at our browser.
Not only these tools are fun to use, but it is also important to us that these tools help us have less belongings. We are a distributed small team currently, but also we love and support how we work, and these tools help us work this way with less belongings. We believe people should have different way of working, which is totally backed by our company vision, “be a human being”.
Well, these are not all of the list (obviously we heavily use Google apps for instance) but should give a good idea of how we work at Alpaca. And we all like new stuff and are always eager to try something new, so the list may change tomorrow (in fact, some of them are just started in the last couple of weeks). Something may be obvious to you and some may be new. We look forward to hearing your suggestions.
Our deep-learning trading platform, Capitalico, is also developed with these tools. We are running closed beta in a limited time and we value your feedback. Sign up for the beta test today, and don’t miss this chance to get involved in the new trading era with Capitalico!