Now I get to expand my engineering & system design skills to *people* systems. 😈
I worked with some of the smartest people I've met, learning all kinds of things every day. It was amazing. I got tons of opportunities to wear different hats, work under varying stress levels, and solve all kinds of engineering problems.
Well, by this time I figured I'd try starting something of my own. A few friends and I met a guy with an idea, and 2 months later we were working out of a co-working space trying turn that idea into a product. We built stuff, we made mistakes, we ran out of money, and eventually we failed. But through it all, we learned. We learned, I think, faster than we would have in normal situations. Not just about code, but about determining product-market fit and stuff like that. Heck, we even applied to YC...and got turned down. I don't regret any of it.
Well, this was a services company, so the work was usually pretty repetitive. But, this is where I got a sense of how other people, and most importantly teams, work. Because I came from a freelancing background, I always handled the entire stack on my own. But there's a limit to how much you can get done by yourself in a set amount of time. I worked in teams of various sizes. Sometimes it was just me, sometimes it was a team of 20. But anyway, we got the work done and probably took 4-5 full-fledged products to production for clients.
Started freelancing in my second year of college. Most of this work was just building websites + CMS systems, modifying parts of existing websites, or working with WordPress. Most importantly though, I think this gave me some experience dealing with people and looking at things from a business perspective. I had built stuff on the web before, but this helped me look beyond the code and architecture.