For a lot of people, digitalization and expanding high speed internet coverage has truly globalized the labor market. Remote work offers are increasing quickly — a trend that had started pre-pandemic — and binding an engineer to a fixed location is increasingly difficult. Given the last half year of work-from-home across the globe, there’s little doubt this will change any time soon.
Our new colleague Tomáš Kohout is a perfect example. A digital nomad who traveled halfway around the world over the past two years, Tomáš joined our iOS team recently. We spoke to him about how it is to work and travel (and travel, and travel, and work), what he’s working on at Showmax.
He also had a school project go viral a few years ago, and it’s pretty great.
For the past two years, you’ve been traveling the world and working as a digital nomad. It’s great, but is it as simple as it sounds?
Luckily, those of us who work in IT have the privilege to be able to (pretty much) work from anywhere and I thought it would be a shame not to take advantage. A lot of people imagine being a digital nomad as lying on a beach with a laptop and writing code between surfing sessions. In reality, you would sometimes spend 6-8 hours in an air conditioned room (if you’re lucky), or a coffee shop, while everybody else is out on the beach or exploring the countryside.
It requires a lot of discipline, but once you get used to it, it opens a lot of opportunities. There’s no limit as to where you might be next week or next month. I was working from all over South and Central America, at one point even from a favela (kind of Brasilian slum) in Rio de Janeiro.
What helped you in the beginning? How did you find your first job, for example?
Most digital nomads would probably recommend that you get a freelance contract first, while at home, and then start travelling. In my case, I had already been travelling for a year, was running low on cash, and didn’t want to return home yet. So, I spent my last savings on a new Mac, signed up on a site called Codementor, and hoped for the best. Most programmers are familiar with StackOverflow, a site where people post their issues and more experienced developers sometimes help. Codementor is the same thing, only that it usually results in a live call that is paid by the minute, which might sound a bit stressful, especially for us introverted programmers. But, at that point I really didn’t have any other option and it eventually opened up new opportunities for me.
Why did you decide to join the Showmax team?
I was joining Showmax in the midst of the Coronavirus crisis when everybody was working from home anyways, and the company seemed to be very well-adjusted. Showmax was already allowing two days of home office per week before the crisis started, so the transition was probably easier here than it was for others. Everybody seems to have a fully-remote mindset, meaning that we don’t have to rely on in-person interaction to be up-to-date with what’s happening with the team.
You are on the iOS team at Showmax, but you have experience with frontend (React), backend development (Node, PHP), and even Android. What was your journey to iOS and why you chose to “land” there?
I started programming in my teenage years using PHP, and landed my first job as web developer. But when I got my first iPhone, I was pretty sure I wanted to be able to develop my own apps. That was 9 years ago, and iOS is where I have the strongest expertise.
But, I think it’s important not to limit yourself with a single technology. For example, before I came to Showmax I was working for a startup where I developed an iOS app as well as a backend in Node.js, and infrastructure for it using Serverless. It was an app working heavily with video and I had to encode HLS streams on the server, something that iOS developers would rarely touch. That gave me a greater understanding of the overall concept and helps me today with my job at Showmax.
What is your role within the iOS team, and what are you and the team working on?
I was hired as an iOS Senior Developer. Currently, I’m working on automated end-to-end testing with the goal of taking some pressure off of our QA team. We would like to get to a point where they can write automated tests for core test cases that currently need to be performed manually before every release. That should give them more time to look for niche bugs and add more non-core tests to their suite. Amongst other things, we would also like to modernize the code running our player which has been with us since the beginning of Showmax.
That seems modern and very very useful. That sort of brings us to OSS. You are a contributor, and prefer to work for companies who do the same. What contribution are you most proud of?
I have contributed here and there over the years, but my biggest contribution was probably to Swinject. We used it in my last job for dependency injection but I grew frustrated with the amount of boilerplate you have to write for every dependency. I managed to take advantage of some advanced generic features of Swift and greatly reduce the amount of code developers have to write. It’s now part of the Swinject library and the pod has now over 300,000 downloads.
Your OstraJAVA programming language went viral a few years back. For Czech-speakers, it’s a pretty amazing language that uses slang from Ostrava (in eastern CZ). Tell us more about it.
The idea came from reading about unemployment in the Moravian-Silesian region of Czech Republic. Mining jobs are becoming extinct and miners need to be requalified to other professions. I thought that, if I could create a programming language that used the local slang, it would be easier for the miners to switch from pickaxe to keyboard. I called it OSTRAJava after the region’s capital.
Look at the following code in Java:
Square x = new Square(5)
It’s meaningless to the uninitiated miner. But what about this:
toz Stverec s = zrob Stverec(5) pyco
Clearly that’s the way to go.
It was originally made as a school project but probably because of its universal usability it’s found its own life now.