Even though most of my 15-year career has been spent working in big companies, I have always had the startup bug. I’ve helped launch a number of new products, but I wanted a much more operational experience… and to be the one to bring my own vision to life.
Last year, I developed the concept for GoodLooks, a marketplace of lifestyle experts, and began to pull together the team and funding. At that time my coding experience was limited—one college class I had taken 20 years ago. I knew enough about front-end and back-end development to have a conversation, but I couldn’t write any code myself.
At first, GoodLooks relied on outsourced help, but it became quickly clear that this wasn’t the answer. Small changes took seemingly forever to finish. Instead of the technology enabling the business, it was limiting us. So I decided to roll up my sleeves and learn how to do it myself. I needed to launch a great product that had the flexibility to change and evolve over time. All without breaking our budget.
I dove into a self-developed 12 week boot camp learning all the elements of launching a product. I started with an online Ruby on Rails course to learn how to build the back-end of the product that would support the whole product. Then I had to focus on the user experience using bootstrap, CSS, HTML while my partner learned the fundamentals of front-end design. After that came figuring out how to get the finished product live, set up security, figure out where the site should be hosted and store my code on GitHub, a code-sharing publisher and community. I also had to work with third-party APIs to ensure that our site could handle important needs like payments and text confirmations of orders.
It turned out to be a much more involved undertaking than anticipated… but it worked. Here’s what I learned along the way.
Focus on the endgame to get through a rough patch.
Every new part of the process I went through followed a similar cycle:
I cannot convey the despair I felt during the first three steps of the cycle. Staring at strange characters that made no sense. Having no idea how one piece of code related to another. But, I stuck with the discomfort because I knew by spending enough time with the unfamiliar would help me eventually learn it. It was not easy. But, for that reason, coding can also be extremely satisfying. When your product does work, especially after hours of struggle, the sense of accomplishment was enough to push me through the next struggle.
Pay close attention to detail.
In my former life in the corporate world, a typo in a strategy deck was not a deal breaker. It could still be a great deck. But one wrong period in my programming code crashes the product. In Ruby, I call it the red screen of death. I learned to have more attention to detail in every step and also to continually test, test, and test with every change.
There’s always more to learn (and do).
Improving the product, creating a better architecture, updating processes, etc. is a constant evolution. Every start-up wants to avoid the dreaded “technical debt”, but at the same time get out a speedy product. Every time I would finally conquer one release, the next bigger challenge was just behind it. A bit like summiting a hill, only to find a mountain behind it. It’s humbling to realize how much more there is to learn. It really can be a lifelong pursuit.
Collaboration is key for a better product.
The coding community is literally a lifesaver—unlike anything I’ve experienced before. In the business world, if you’re stuck on a financial model, you can maybe ask a co-worker for help, but that’s about it. In the coding world, there is more collaboration and expectation that you need to rely on others. For example, there is documentation of how products should work along with an amazing community on Stack Overflow and GitHub to reference answers and ask questions of others. Those resources have been a lifesaver for my own development as well as for the creation of GoodLooks. You can really easily tap into a whole community of people to learn from, rather than relying on one or two colleagues who may or may not be open to helping you.
As our product has scaled, we’ve been able to bring on a few developers to contribute to the product, which has made it even better. Even though coding is an individual exercise, the contribution of others had made me a better developer and our GoodLooks product stronger.
A new perspective can be a game-changer.
Learning to code forced me to think about my business in a much more comprehensive manner. How will the decisions made in the product architecture at the beginning affect how the business can evolve? What product features are unique and will differentiate the company in the future? What features will be scalable for both the tech and the users? What specific skills do I need to add to my team?
I continue to draw on my past strategy experience for growing the business, but now I have the operational and technical expertise to understand just how difficult a new strategy will be to implement. Before learning to code, technical assessments felt like a bit of a black box. I was left with output but no idea how those assessments were made. My experience now allows me to contribute to the discussion.
Plus, my experience makes it easier to identify talent. When talking with front-end or back-end developers, I can get a much better sense if they’re “good” in an interview than before. That’s been a huge value as we bring on more people to our team.
As the CEO, I find my time continually split between a lot of demands… but I remain an active developer. There’s nothing like the rush of seeing a user successfully using your latest feature.
Mitzi Reaugh is the CEO & Co-Founder of GoodLooks, a marketplace for lifestyle experts.