I started my software development career 5 years ago. My first job required me to work from the office, but from time to time I was allowed to work from home, like when I was mildly sick. I had known about remote work then and even interviewed for a few remote roles, but didn’t get accepted. It was a dream for me, but just like a dream, it seemed unreachable. It didn’t work out in the end and I was in the market for a new job.
My second job wasn’t remote either, but it was what you could call a middle ground. It was a startup and the whole dev team was just the three of us. We did have an office but didn’t use it apart from sprint planning. Every workday we gathered at a Starbucks and worked from there. It sounds like remote, but I still had to commute and the communication was in person. It was nice while it lasted.
After a year or two, the team got larger and we reluctantly moved to an office. This made the commute much worse for me. I could work remotely from time to time, but it was frowned upon. The startup got larger and larger and around three years mark we parted ways.
I had started writing my master’s thesis at the time, so I was looking for a part-time role. Sadly part-time roles are hard to come by, so the fact that I had been accepted to the Toptal network a few years back turned out to be perfect. I’m so glad that I made that investment at the time. I found a part-time job right away and was able to work remotely for the first time in my life. I was the sole developer on the project so my only communication was with the stakeholder, which was infrequent and mostly async over email. This experience was more akin to freelance work, and it has taught me a lot; like logging everything that I do. I still keep this habit and find it immensely useful.
The next chapter was a complete coincidence. I posted that I was out of a job on Facebook, which is far from being a professional network for me. An old acquaintance saw it and referred me to his company. I had close to zero interest but went through the interview anyway because why not. The stack was mostly PHP and jQuery, which was completely unacceptable for me and I tanked the online quiz. However, my in-person interview went amazing for both sides, and my personal experience in Haskell steered me towards a Scala team. The company didn’t have a remote policy and the decision was up to the team. And the team wanted me in!
This was my first full-time remote role and the team was full of lovely people. During my time there, the team was always distributed so the communication necessarily happened online. This is a must for a remote team. You can’t have just one person in the team who is working remotely, they’ll miss everything. They say the critical limit is 50%, less than half of the team must be at a single place for it to work.
It’s been quite the ride and I’m glad I had this experience. Now that I’ve seen almost everything, I don’t think I can go back to working from an office anymore. I know remote work has its own set of challenges, but I decided that it’s the best for me. And I know if I start a company, it’s going to be fully-remote right from the start.
In a future blog, I will discuss the pros and cons of remote work. Feel free to shoot a tweet my way if you have a question about any of this. Until then, take care!