what computer programming can teach you about expertise

in Becoming an Expert

What Computer Programming Can Teach Us About Expertise

This is a guest post by Seth Leonard.

In 2003, I spent 6 months in Mexico, learning Spanish and doing a little travelling. I also continued some of my work as a web programmer, finding internet connections where I could. My teacher commented that the code I was writing might as well have been in Chinese.

I find this understanding of programming to be a common one. After all, they are called programming “languages.” Most people consider software code to be like a strange foreign land they’ve never visited, where the letters don’t make any sense and everyone moves way too fast.

I will spare you the details of why coding is more accessible than you might think. I don’t want to tell you what I’ve learned about programming. Instead I want to focus on what I’ve learned from programming.

In this post you’ll learn how to be more creative, take on new challenges, and deal with failures better if you start to think about life the way that a software developer thinks about code.

The best skill that a programmer has is…

How To Make A Concept Into A Reality

Every piece of code starts with the idea of a finished product. Whether it’s an iPhone app or a web tool, programmers start with a very specific image of what they want to create.

The act of programming, then, is actually manifesting that image.

It’s about finding the right pieces to turn an idea into something real. Too often in our lives, we are going through the motions. We are imitating what others are doing or are simply trying to keep up with what we think we’re supposed to be doing.

However, if we have a clear picture of where we’re headed and commit to getting there, we make sure that our steps are in line with our envisioned destination.

Programming has taught me how to focus my efforts. If I know where I’m going, I can figure out how to get there. That’s the case even though I…

Don’t Expect To Know Everything

Any time that I’ve written a program or app, I’ve had to seek help. I’ve asked a friend, posted a question to an internet forum, or done a google search to find out what functionality might achieve my desired result.

I expect that to be the case from the outset. Even though I’m clear on where I’m headed, I’m not necessarily sure how I’m going to get there when I first start.

But I start anyway.

I do what I know until I bump up against something I don’t know. Then I spend time learning how to do it, or I find an alternative way around the problem.

If I can’t, I drop that requirement or alter my vision of the finished product to accommodate what I’m actually capable of doing.

One thing that I’ve seen stop a lot of people from trying new things in their lives is that they are afraid to start. They’re afraid because they don’t think they know everything they’re supposed to know to in order to achieve their goals.

But you don’t need to know everything to start. You simply need to start and know that you can (and will) figure things out when you need to. That’s part of the process, and part of the fun.

Don’t take things too seriously, because even once you have gotten to the end of what you’re working on, you can…

Assume That It Won’t Work At First

There’s a fun moment when I’m done with the first draft of a program and I run it for the first time. Early on in my career when I finished coding, I eagerly awaited watching everything unfold as expected, culminating in a nice, clean conclusion and a job well done.

Now I do the opposite. I click a button and sit with curiosity as to what will go wrong.

One time a program I wrote started deleting every file it could find. Another got stuck in an infinite loop of printing out the same sentence over and over again (luckily it wasn’t “all work and no play…”).

One time everything even worked.

But that was the exception. I now assume I’ve made a mistake somewhere along the line. There are far too many variables to expect them all to behave exactly as expected. This is one of the lessons from programming that has been hardest for me to apply to my life.

The more work I put in to something, the more I expect it to be an immediate success. I’m ready to wash my hands of it and move on.

But that’s never the case. Something always needs to be corrected, something always needs to be tweaked.

In programming, “debugging” is the process of going back over things to find what’s causing problems. So often in our lives we are afraid to debug. If something doesn’t work, we want to throw the whole thing away, whether that’s a new process, habit, or plan.

But if we’re willing to go back and look at what we tried, we can usually find something we can adjust that will produce a different and better result. If we’re patient enough, we can create a pretty smooth operation.

Programming isn’t about simply laying out a perfect linear series of commands. It’s filled with guesses, bursts of inspiration, and a lot of debugging. That’s because…

Everything Is An Art

I want to go back to where I started this article: with the idea of a programming “language.” The reason I think this description does writing code a disservice is that we consider language, especially a foreign language, to be pretty rigid.

There’s only one way to ask “where is the library?” in Spanish. You need to learn the translation of every word in that sentence to be able to ask the question.

Programming is not a language. There are less rules than you think. Every coder has their own style. Everybody puts their own stamp on their creations. Everyone finds their own path to the results they seek.

Your life has fewer rules than you think. There is room for creativity in everything you do. There is room for your own unique approach.

Programming is an art. Life is an art.

image

More Doable Than You Might Think: Support Yourself Independently Doing What You Love on The Web

For a limited time, get access to over 100 hours of video training, plus The Web’s most active entrepreneurial community, for just $1.

Turning your skills and expertise into a way to support yourself is more doable than you might think.

There’s this big misconception about expertise, that you have to be one of the world’s top experts before you can earn a living from what you know.

But expertise isn’t an absolute. You might only be a 3, on a scale of 1 to 10, but there are plenty of 1’s and 2’s out there who would pay for your knowledge and experience, right now.

The key is to find a unique corner of your topic, to start building a tribe of people who trust you as their expert, not the expert, and to be resourceful about filling in the gaps by leveraging other experts when necessary.

This is why we built Fizzle, to teach you how to support yourself independently doing what you love on The Web. Fizzle is half training library, half supportive community, and it’s full of people like you who are building their thing online.

You’ll find big name courses in Fizzle, from well known and successful online business builders. We’re talking about courses like Book Yourself Solid (Michael Port), Start a Blog that Matters (Corbett Barr), and Connect With Anyone (Scott Dinsmore). And new courses are added every month.

And right now, you can get access to everything Fizzle offers, including the course library, the community, the live coaching sessions and the behind-the-scenes Founder Stories, all for just $1 for your first month.

Learn more and join Fizzle today for just $1 »


Since applying more and more from Fizzle, I’ve started making as much (sometimes more/month) from my online business as I do from my full-time job with a fraction of the weekly hours. It’s exhilarating. I owe you guys so much.
Preston Lee, graphicdesignblender.com


P.S. — we hope you’ll check Fizzle out, but we know it isn’t for everyone. We’re a little, um, different from your typical “business” training. Watch the video on the home page to see what I’m talking about. If it isn’t your style, no hard feelings :)