We met a fellow rider who was happy to have a chat about his riding exploits. Those exploits seemed to mostly consist of innovative ways of destroying his bikes, such as blowing up his gearbox by coasting downhill, at highway speeds, in neutral (which he referred to as “stealth mode”), and then proceeding to absent-mindedly engage the motor in first gear.
The process of migrating ~ 180 Swift files took around 2 weeks and 2 people. We decided on pair migrating (I call dibs on the name!) because of the specific advantages in this conditions. Having 4 eyes instead of 2 becomes even more important when the focus of the project is less about code logic and more on making sure no new bugs are introduced because of typos, rename operations and reordering. A second set of hands and a laptop are very handy to check the original code when what you see in front of you does not quite make sense. Overall, it makes a task that is not that fun more enjoyable, and when everything fails at least you can switch. Thank you Mannie (@mannietags) for pairing and enduring.
Once we decided to proceed with the migration we had to came up with a plan. It was clear to us that it would have not been possible to cut the migration in chunks. Xcode only allows to compile with one Swift version, so once you get the ball rolling, all the changes need to be merged to master at the same time. That creates several logistical problems that span from locking the team out of working on any Swift file to generating massive pull requests. Colleagues may appreciate the effort but they’re gonna hate you anyway. We settled on creating a note where everyone in the team would add the classes they are working on so to give us the ability to leave them aside and try to merge them into our branch before migrating them. This is not always easy especially if you are relying on the compiler errors to guide you on the next piece of work.
We once glorified Twitter as a great global town square, a shining agora where everyone could come together to converse. But I’ve never been to a town square where people can shove, push, taunt, bully, shout, harass, threaten, stalk, creep, and mob you…for eavesdropping on a conversation that they weren’t a part of…to alleviate their own existential rage…at their shattered dreams…and you can’t even call a cop. What does that particular social phenomenon sound like to you? Twitter could have been a town square. But now it’s more like a drunken, heaving mosh pit. And while there are people who love to dive into mosh pits, they’re probably not the audience you want to try to build a billion dollar publicly listed company that changes the world upon.
Companies are simply groups of people that come together to build something they believe in. There comes a time when people want to go off and do their own thing or join another mission. When that time comes, we will always support you 100% in your search for happiness and fulfillment. How you leave a company matters. We should all be here to make each other better and to create an environment that sets everyone up to go do their own thing someday, or whatever else they want. So, how to quit?