Programming is good for you
Matthew Hardman
Hybrid Cloud | High Performance Applications | Data Ops | Strategy | Leadership
As a disclaimer right up front, I am a programmer, I don't do it full time anymore, I did, but now I work with an amazing team of technology specialists helping customers to advance their business infrastructure. That being said, I have always tried to keep my coding skills up to date with the latest and share that experience with others. This article is an attempt to share that with a greater community, so that if one more person picks up the skill, we have moved the ball forward.
One last thing before you start reading, there is a lot here about my personal journey, if you want to get to the crux of why "Programming is good for you...", jump on down to the paragraph titled "Why is code relevant to you?".
Diving In...
I didn't set out to be a software developer, at the age of 17 I was committed to the idea I was going to become a Marine Biologist on account of my love for scuba diving and living in the north eastern regions of Papua New Guinea with my family. After returning from a one year exchange program in Panama, I enrolled at Flinders University in South Australia in a Bachelor of Science degree, taking on the subjects of Biology, Introduction to Chemistry, Earth Sciences and Computer Science.
Ill be honest, it was tough and I wasn't really enjoying the pace of education at the time, and got a little bored identifying the difference between a sedimentary and igneous rock. Come the end of the year, I was at a mental impasse, I wasn't sure if this was something I wanted to pursue, I was getting frustrated. It was in one of those discussions with my parents, that my mother, looking at my results said to me, "Why don't you do more of this computer thing, you got pretty good results.". On that sage advice I responded, "I don't want to be a computer nerd mum..."
"I don't want to be a computer nerd mum..."
Time for Change
However reason overtook emotion and I left Uni to pursue a Diploma in Business Programming at a Specialist Training Institute. I enjoyed the nature of the education, being very self-paced and working with people who also shared a curiosity in that field. I learned Cobol, C++, Visual Basic and more, and developed a good understanding about what it meant to create structure to solve a problem. I actually really enjoyed COBOL for its distinct separation of components, it definitely wouldn't work in this day and age of agile development but at the time it was pretty cool, at least I thought so anyway.
I completed the course in less than a year and had a job a week later, working at Tyco Engineering. My first task to build a plant tracking system. My first reaction was, "Why in the world would someone want to track their plants? And why are they moving so much?"
"Why in the world would someone want to track their plants? And why are they moving so much?"
It turns out that plant was a collective term for all of their equipment, anything from a shovel to a bulldozer, apparently they can be misplaced. I took the task on with passion, trying to understand what the problem was, and quickly built out what solution needed to be. I am not sure if its still used today, but it was pretty cool.
Making code work
A short time later I was recruited to work for a systems integrator as part of a development team that was building enterprise systems. The team itself was led by a gentleman called Stephen Laheney (someone who is a dear friend today), who taught me that programming in practice was not about punching out a whole heap of text and instructions, but understanding the process of how the business works, and how a solution can streamline it, or reinvent it for the better. He taught me to break down the code in to reusable components, that could be used over and over again, and in his own way the elegance of the job we did.
Those were the days that I got a chance to hone my skills, to move from a code hacker, to something that could be considered a structural approach to a solution.
Why is code relevant to you?
At this point you are probably thinking, "OK, so you can write code, why is that relevant to my job?". That is a great question, so let me answer that with examples of people that I have worked with who may not consider themselves "coders" as such, but exhibit the same thought process to addressing challenges.
There are two people who I learnt an immeasurable amount from in my post software development career, Krzysztof Zielinski and Haresh Khoobchandani. They always encouraged the idea of building engines as you are solving problems. The solution for the problem you build today will always have components that can be used and shared for other problems in the future, and maybe not for you, but for someone else. When I was first introduced to it, I didn't quite connect this to my software background, but today, the connection is clear, everything we do can be built for reuse and scale, if we break it down and see the components.
This is what coding teaches you to do well, as I shared earlier, break down the problem, solve the challenges. Each success along the way can be rewarding and keep you going and enthusiastic about the bigger challenge, whatever that may be.
OK, I am ready to dabble
If you have made it this far, I assume you may be open to the idea that you should give programming a go, so where do you start. There are a number of different options, but here are some interesting starting points.
If you have read some of my earlier articles you know I am a big fan of Coursera. The content and courses there are created by professors from universities all over the world, and are constructed in such a way that they are easily consumable when you have time. They are also have a good support infrastructure for students to ask questions, and help you practice what you learn in assignments. All the training is free, but if you want the certification you can pay for the certificate at the end to showcase your efforts. Personally I have finished four courses with them learning Python, and am on to my final capstone project. Yes I did buy the certification, and it publishes nicely on your LinkedIn profile too!
edX: Introduction to Computer Science
(Image Credit: Business Insider https://static1.businessinsider.com/image/54140c9f6da8117727d5ac2d-1200-706/harvard-computer-science-cs50-lecture.jpg)
This one I haven't tried yet, but its on my list to do. I heard about this course at Harvard University and that it is one of the most popular courses on campus. The team there have made the course available online for free for anyone wanting to understand how to get in to the basics of code. Might be a great launching point for anyone wanting to get their feet wet!
In Closing
Thanks for sticking with me as I take you through my advocacy of programming as a skill for the future and how it can be applied to all sorts of jobs, maybe not so much the language you use, but the concepts. I wish you all the best, and if you have questions, don't hesitate to shout out!
Terraform | Infra-as-Code Expert
8 年The hello world example was exactly my first attempt to programming. :) I love programming as it solves the problems. Also, coding doesn't need to be very big and complex. Sometimes small tool that does the job will improve productivity and activate the human rewarding system. To an organization, coding skills serve as a "pool of gears" to grind big challenges, it has the chance to become great if designed and integrated well.