Monitor screen full of code
Photo by Florian Olivo on Unsplash

Why Learn to Program

Learning to program is a skill I think most people should learn, regardless of whether they want to make it their career.  Learning to program teaches you how to think logically and you will find many uses for your new skills.

It used to be that learning to program was a guaranteed path to a high paying job.  It isn’t as simple today, mostly due to outsourcing and software applications that hide the programming behind the scenes.  However it can still make a good career for many and most skills can be learned at little cost if you work hard.

How I Learned to Program

For most of my life I earned my living either as a programmer or managing programmers.  I was primarily self taught, learning BASIC first on a little Timex computer, and later on a Commodore 64.  I followed this with some part time college courses.

My first job with a software company I wasn’t even a programmer.  I was hired as an Analyst, where they wanted me more for my banking background.  Transferring over to the programming side of things I have over the years taken dozens of programming classes.  I still do to this day.  As a programmer you can never stop learning.  Things always change.

Programming Languages

There are literally hundreds of programming languages, with usually about a dozen popular at any one time.  A programming language is basically the shorthand that allows you to give instructions to a computer.

Some people learn one language and use it for their entire career.  Back in the 1960s the most popular business computer language was COBOL.  It has mostly been replaced by more modern languages but there are still giant business applications in use that still use COBOL.  The need for COBOL programmers has even driven some companies to bring older and long retired programmers back to work to keep the old applications running while the companies convert to something more modern.

The more common case is that a company will “adopt” a language and use it for most of their internal applications.  One of the things I learned as a programming manager when I hired programmers was that a good programmer could pick up whatever language was needed fairly quickly.  There were some exceptions for really complex applications but in general they did fine adapting to the new programming environment.

So, if forced, what languages would I suggest a brand new programmer learn?  (I don’t mean to create controversy here, some programmers are fiercely loyal to “their” language.)   I would say at this point in time first learn some HTML and CSS.  This is the starting point for web sites and applications and even though there are builders that hide the HTML and CSS there are times you just need to know some, even if you aren’t an expert.

Next I would go with Python or Javascript, or maybe both.  They are very powerful and popular so you can’t go wrong with either.

Finally I would learn one or more of the Javascript frameworks. As to which one they have a way of changing which is most popular.  However if you learn “how to learn” you can always learn another as the need arises.  Examples here would include Node.js, Vue.js, AngularJS, or React.

Other Things a Programmer Needs to Learn

Here is one area that is rapidly changing.  It used to be that the stereotype of the disheveled  programmer who seldom looked up from their screen and rarely talked to people was the norm.  Things have changed and this is one area I would really like to emphasize to a new programmer.

“Soft” skills are very important.  These days companies can go anywhere in the world and find good technical programmers, usually at lower cost.  The soft skills set really good programmers apart.  Yes they must have good technical skills, but they also must be able to communicate and sell their ideas both to technical and non technical folks.  And they need to get along with and eventually lead others.  The technical skills might get you a first job, but everything else keeps you working and growing.

So, what do I suggest?  Develop great people skills.  Learn about presenting ideas.  Learn to write well.  When taking courses mix your technical courses with maybe some business, writing, accounting, and even public speaking..

Tools to Learn

I should mention a couple tools that you will quickly encounter as a new programmer.  The first is the IDE, which stands for Integrated Development Environment., and the second is GitHub, which is a hosting and version control system.

There are dozens of IDEs out there and which one you use is personal preference unless the company you work for requires a particular one.  One of the most popular right now is VS Code (Visual Studio Code.)  It is free and available for Windows, Linux, and MacOS.

GitHub is a hosting, versioning, and collaboration platform.  A free version is available.  Many programmers use it to store examples of their work that they can share with potential employers.

How to Get Started

I firmly believe that anyone can learn to program, and that it is useful regardless of whether you want to program as a career.  There are just so many fun and useful projects you can enjoy.

As a career the big question is whether a college degree is needed.  My personal feeling is that if finances are not an issue college is usually a good thing.  However in most cases you don’t learn to be a programmer in college.  You do learn how to learn.  Much of what you learn in a college programming course will change by the time you graduate.  However college might be a way to learn some of those “other” skills I mentioned above.

With the Internet there are myriad ways to learn programming and many of them are free or low cost.  My personal favorite lately has been Udemy as I have found the better rated courses are of high quality.  And if you watch the sales you can find courses at a fraction of their full price.

So if you are interested in learning to program I would say just start.  You won’t regret it.