I started my career at a 15-person DevOps startup. My title was Solutions Engineer but I was also doing support, writing documentation, and once spent a weekend building a monitoring dashboard because the CEO asked on a Friday afternoon. I loved the chaos. I got promoted to lead engineer within two years. It felt like I was learning at warp speed. Then I hit a wall. A big client wanted me to design a multi-region failover strategy that passed SOC 2 audit requirements, and I froze. I’d never had to think about anything beyond keeping the application running and the VCs happy. I flubbed the design review so badly the client nearly walked. My boss—who was also the founder—pulled me aside and said I needed to slow down and build foundations, but in a startup there’s never time for that.

So I made the jump to a massive enterprise, a Fortune 500 manufacturer. I took a demotion to get in, down to a mid-level infrastructure architect role. The first six months were painful. I’d propose a quick script to patch a server and three different change advisory boards would ask for a rollback plan, impact analysis, and sign-off from someone in a building I’d never visited. I nearly quit twice. But I stayed, and I learned how to navigate that machinery. I got a mentor for the first time in my career—a greybeard who could trace a packet from the factory floor to the ERP system without touching a diagram. He taught me things I didn’t know I didn’t know. Things like procurement cycles, vendor negotiation, and how to write a business case that the CFO would actually read.

Growth inside an enterprise is a different animal. It’s less about the number of technologies you touch and more about depth and influence. I learned to shepherd an idea through twelve layers of leadership without getting it watered down. I learned that a well-timed conversation in the hallway before a steering committee meeting can do more than a hundred PowerPoint slides. The pace is glacial compared to a startup, but the scale of impact is absurd. A process improvement I designed saved the company enough in one year to fund a small startup entirely. That kind of leverage never materialized when I was racing to ship features before the next funding round.

Here’s the mistake I see people make—and I made it too. They think career growth is linear and universal. I assumed the startup path meant faster promotions and the enterprise path meant bureaucracy and stagnation. The truth is messier. In a startup, you can gain wide but shallow experience fast; you might become a CTO at 28 but lack the muscle memory to handle a crisis that isn’t just about code. In an enterprise, you can become so specialized that you’re irreplaceable in one niche but unhireable outside that industry. I almost fell into that trap when I spent three years becoming the only person who understood a legacy MES integration. I had to consciously move to a consulting role to broaden again.

Now, after nine years and a few scars, I think about career growth more like a portfolio than a ladder. You need seasons of breadth and seasons of depth. You need to know not just the tech, but how to explain it to finance people and factory supervisors. And you need to pick your environment based on what you’re missing, not just what feels comfortable. For a while I needed the structure of an enterprise to learn rigor; later I needed the scrappiness of a startup to remind myself I could still build things from scratch.

I still flinch when someone says startups are for learning and enterprises are for coasting. Both can teach you plenty if you’re intentional. The real danger is staying in one place long after you’ve stopped being uncomfortable. I left the enterprise when meetings started feeling like muscle memory. I left the startup when I realized I was just repeating the same heroics with a different stack. Discomfort is the best compass I’ve found. Not a bad thing to chase, as long as you know what you’re trying to learn.