Last month, the White House announced a new multi-billion-dollar Computer Science for All initiative, with a mission to provide every student a chance to learn CS in school. The commitment at the national level comes at a time when the dialogue, advocacy and regional mandates for more STEM education are at an all-time high. One of the key factors in creating such initiatives is that these skills, including coding, are necessary in order to participate in the current economic landscape.

I learned coding in school, too—at a coding bootcamp, at age 35. And one of my main reasons for deciding to quit a steady job to take a six-month deep dive into uncharted waters was to become armed with a skill set that would help guide me to broader career options in tech. This decision and subsequent completion of the program at Nashville Software School have already paid off. My current part-time positions are in software development, with hopes to eventually move toward UX strategy.

And, well, I started a business. What I didn’t expect that I would learn from learning to code were developing habits that have allowed me to galvanize skills and perspectives that I already had and then propel them into something useful, something better. Even if studying coding doesn’t lead everyone to pursue a career in software development, there are several lessons that can carry into life in general.

Get comfortable with being uncomfortable.

In going through a coding bootcamp, new concepts are thrown at you day after day, practically every day for the duration of the program.  One concept may build on the previous one, but it was often frustrating when a new lesson was introduced before I had a chance to figure out the one I was previously working on.  

The reality is that this is often how life is. If we keep looking for that perfect moment to take control, you may never find it. That sense of discomfort is most often a clear sign that you’re learning something new. And that’s a good thing.

You don’t really know it until you do it.

There’s really no other way to get better at coding than to write the code yourself. No matter how many tutorials you watch or Stack Overflow posts you discover with the so-called best solution, the supposed academic understanding of a concept really doesn’t count as understanding anything at all. By having to actually take action, it also means learning this next lesson.

Make Mistakes.

In choosing to learn code, you’re also choosing to make mistakes. And for many of us who have lived a lifetime trying to avoid those dreaded pitfalls of life, the idea of making mistakes to become better seems like a really bad idea. But those mistakes you make in code are not permanent by any means, and they’re also the only way to make progress toward the solution.

Versioning means there’s room to keep getting better.

Because the turnaround time on projects comes quick in a coding bootcamp, you learn to set priorities on what’s enough for the MVP (minimum viable product) of version 1.0, with expectations that the other features would be built in subsequent versions. For me, I’ve applied this sort of iterative method to working on my personal well-being. It’s OK to not be your desired self now. What really matters is that you are making incremental progress toward a bigger goal.

4 Startup Lessons I Learned at Coding Bootcamp