Furniture as a Service in Berlin
TL;DR
My first professional coding experience lasted exactly one week. But that week of diving into a massive Next.js codebase taught me more about real-world development than months of tutorials ever could.
Full Version
Second year of college. A friend messages me: “Hey, my batchmate works at this startup from Switzerland called Pabio as a JavaScript engineer. Want an intro?” I jumped at it. After talking with the founder, he offered me a week-long trial. The catch? They had their launch coming up in a few weeks, and they needed to move fast. I joined in the mid of May 2021.
Day one: I opened their codebase.
It was massive. Tens of thousands of lines of production-grade Next.js code with TypeScript, Storybook for component development, Emotion for CSS-in-JS, proper Git workflows, Linear for project management. All tools I’d never touched. Coming from simple tutorial projects, this was like jumping straight into the oceans.
The first task? “Write unit tests for all our UI components.” I didn’t even know people wrote tests. I thought testing meant manually clicking through your app. The concept of automated testing, test suites, coverage—all of it was brand new.
Reality Check: I was scared. Really scared.
I spent that entire week doing one thing: reverse engineering everything I could. I’d open a component, trace how it worked, see how they structured their TypeScript interfaces, follow the styling patterns with Emotion, understand their Storybook setup. To me, it became about absorbing as much as I could before time ran out.
At the end of the week, the founder called me. “Look, you’re clearly smart and motivated, but we have this launch coming up and we need someone who can hit the ground running. We can’t continue with you right now.”
I got it. No hard feelings. They needed experienced developers, and I was still learning what production code even looked like.
But here’s the thing: that one week changed my trajectory.
It showed me the gap between “I can code” and “I can contribute to a production codebase.” Most importantly, it taught me how to learn by diving deep into unfamiliar code. Sometimes the experiences that don’t work out are the ones that teach you the most.