Life Lessons Learned As a Programmer

Any young adult can benefit from having some programming experience.

Jun Wu
Jun Wu
Sep 25, 2019 · 6 min read
Image for post
Image for post

When I was little, I wasn’t groomed by my parents to become a programmer. Rather, they wanted me to go to medical school. Because I was intensely extroverted, I ended up in business school as a compromise. I was majoring in marketing when I met a group of computer science students. After spending time with them, I decided to pick up a second major in Information Systems. At the time, I was working at the intersection of graphics, poetry, and photography through my extracurricular activities. Before I knew it, I started to program, learning HTML and CGI. This was the start of the internet boom. Everyone I knew wanted to make it big on Wallstreet. Programming was reserved for the “weird” and the “eclectic” friends of mine.

After I spent all-nighters going through programming books, I decided that this was the type of work I wanted to do for my career. I was lucky, I ended up in Corporate IT jobs on wall street. I worked there my whole career before I diverged.

When people ask me whether I will teach my son programming, I often tell them that I don’t know. It all depends on if my son has an interest in it. However, the truth is that I am teaching him “programming” concepts every day without even knowing it. Because that’s how my mind operates now. I didn’t realize it until I thought about the origin of my son’s skills that he’s picked up.

My son’s only a toddler. But, I imagine, even if I don’t try, by the time my son is a teenager, he will have learned some life lessons from me. A lot of these life lessons will come from my time as a programmer. Just like I picked up certain life lessons from my scientist parents, our identity, the skills we identify with every day, are imparted onto the next generation naturally whether we want them to or not.

If you have a child who is interested in programming, unleash their curiosity, let them dabble, create, and learn. Through the experience of programming, your child will learn many life lessons. It doesn’t matter if your child has an analytical mind or not.

The elegance of structure, order, and chaos.

In programming, there’s a sense of order. Everything has its place: variables, data structures, functions, etc.. At the start of a project, you can imagine all of your raw materials in a pile on the ground. Then, you pick up these pieces, through designing, building, and testing, you create a structure. The inherent logic is always structured in some way. The beauty is seeing that order among the initial chaos. Chaos is always at the start of the project. At each step, there’s a kind of chaos of the mind when your thoughts are coming together. But, once your thoughts come together and the order is elegant, you marvel at the beauty.

No matter what kind of background you come from: liberal arts, STEM, history, etc, when you program, it somehow ties together all the skills from your prior background.

Open-mindedness and reflection.

Programming is a process. In that process, there’s constant revision. One of the first things I learned while programming is that, “Your code is bad. It smells. It’s Spaghetti.”

When you’ve spent hours on your code and then some mentor comes along and tells you that, it’s discouraging. But, the truth is that it leads to creativity and learning. You go back, you read a book to do things better. You not only revise, but you reflect on what you did wrong. You reflect on all the wrong ways of doing things.

After a while, Your mind opens up just a bit the next time someone tells you that they have a better idea. Programming always brings up those “This is weird. It’s too simple. But, this is brilliant.” ideas. They are more than just Ah-ha moments.

Functional is just the beginning.

When I first started to program, I focused on functionality. I remember scrutinizing what functions my buttons called in the UI. But, all of that seems trivial now. As the functionalities are implemented, you start to see other tools that you can use to optimize the code.

As always, I start with function. Then, I move on to patterns, interactions, and optimizations. There are many choices to be made both in the beginning and during the process of programming. These choices are the interesting part of programming.

Persistence is a given. It’s not a destination.

People talk about persistence as something that you acquire. With practice, comes persistence. But, in truth, if you program long enough, it becomes a part of you.

You become a person who simply never quits.

After the first few years, I realized that persistence has become such a part of my life that I had to learn to not persist on things that don’t matter. Persistence is also not a destination. You don’t program to learn how to persist at tasks. Instead, the act of programming calls for persistence. If you want to get it done, you simply have to be persistent. There’s no negotiation.

The art of learning. The art of how to learn.

Before finding programming, I already loved learning many subjects. I was a science kid who was curious about science and loved the theories. But, I wasn’t a math kid. Through programming, I learned the pathways of learning. I have a formula for myself to learn many new skills. I have applied this formula successfully to learning about many skills.

The origins of creative thinking.

It’s not enough to think creatively. I have encountered many difficult hurdles in programming. Many times, I had ah-ha moments thinking about my problems while I went about my day-to-day activities. Quickly, you learn where inspiration, motivation, and creativity comes from in dealing with difficult problems.

The process of problem-solving.

Programming is inherently problem-solving. Sometimes, there isn’t one way to solve the problem. But, the process is important. You start with what you need to implement. You design your first draft of implementation. You implement. Then, you revise. Once you are done, you test.

After programming for a while, I start to see myself doing this with the problems I encounter in life.

The art of how to think.

Steve Jobs said that programming teaches you how to think. It’s very true. Programming is composed of asking questions, creating solutions, try and fail, and try again to reach a kind of orderly beauty in your implementations. The process and the questions that you ask along the way inform the way that you think about objects, storage, functions, and expressions.

It’s as if you’ve created a painting. The painting is a reflection of your thoughts. So, is the program.

To me, programming is the process of gaining invaluable life skills. When you step away from the functionality, the code bits, and look at your entire programming journey, you can see all the life lessons that you’ve learned. As a young adult, having learned programming early in my life helped me with the business skills I gained later. It also helped me navigate my personal life. In a sense, through programming, you discover parts of yourself that you apply to all aspects of life.

What are you waiting for?

About the Author

Jun Wu is a Content Writer for Technology, AI, Data Science, Psychology, and Parenting. She has a background in programming and statistics. On her spare time, she writes poetry and blogs on her website.

Subscribe to my weekly newsletter to stay connected

The Startup

Medium's largest active publication, followed by +752K people. Follow to join our community.

Medium is an open platform where 170 million readers come to find insightful and dynamic thinking. Here, expert and undiscovered voices alike dive into the heart of any topic and bring new ideas to the surface. Learn more

Follow the writers, publications, and topics that matter to you, and you’ll see them on your homepage and in your inbox. Explore

If you have a story to tell, knowledge to share, or a perspective to offer — welcome home. It’s easy and free to post your thinking on any topic. Write on Medium

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store