Monday, June 27, 2016

Why I decided to learn software development

I have worked in UNIX/Linux System Administration for over 20 years now. I have always loved writing shell scripts, and I have gotten pretty good at it. I dabbled a bit with Perl and Python, but in these later years the opportunity to write scripts has been lacking. So, my memory of Perl and Python syntax is hard to recall on demand. I spend more time looking things up and troubleshooting, than actually making progress on my script.
There are several reasons I decided to try may hand with a formalized software development program.
1. Many years ago, one of my mentors said that many SysAdmins are just frustrated programmers. That really resonated with me, and my love of scripting.
2. The landscape of System Administration is changing with DevOps becoming a more commonly heard buzzword. Most of my DevOps knowledge gaps are programming and web related.
3. As I get older I feel the need to expand my marketable skills set. It is already hard for older IT people to get tech jobs, because years of experience usually translates into a higher salary. Most companies do not want to put up the money for that, preferring to hire less experience professionals. Plus, most of my friends I started out with have either left the profession or are in management now. Not many of us want to stay in the hands-on tech roles.
4. I find it hard to consistently dedicate time to tasks that are not directly related to what I am working on at the present moment. Learning new things that do not immediately help my current work will get postponed, and eventually a lot of time passes before I get back to it. Then I usually have to start over. Taking a formal course, that cost me some money, keeps my focus on it better. I have also found some software to help manage tasks both as a todo list, but also in a kind of personal Kanban style. 5. Also, I have no idea if I write clean code now or not. I have never really had anyone critique my style or my logic, and I though some formal training might help with writing code that others could understand and follow.
The one thing I love about scripting/programming is the marriage of mathematical logic and creativity. My family things I am crazy when I tell them that math and code can be beautiful both in a visually pleasing way, but also beautiful in a logical sense as well.
I think that about sums up why I decided to dive into learning software development.