Last month I celebrated my 30th birthday. Entering the next decade of my life, I wanted to take a look back at the years spent and go through the goods and the bads, the highs and the lows.
Ten years is a lot of time. It is only fitting they went by so fast. When I was twenty, I graduated a medical university on the path to become a doctor. Whether it was the right path for me, and whether it was actually me who’d chosen it is as uncertain as it is irrelevant. I tend to pursue my passions, and at that time medicine was one of them.
But it wasn’t the only one.
I must admit, it is funny whenever I mention I switched from being a doctor to being an engineer. It’s always raised brows and bewildered questions knitted with a tinge of condescension. Somehow, a lot of people see that as a downgrade. That is truly fascinating. In my culture, doctors are automatically respectable and engineers do naught but swim in money. And yet, somehow, I’ve seen doctors I wouldn’t trust to save my life and engineers who struggled to make the ends meet. Pity those raised by stigmas, I suppose.
Engineering didn’t just happened onto me. I’ve been hacking video games and, eventually, spending an absurd amount of time in Delphi and PHP before I could drink or drive. From the first computer my father bought camouflaged as a gift for my mother, the digital world has blown me away.
Surprisingly, engineering wasn’t at the top of my list when I finally got my hands on a computer. It was graphic design. I liked to draw, and so I naturally gravitated toward Corel Draw and Adobe Photoshop. My grandmother and I stayed at her daughter’s house one summer, where most of my days were made of trying to make sense of Photoshop and watching Naturo on TV. Those are some of the warmest memories I have.
Forgive me for the detour, it seems we’ve jumped a decade too far.
Once I moved abroad, I had more designing experience than anything else. I did comissions for websites and even video game art, and so I wanted to land a job in that field. The field, however, did not share my inclination. I did a few calls regarding job offers, but they got me nowhere. I decided to wing it and give engineering a try.
At that point, I was mostly making WordPress sites and writing custom plugins in PHP and, occasionally, jQuery. I couldn’t read JavaScript unless it began with a dollar sign. Nevertheless, I knew it was seldom the skill and often how you sell yourself. So I tried that, and landed my first full-time job as a junior engineer.
I had the wrong degree. I knew little. I could do even less. The only reason I got the job was because I was given a chance. Well, that and the fact that I was laughably ambitious. When they asked me what was my goal, I said with a straight face that I wanted to change the world. In some little way, perhaps, I did. I will let the world to the the judge of that.
There were few things I wanted less than coming back to my tiny dorm appartment. I worked hard, then spent evenings in a mall halfway between the work and the dorm calling my partner at a time and my parents. When the mall started to close, I would catch a late tram and ride my way to the bed to fast travel to the next day. I had more than enough motivation to push me through many days like these.
Frankly, my job is the boring part of the story. I failed, I learned, I understood how to play the game. I met a lot of good people and a handful of bad ones. I was given many more chances as well as was brushed off as an under-engineer because I didn’t know all the sorting algorithms by heart. While the job did help me get on my legs, it has quickly sucked all of my excitement for the art of engineering, and so it had to find its resolve somewhere.
That somewhere was open source. Even when I was absolutely clueless about JavaScript, I published my code on GitHub. I don’t know why I did that, but I happy I did. A jQuery carousel library called “Royal”, that was one of my first projects. A spectacular glob of spaghetti code and nonsensical functionality that nobody knew of or used. I loved every bit of it. It gave me autonomy and the freedom to create. It was my proving ground to the ever-present sentiment that very few problems could be truly solved and had to be hacked around. It was, and still is my passion.
Then, one of my ridiculous projects got noticed. One more time in my life someone has believed at me. I cannot fathom what Kent C. Dodds saw in the hackery that was Mock Service Worker back at the day. I certainly didn’t see the same thing. But his excitement was contagious, kindling my belief in the project to make something good out of it. That will not be the last time Kent would believe in me, but I didn’t know it back then. All I knew is that someone actually needed my project and that it was in such a sorry state I rushed to cleaned it up.
The years I spent maintaining MSW were the years that taught me how to be an engineer. And a manager. And a developer relations aficionado. And a good dozen of other roles. I’ve been truly blessed by a wonderful community, and I can count the “fix this immediately, what a garbage library” occasions on one hand. It was a breaking point when I realized I don’t need to promote the project anymore. I actually wanted fewer people to know about it so I could manage all the issues and questions and proposals. A high luxury.
I failed a lot, too. Spending all my spare time on open source wasn’t such a good idea. It damaged my mental health and my relationship with the people around me. Nothing has improved my life more than caring less about code. Surprisingly, that led to better code being written. Huh. If you’re still reading this, go hug the people who matter to you. Codes and projects and computers certainly don’t.
It’s been a great thing to know that code I wrote is used by so many people. Google uses it. Microsoft uses it. Amazon uses it. Netflix uses it too. Without a doubt, that is a monumental achievement for any open-source dreamer out there. I am thankful all of these people are putting their trust in my software. Somehow, you can bring value without a degree or a profound knowledge of the language. It’s almost as if vision and dedication are the only things that really matter.
Vision and dedication are great, but they don’t put food on the table. For the last couple of years I’ve been exploring the channels to make my open source involvement financially sustainable. It has been a wild ride. From companies ignoring me, to people ghosting the sponroship proposals after they’ve been approved. There’s been good cases as well, don’t think there hasn’t. Due to the support from Chromatic, Codacy, and later Microsoft, I was able to switch and maintain my open source work full-time. I am greatful for their support!
“Full-time” means different things to different people. I am not getting a full-time salary, if that’s what you think. I am getting enough to pay rent though, and that is great. Sponsorships, however, tend to go more often than they come, and having no clue about how long I’d be able to keep doing this is rather scary. We will cross that bridge once we get there.
That support helped to keep my efforts afloat, but it wasn’t the reason I decided to change my life a year ago. It was yet another given chance. Kent has asked me if I’d like to help him update TestingJavaScript. The question got me both excited and worried. Could I actually do that? I’m not comfortable with promising what I cannot deliver. I took some time to think about it and, eventually, I agreed. From that point on and until this day, I’ve never worked that hard in my life. I’ve also never enjoyed my work this much. I love teaching. I love making complex simple. I love when I can asnwer someone’s question. It is a great feeling.
Now, we are dangerously close to the present. There were a few other things that happened over the last ten years. I’ve written my first book. Then, I’ve written the second one. None of those are published yet as I’m deep in the revision and editing process, but I hope for you to read them sometime in the future. All this time later, the passion still drives me. Life is an endless sea, and it is thirsty at the shore.