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.
We're not in Kansas anymore... |
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?
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.
0 comments:
Post a Comment