I wrote my first computer program in Junior High School on a TRS-80. It was about ten lines of code, in BASIC. We had cassette tapes that plugged into the machine so we could save our code. The TRS-80 was made by Tandy and sold through Radio Shack stores. I remember the classroom as having ten or so machines, lots of windows and it was fun. Two students shared one machine which was actually good so you could learn together. I think all of those things influenced how I became comfortable with programming, rather than intimidated, and found it fun. Even having windows in the classroom still sticks with me. If you walk through our offices today, you will notice lots of natural light and glass.
That was a simple class but it did a very big thing for me. It removed the intimidation of computers and even more it provided a peek behind the curtain of software. I learned that I could sit down with my own hands and my own brain and type out instructions that the computer would follow. How amazing!
It would be great if everyone could have had such a simple experience at a young age. It seems that people have diverged into two groups when it comes to technology; those who are and those who are not intimidated by it. For the folks who are not intimidated, they are free to dig a little deeper, to try some stuff on their own, to go further behind the curtain. For everyone else, they simply wait for the magic to pop out and dazzle them. I think it would be good for everyone to take a peek behind the curtain, to type out a little instruction to the computer and to feel that sense of empowerment. Person over machine.
People have all sorts of unique talents. I am not suggesting that everyone should become a software engineer or a hardware designer. My point is not really about career choices. My point is simply that all of these machines take their instruction from some person who sat down and typed it out. The hardware follows what the software tells it. The software comes from an individual's brain. Everyone can create a ten-line set of commands.
If you can create ten lines of instruction, you can create one hundred lines. If you can create one hundred lines, you can work with another person and connect your instructions to create two hundred lines. Get a few more people together, spend a year and you can create hundreds of thousands of lines of instructions. This is how software is created. This is how hardware then does what it does. It all starts with one person and ten lines of instructions, or code.
Maybe someone called it "code" because they wanted it to be mysterious. Maybe they wanted to keep "everyone" from doing it. What a shame. Software, or lines of text that instruct the hardware to do things, is such an amazing thing. Software can be so straightforward and simple, or it can be deeply intellectual and complex. In many ways, it is elegant and even beautiful at times.
Software can simplify mundane tasks and free people to be creative. Software can find errors that can save millions of dollars. Software can ensure consistency. It can be a game. It can entertain. It can connect.
Good software can do millions of transactions. With some intense focus, brilliant people and a breakthrough, good software can become great software. It can have a hundred-fold improvement in performance. You cannot spend a long weekend focused on your car and make it one hundred times more efficient. But you can with software.
My encouragement for you is two-fold. First, realize that you too can peek behind the curtain. You can pick up a beginner's book on software and within one hour actually write a simple program. When you do you will have seen behind the curtain. You will then realize what is happening with those apps on your phone, or that display in your car. It may even take your career down a more technical path.
Second, for those folks already in the software space, my encouragement is to fall in love with software all over again. It is a wonderful thing. Go back and look through some of your old books and remember why you got into technology. Or grab some fresh, new books on a new language and teach yourself something. Block off a couple hours and create something magical, something no one has ever seen, just because you can.
Technical curiosity. Whether you are a beginner or an expert, that curiosity can take you to places that you have never dreamed of.
P.S. Here is a simple program written for those old DOS computers. I think something like this is in every beginner programming book.
In this 'Hello World' program it will clear the screen, assign the phrase "Hello World!" to a variable, move the cursor to the center of the screen and then print the "Hello World!" variable to the screen.
phrase$ = "Hello World!"