Becoming a programmer

To become a programmer, one simply needs to program.

Now the question becomes what do you want to program? That of course depends on what you want to program and why.

What We Program

The end result of our work is a program that does something for someone. We can build tools and apps for ourselves, scripts and patches for getting things done or making them work, or applications for people to use.

Some jobs take only a few minutes, like applying security updates or changing some text. Others are occupations that can consume a lifetime.

At the highest level, computer scientists work on the hardware and logic that makes our field possible. There are corporations that produce the chips, manage networks, and critical software that has allowed the internet to become what it is today. Programmers are the ones who actually implement new ideas and make it work for the people who use it.

Computing is about calculation, and ultimately about making decisions. Computers have working memory and storage beyond our brain's capacity. They can crunch numbers, render visualizations, and make music. They can network with other computers, and run on your desk, in your pocket, or a giant warehouse we call the cloud.

Corporate data is used for financial and strategy decisions. Real estate apps help you decide which house to buy.

Why We Program

There are days when I don't want to code. I feel tired, uninspired, unmotivated. On those days, I keep going because it pays the bills. Being a programmer is a very good job to have these days. We are rewarded well, often have great coworkers, and work on interesting problems. Entry level jobs will pay the bills, seasoned developers are highly paid, and experts have no limits if they start a business.

If you want to code for money, look for the highest paying gigs and learn about what they do. Those roles are often highly demanding of your time and attention, and most developers are unwilling or unable to operate at that level without burning out. However, if you want to go for it, it's a great way to learn very quickly and after a few years you will have the means and experience to take your career in any direction.

Some people code for fun or self expression. Learning Javascript is like solving puzzles, and making progress feels great. Sharing work with other enthusiasts and seeing what they come up with is exciting. It's an exploration of our curiosity and capabilities. Making games or live coded art is great entertainment.

I learned to program because I wanted to practice UX and IA. I started building a website for my student org and wanted to understand how to create an aesthetic design and apply it to a well structured site. I used Drupal, which let me assemble pages and menus quickly, and gave me a place to code the css. This site never launched, but was critical in my career because now I was comfortable with the basics and could look for someone to build a site for. Drupal let me be productive with little experience, so I found opportunities that let me learn as I go.

Today I am more motivated to code my own ideas than for work. From doing work, I have seen needs for better tooling and potential improvements to the way we do things. When coding for pay, we are expected to not spend time working on tangentially related things. Patching a bug in a module so that you can use it? Use the client's dollar. Patching a bug you encountered that is interesting to work on, but doesn't help the project?

Level
Topics