Back to blog

My First Weeks in the Team

2013-12-17 - Posted in Uncategorized Posted by:

by Rinat Abdullin
I recently was kindly invited by Tomas Roos to join dev team of HappyPancake – large swedish dating site that needs to grow beyond it’s current implementation in .NET + SQL. My starting days in HappyPancake were quite intense and interesting, despite the fact that I could spend only 20 hours per week on the project. I learned a lot of things that would be be completely out of reach for a .NET developer within Microsoft OS. Here are some bullet-points:
  • Google Hangouts work nicely for team collaboration and screen sharing.
  • SyncSpace drawing app is probably the best collaborative white-board for a distributed team.
  • Mindmups are great for collaborative and personal brain-storming.
  • Erlang is a great language for building low-latency and CPU-efficient apps. It has some learning overhead for a .NET guy like me.
  • Golang is a great language with good ecosystem and really good performance. If compared to erlang, golang has a lower learning overhead for a .NET guy.
Within these days we invested time in establishing high-level design guidelines for the system to be implemented. High-level goals were:
  • Iterative development with emergent design (we don’t know all the answers)
  • Micro-services with support for experimentation and A/B testing (to get these answers and discard wrong assumptions)
  • Base design evolution on reality and measuring it to validate assumptions
  • Ubiquitous language for communication between services : HTTP with JSON/HTML
  • Any language within the service (as long as it runs on Linux)
  • Designing for a distributed team that wants to spend years learning things, experimenting and playing with cool tech.
Making this work requires a lot of responsibility and ownership, which have to be factored into the design, as well. We currently believe that Micro-Services approach with a bit of Programmer Anarchy might work well for our case, as a foundation for building things up. 2013 12 04 system language For the upcoming week I plan to continue catching up with Golang (currently reading through The Way To Go) and then start drafting a prototype of low-latency Message Bus with Event Store capabilities and FoundationDb backend (codename `BroStore`).

Leave a Reply

Your email address will not be published. Required fields are marked *