Why It Pays to Learn How to Program

   Expanding on Ryan's article about what is programming, I want to give you some reasons on why you should learn some programming.  A bit of my background in programming is I have a Master's in Computer Science, and that degree is all about programming.  The reason I got into programming is the reason why most do, to develop video games.  Ever since I first played the Atari, I wanted to get into game development and programming became my goal.

   The thing about life is that rarely do things turn out the way we expect or hope.  While I got both my Bachelor's and Master's in five years, before I even finished the graduate program, I realized programming wasn't a job for me.  I highly enjoyed all the programming courses I took, because for me, programming is a puzzle.  It was fun to tackle challenges and trying to figure out a way to solve those puzzles, getting the program to do what I wanted to do.  But, I realized that I didn't want to work 8+ hours a day doing that, I knew I'd eventually get burned out.  So I became an IT pro.

programming-goblinbyte.jpg
We're not in Kansas anymore...
   While I haven't directly used my programming skills in what I do (except for the occasional scripting), I still use many of the soft skills I developed in programming to solve problems.  When learning to program, I had to start thinking like a computer, which involves changing how I think logically.  To do so, I had to figure out how to break a task down into byte-sized (byte sized, get it?) chunks that functions could handle.  Then get those functions to talk to each other so they can complete the larger task at hand.  It also made me think about proper resource usage, error handling and how to write code that is easy to understand.  You may laugh at that last part, but anyone who has done any decent coding knows that a lot of programmers out there are terrible at spacing, commenting and just purposing writing their code in a confusing manner.

   There is also the personal element.  Coding isn't just about giving the computer directions, it's also about handling unexpected results and recovering from failure.  How many of you who have programmed couldn't compile because of a misplaced semi-colon or other character?  How frustrating is that, to search for hours to find why the changes won't compile, for someone to walk by and point it out within five seconds?  That is the worst feeling, I swear!

   There is also the human factor, of working with others in a team.  How do you get everyone to use the same style and develop sections of a program without borking someone else's work?  It's much more difficult than you think when everyone just wants to stare at their computer and code, they just want to get their work done and expect everyone else to follow their lead!  Who would have thought that someone who just stares at a computer and writing hacker code is bad at dealing with people?

C++-goblinbyte.jpg
This is the first language I learned.

   What about project management?  Programming can also teach that.  It took a lot of experience before I could accurately estimate how long it would take to develop a section of a program, provide that estimate and then deliver it to a client (my professors in college).  After being burned a few times, I learned to add some padding to my timelines and shoot for basic functionality, and then if I had time, add more pizzazz before handing it in.  Just like that saying under-promise and over-deliver.  These are all lessons I learned while coding.

   The last lesson, and probably the most important one I learned is self-confidence.  As I grew into a mature programmer and developing high-level programs, I gained a lot of self-confidence when I realized what I was able to accomplish and getting the computer to do exactly what I needed it to do.  Writing a well polished program is like rebuilding a classic car, seeing what you can do with your own two hands and brain is such a wonderful experience.

   Learning to program today is like how people learned to work with electronics in the 80's and 90's.  It's a mastery skill of the technology of the time and those that learn it are steps ahead of everyone else.  How many of you in the older generation learned to tinker with electronics, and how did that help you in your careers?  Even if you didn't professional do electronics work, those skills carried over into other aspects of your life, programming is the same today.  Kids especially should learn how to code because with our future, it's necessary we have a skilled workforce who can develop new software for the new hardware that's being developed.  If we don't have the software, then what's the point of all this new hardware we're getting?

And as always, stay safe goblins.
SHARE

About Jimmy R. Tassin

Jimmy Tassin is the IT Manager of Midwest Regional Bank and has been involved with the Technology field for over thirteen years. His two hobbies are overseeing the daily operations of OmniKraft, a Minecraft server community, and writing at Goblinbyte.com.
    Blogger Comment
    Facebook Comment

0 comments:

Post a Comment