Programming Is So Difficult
By David Stenhouse, Data Mutz
I am learning Python and it is one of my hardest tasks attempted. This personal project is right up there with finally achieving a rope climb.
While it seems to just flow from the fingertips of many in technology fields, it is a constant battle for me. I know there exists others that share these same thoughts about learning how to code. If that is you, take solace that I am out there trying to figure out why the script that I know is right, will still not work. Writing Classes, Functions, and not forgetting to #Comment the code are all a part of each day. Run the script and hope it does what is intended. Oh, another error. Hours are now ahead of me seeking the missing puzzle piece.
Reading blogs and tweets of developers across the board can be intimidating because everyone seems to be at the party, and although I have been invited, I seem to have no directions on how to find it.
Python Right Now
This is not my first round of a goal to learn programming. It is the latest in a string of attempts, much like a climbing expedition set back multiple times by weather. My last round was in 2016, where I purchased a book on the Ruby language and started the climb with much energy. Work and other personal projects ended up moving into the apartment from where my new friend Ruby was rudely evicted.
Slowing work in 2020 has created a vacated portion of the 24-hour clock. Python to the rescue, as my research has shown learning this language should be the most efficient use of my time. I have some experience with the code and I need to just finish something. I am currently waking up each morning reading blogs and tweets of those learning and those who are well ahead on the road.
Pounding away at tasks is how I work. If I want to know how a “While Loop” functions, I must learn how to write one that executes correctly, then write another one, and then write another one, and another. Until I am tired of it. That is when I move onto the next item. I have found errors really do help me because they force me to repeat steps over and over, and over. This is the only true way that I learn. It just takes precious time and patience, both which are valuable commodities in my life.
While taking up sample projects I find on the Internet, I am also taking a formal course through a well-known university online. I am currently learning about the fundamentals, many which I already know. However, this course is filling in holes that I have skipped over on my journey and will eventually propel me forward to new scenery.
Great Advice
During my college sophomore year a friend of my family gave me advice that I have hung onto since— “Whatever you decide to do, learn something about computers. It’s the future.”
This was the late 1980s and my interest in technology was well underway. Playing video games and learning how to print sample graphics on my school’s TRS-80 desktop computers a few years prior cemented my interest. I cannot remember exactly what exactly I did around 1983 or so, but I do remember writing quite a few lines that started with “print” where blocks on the screen would fill with white. This ended up creating a picture of a ship. I was so proud of it, but it did absolutely nothing of use. That sums up quite a bit of my programming experience.
I had no idea how I was going to use computers, but I wanted them as a part of my daily employment world. That part has been achieved. Now onto version 2.0.
Why It is So Difficult
I am a terribly slow learner. I should say that several times in sequence for emphasis because I left college with a B.A. while shelving an unfinished Computer Science minor almost 30 years ago. Not only a terribly slow learner, but my learning style even confuses myself. I will pound away at something for hours, days, and yes sometimes years before I have a revelation. And the revelations will arrive at the untimeliest moments, but they do arrive. I have no idea why my learning process has been so difficult throughout my life, but it can be tiring and frustrating. The process of solving a problem is confusing with me consistently wanting to jump ahead to the answer. Leap backwards to grade school, with me asking my teacher, “Why do I need to show my work? I know the answer.”—but I did not understand how I arrived at the destination. That trait does not fit well with programming.
I recently read a Twitter post that asked programmers if reading language documentation is better than watching tutorials with many answering they preferred the documentation. That is not my experience, but my experience has not been a road to success. I view YouTube tutorials on programming, where I discover an eclectic group of individuals, teaching styles, languages, and personality traits. I have appreciated so many of these much younger people that have taken their time to put into video tidbits of what I am seeking. It is a complete bombardment of ideas that overwhelms me, but I pull out items I need as they fly off my screen.
Once I get it, I get it, and then I perfect it.
Most of my career has been surrounded by technology and I have excelled, but I trail behind others when it comes to the speed in learning. My winning solution is that I have been blessed with persistence. I may only move a few inches a day but add hundreds of those days up and I have covered a football field. While that does not sound efficient, it works, and I have found it to be my advantage.
Seattle recently replaced the ‘Viaduct’, a raised highway that funneled drivers on a route that bypassed downtown surface streets. This roadway was recently torn down, and a tunnel was dug underground using an enormous boring machine known as Big Bertha. The speed at which Bertha bored underneath the surface is a great analogy to my persistence in learning, including the 18-month stoppage where it required dismantlement for a repair. It started again and eventually finished. Late, but it did finish.
Where It Goes from Here
I am starting to understand it. Much more than I ever have. Writing this blog post is very similar to writing a Python script that defines and calls functions. The beginning of this post lays out a foundation of what is to be found below. Each section by itself may make a little sense, however they all need to work together to work correctly. If it all worked then you understand the whole package. I will eventually not only understand Python but will become proficient in its use.
Execute the script and hope for the best.
Quoted in Computerworld, Laptop Magazine, Businessweek, and numerous other print and online news outlets, David Stenhouse brings 20+ years of computer forensics experience working with law firms and corporate clients. He is currently President of DS Forensics, Inc..
A former Special Agent in the U. S. Secret Service and Trooper with the Washington State Patrol, he is now so blessed to spend each day running a business with his best friend—high school sweetheart and wife, Shay.
You can follow Data Mutz on Twitter @datamutz.