It’s been a great 2.5 years at Skype and today is my last day. I’m leaving to Skyscanner to build a new mobile product from scratch – something I have only done so far as side projects until now.
Skype has been an awesome place to work at. I’ve worked with all of you great people, learned tons, all while having a blast. I’ve collected some of the learnings that I’ll take with me from here for the road forward.
Writing good code matters. Writing code that solves the right problem matters even more. Taking an extra few minutes now to make sure you’re solving the right problem will save more than a few minutes minutes of coding later.
The most efficient meetings are not real meetings, they’re conversations. Like a chat on the hallway, pairing in front of a computer or a quick catch up with markers in one of the phone booths. I’ve come to avoid meetings – especially large ones – as much as I can in favor to these.
There are few things that bond a team better than being given authority and ownership to deliver more and better – and succeeding in doing so.
Nothing gives me as much a piece of mind when committing code as having a robust automation and deployment pipeline in place. Things could still go wrong, but there’s a much lower chance they will.
Thanks to one 3am call while doing devops I’ve gained more appreciation for automating failovers and planning for these than I had for years before.
The key to build software in an agile way isn’t about following the scrum or kanban process itself, keeping track of velocity or other metrics. It’s about continuously and consciously improving after every iteration at a personal and team level – and shipping faster and better we thought we could.
A must read book for every engineer: Clean code. A must use perk for everyone at Microsoft: MSLibrary.
On the most productive teams people don’t care about titles. Devs write tests, SDETs can and do write prod code, PMs do testing and everyone contributes to the spec. Teams where people are careful to only do work that is part of their role responsibility spend more time talking about who should do what and ultimately deliver slower.
I’ve yet to find a better and more fun way of solving a hard or complex problem then pairing with anyone on the team.
Working with a group of people you get along well matters. Working even on straightforward tasks with enthusiastic and fun people is always interesting and a good time.
If you feel you’re not learning or being stretched as much as you could be – challenge yourself more. I always feel excited and full of energy when starting something new and unknown – may this be using a new framework, tool, language, project, switching teams – or jobs!
Thanks for everything.
PS:Every time someone will stop me to talk about Skype I’ll feel proud to have been part of this team. Keep on building stuff that people use and love.