Hey there 👋 I would love to learn more about your thoughts on onboarding software engineers and the challenges you're facing in your company. If you can spare 30 minutes of your time, I'd love to chat with you! Just send me an email!
I’ve always enjoyed building software and solving problems. Back in 2012, I started hacking around with Java to build Minecraft plugins for me and my friends to enjoy. It took way longer than I’d like to admit until I got the first version running successfully, and I absolutely did not know what I was doing, but it felt rewarding enough, and so I kept going.
As a relatively young person of 17 years, it was really hard to get into tech, that is if you don’t count the internship programmes high schools offer, where students are placed in work environments for two weeks. This artificial constraint reigns in any ambitious plans because close to no company takes on students for this short of a timeframe, which leads to yet another issue: How can you gain work experience when the requirement for any job is the experience that you don’t have? This presents students with a classic catch-22 and leaves them without opportunities to work in teams to grow their skills, both technical and social.
For me, the world changed when I got the opportunity to join Hygraph (which was called GraphCMS back then) in June 2018. A couple of weeks earlier I had found out about the company through my good friend Tim, who visited a local meetup. I never expected the team to be located fewer than 12 miles from where I lived at the time, but here I was.
Naturally, I applied and after some days, when I had almost forgotten about it, Michael invited me to come by the office and have a chat. I couldn’t have responded any quicker, and my mind was racing with excitement. A week later I was sitting in our meeting room, with Michael, Daniel, and Jonas sitting across the table. We talked about GraphQL and other technologies for a bit, and I left the room as the first working student in high school at Hygraph.
It took a couple of months of imposter syndrome and a lot of late nights and weekends, but I eventually figured out how things worked and started contributing small improvements here and there.
When I graduated from high school in May 2019, I was ready for the next step. I had been eyeing the backend already, and it seemed natural to transition into a full-time engineering position, so I did just that.
Back then we had to keep the old stack running, which was becoming increasingly difficult. In the late summer and fall of 2019, we started dreaming up an architecture tailored to our use case: A multi-tenant, headless CMS that could scale for the next couple of years. We ditched the managed version of Prisma that has since ceased to exist, which we used as our foundation, and thought about new services to handle the requests to our Content APIs.
Eventually, the team working on our new backend consisted of Daniel, the CTO, Jonas, an engineer who also joined while still in university, and me. I’ve never learned as fast or as much as in the timeframe from September 2019 to March 2020, it was truly crazy, and I lived every moment of it.
Fast-forward three years (and almost five years since I joined), and our company has more than tripled in headcount and will keep growing much further. Challenges shifted from building the first iteration of many core features to scaling our systems to meet the ever-growing demand.
Today, I feel that it’s time to move on. I learned more than I ever expected to and succeeded with more than I could have hoped to. The challenges that remain are better solved by the brilliant people brought on board in the past year or two, some of which I had the honor to onboard.
As you might imagine, leaving a team that I’ve been working with for the better part of the last five years is a hard decision. It’s also not a decision I’m making light-heartedly or in any way spontaneously: When I started studying in what almost feels like an eternity ago, I started a process of sharing all the knowledge I had held on to, making sure that I wouldn’t become a bottleneck to my team.
When I started working full-time, I used to take on every responsibility I could to show my ability to grow, but over time I realized that I was merely holding back my team in the long run: Clinging on to exclusive knowledge doesn’t help anyone.
Winding down my work at Hygraph is a process, as I’m taking the time to properly close all open loops, and make sure the team can take over from here on out.
The journey up to this point has been incredible, and I would like to use this bitter-sweet moment to thank Michael and Daniel for giving me this opportunity, back when it wasn’t the obvious thing to do, and Jonas, Fabian, Pablo, Jean, and everyone else at Hygraph for being incredible colleagues, mentors, and friends. Without them, I wouldn’t be here, and I’ll always be grateful for that.
After all this, you may wonder what I have been building toward, or you might already know. Either way, I’ll lay out my thoughts: From my point of view, there are three paths to continue learning at a rapid pace: 1) becoming a team lead and gaining people management experience 2) joining a big-tech company to gain corporate experience 3) building my own company and gain all kinds of experience.
Becoming a team lead at Hygraph would, no doubt, have been possible after some time, but I wonder if the company stage is a great fit for me. Because of my decisions, I have mostly worked in the stage from 0 to 1, and I believe that this is where I do my best work. For the same reason, joining a large big-tech organization would probably not make me extremely happy in the near future.
So, enter the third choice: Building a product and a company at the same time.
First and foremost, I think Germany is lacking behind other countries in terms of real startups: Companies dedicated to solving real problems (that automatically excludes startups existing just for regulatory reasons, even though you could argue they have a purpose) with unique solutions (not just imitating their Silicon Valley counterpart while selling to a German audience). Some companies meet and exceed these criteria, and I think Hygraph is one of them, but they are rare, for reasons that seem to be ingrained in the European culture and economic situation.
That alone obviously doesn’t justify starting something new — a startup just for the purpose of running a startup (what the folks at YC call “playing house”) is exactly what I’m trying to avoid here.
Spending the last five years working in teams with multiple roles has helped me understand more perspectives than just engineering. Especially early on, time and resources are scarce and everyone on the team has to wear multiple hats for the company to survive.
But through all the complexity and fragmentation that comes with today's tooling landscape, teams at the early stage all have a shared purpose: Moving as fast as possible to find product market fit, which means trying, failing, and trying again.
I’m betting on the vision that whatever we can do to help teams ship better products, faster helps everyone.
Anzu provides all the context in one place, helping teams understand their users, and build better products. We’re building for a collaborative future, where departments work much more closely together to make sure deals are closed, customers are satisfied, and teams can focus on what matters.
Moving ahead with Anzu in full force is a big leap that involves lots of risks, and yet it guarantees to provide a never-ending flow of experience. I’m happy to say that I couldn’t think of a better co-founder to pursue this endeavor with than with Tim. His relentless focus on user experience and building a great product is unmatched, and I’m excited for the time ahead.
Stay tuned for more to follow in the weeks to come.
Thanks for reading this post 🙌 I would love to learn more about your thoughts on onboarding software engineers and the challenges you're facing in your company. If you can spare 30 minutes of your time, I'd love to chat with you! Just send me an email!