Wednesday, 21 November, 2018 UTC


Summary

Dear future colleague,

I’m three minutes away from stepping onto stage at Breakpoint, a tech and design conference organized by Reaktor.
As the stage host for the main stage, I’d received advice from one of our best public speakers, met and enjoyed the company of all speakers for my stage the night before, and had an amazing co-host by my side. I take a deep breath and feel a sense of satisfaction come over me. About two years back, “unhappy struggle” was most of my daily reality. Now, all that has changed – thanks to a graceful mix of opportunity and good decision making.
Within a couple of years, I moved on from my studies, left a job I loved, maintained a library with millions of downloads, and ended up as software engineer at an impressive company (this one, obviously). In this letter, I’d like to share some of the major turning points, specifically the attitudes I adopted, decisions I made, how I accelerated my learning and found happiness along the way. Because I wish for you, dear future colleague, to also smile when looking back at your growth – or, alternatively, share my confident grin looking ahead.

Taking a dip – and refinding my energy 🙌

When I discovered coding halfway through high school, I was immediately sold. In my mind, coding was the ability to create magical things from nothingness, in a digital space, stretching as far as the mind could think. 
When university came around, that enthusiasm faded quickly; the material was interesting, but I was no good at studying. For years, I tried my best to improve, but ended up unhappy and struggling with failing results nonetheless. The moment I stopped resisting the fact that what I was doing did not agree with me, my life took a different turn. I picked up a job at a hip startup and went from fighting to put in hours of study to worrying if I was bothering our senior engineer too much in my hunger for knowledge. I discovered my kind of fun, and discovered it easily lasted more than 8 hours a day too.
I’d say this was the first decision that started to pay off with compounding interest. If you want to be great at what you do, you can’t be spending most of your time holding your head above the water. Entering a domain with problems I didn’t know how to solve, and a method of working that didn’t feel like running uphill, my energy had jumped right back up.
Now, finding that first job is not easy. A good friend I discovered coding with back in high school was now CTO at a small start-up, and happy to vouch for me and my willingness to start from humble beginnings. That much was pure luck. What came next required sacrifice. For my first month, I pushed for an agreement that earned me exactly zero euros – and argued that the cost of having me distract the company’s seniors would soon pay off through my own contributions. JavaScript was easy enough to pick up with a good teacher, and soon I earned a small interns salary.

Building your foundations 👷‍♀️

I loved the startup I started my journey at. Freedom and responsibility galore, I experienced some of the fastest learning as well as most fun headaches I’ve had. But. I was also barely getting by, had a long commute, and worried together with the founders whether the start-up could afford to pay me a full salary anytime soon.
A definite plus to the technology industry is that once you’ve accumulated a reasonable amount of knowledge of your craft, work is relatively easy to find. When you don’t constantly have to worry about finding work, even as a junior, time frees up for helping yourself become better and happier in all areas of life. Having built up basic proficiency with JavaScript on front and backend after a few months at my first startup, I decided to look around for places that would hire me for my potential, not my current skill. In a matter of weeks, I’d found a 30 person startup that was looking to add a junior, had a handful of seniors, and plenty of technical challenges.
When you’ve found a job that is comfortable and pays you enough, you can start looking at your foundations. I moved to Amsterdam, cycled to work in ten minutes, had time to stay late and work on open-source, and worked in a comfortable centrally located office with a well-stocked kitchen, weekly drinks and was surrounded by fun people.

Accelerating from solid ground 👩‍🚀🚀

The following sections detail what I did and may inspire you, but the big takeaway is this: many of the extremely skilled coders – my role models – live and breathe code. In simple terms, the hours they spent thinking, writing, and discussing code are very high. So, I suggest you, too, invest in some of these things.
Open source. When the workday went smoothly, I would find joy in solving open-source issues. I’d run into an issue with some piece of open-source software used at work, would find an unsolved issue on GitHub, and after office hours – or sometimes during office hours – would solve the issue. Soon enough, you’re eyeing adjacent issues, maybe even end up being an active maintainer for one of the bigger request libraries in NodeJS-land like I did.
Meetups. Truthfully, I never learned lots in meetups, but they definitely feed my enthusiasm to work on things.
Dive deeper. Imagine one morning you get sucked into this Hacker News post, but halfway through your journey of understanding Algebraic Data Types your boss taps you on the shoulder and suggests you get ‘back to work’. At Reaktor, we don’t have bosses, but a happy client is obviously a major concern and goal. Strive to work with people that care about your added value over a week, not over a half hour. How? Try to join a winning team. Trust is more easily earned when you’re on a winning team.
Make time to learn. Another thing that has stuck with me is the idea of compounded learning. Take a couple hours a week to dive a little deeper into an issue or a technology. Your deeper understanding will help you learn whatever comes up next week, which then helps you the week after, and so on. I would wonder why relational data is structured the way it is, or why JavaScript offers two constructs to store key value pairs. Then, I’d take a bit of time learning the ‘why’ behind them. In some companies with a lesser focus on helping their employees blossom, this is known as time-theft. Find a place that allows you to commit some time-theft.

Why I left a job I loved 😥

Reaping the benefits of all the above, life at my second job was great. I could challenge myself in many ways: stepping up when the current scrum master bowed out, share in knowledge sharing lunches, and even grew into (small-)team lead right before I left. Awesome! Yet, after 16 months the more I imagined what I wanted out of my future, the more I faced some harsh and unkind truths.
Most of the work had become easy. The rare hard challenge which popped up would naturally be worked out mostly by our senior developer. I’d ended up in an environment where I thoroughly enjoyed working with the people around me, but couldn’t develop my skills much. I felt happy where I was, but at the same time, noted this happiness had started to compete with a desire to reclaim my opportunity to grow.
Take a moment, stop reading, and think: how do I feel about my day-to-day learning right now?
If you ever end up in a situation like me, I’d suggest you talk about it with your colleagues or friends. Verify that indeed, what you seek isn’t something you can get where you are. I can only hope that you’re working with people as understanding of that predicament as I did. Keep in mind your environment probably wants you to stay. Prepare to be offered enticing benefits that don’t do anything for your growth, or sliding happiness. Talk to whoever can discuss your contract with you. Write down honestly whether the conversation brought up options you hadn’t thought of. If you’re still stuck with an unfulfilling day-to-day, it’s time to move on.
So, where to move on to?
I felt the need to go back to not knowing what was happening. To being explained to why the architecture evolved the way it did rather than doing the explaining. I wanted to create smiles on peoples faces with great services, and if I was to do that, it was time I got near the people who already did.
When I found the Amsterdam office of Reaktor, it quickly became clear that the average software engineering experience was a multiple of mine, the projects were on a scale I hadn’t even been close to before. Yet somehow, the qualities sought after in the job description didn’t belong to a long list of requirements that only one in a million would entirely possess, but a witty yet genuine invitation to those with a “burning desire to improve, grow, get better, *insert more synonyms*. It’s okay to not be perfect.” The subtle message was clear: it wouldn’t be my ‘career stats’ that could convince Reaktor and, as I soon learned, it was rather the trend they took interest in. It resonated. How could I not take the (admittedly) long shot?

Why Reaktor is a paradise for individuals like me 😚

At Reaktor, growth starts with you. There are mentor programs, book study groups, and deep tech chat channels, yet, no one person who is in charge of internal learning or responsible for asking you if you feel your growth is where you’d like it to be. Differently put, we like to think the person in charge is you – and, to be perfectly honest, in case that’s news, it was always you.  Once you have taken charge, there are more benefits here than I have space left to name.
Software engineers tend to repeat past mistakes. A lot. With the number of engineers in the world growing at a ridiculous pace, it’s hard to teach people as fast as there are new people to teach. Seniors are, well, rare. However, at Reaktor, the majority of people have been learning the craft for tens of thousands of hours already. If you have questions, your colleagues will have answers.
Trying to learn what you lack without colleagues that already solved the puzzle is hard. There are many ways but things sure are easier when there are more experienced friends you can pull yourself up to. My third week at Reaktor, whilst visiting the main office in Helsinki, a friendly person pointed out a small knowledge sharing session was about to take place for interested summer interns. Now, most talks I’ve seen are frontend JS, and most are a bit ‘slow’ for my taste. Ever so remotely worried this would be another talk on a familiar concept, I joined.
As one of my new colleagues quickly went over the topic, it took me about 10 minutes to start asking questions, simply to follow along. By minute 20, three things had become abundantly clear: I was out of my depth and losing track, I was terribly excited to find myself having no clue what was going on, and the interns – still calmly nodding in agreement with the speaker – were ahead of many of the seniors I’d come across.
If this sounds like something that would excite you, too, please consider letting us meet you. I’d like to learn from you as you, hopefully, will from me.
Love,
Alex
The post A letter from your future colleague, Alex appeared first on Reaktor.