Sep 12, 2011

Developmentally Delayed

I have been sinking my teeth into more dev work and less admin work of late. I really can’t believe I never ventured into development before. I had put my toe in the water a few times, but now I am getting really close the considering myself a “developer”. I am actually kind of embarrassed that it took me this long to get into it. Kind of like that time I put off hanging up a bird house for two months, only to find that what I thought would be a “project” ended up taking less than five minutes.

But with regard to my stunted professional growth, I think it’s because I’ve been working in the systems administration world for so long (coming up on 20 years). As a result I have become, well, as great man once said, “exceedingly proficient at it”. It’s easy and it’s comfortable. That, plus the fact that I am not really a “trying new things” kind of person, seems to have been keeping me from really reaching out for something more challenging. Sadly, that’s kind of a recurring theme for me...but I digress. But that’s not me now. Whenever I see an opportunity now, I charge it like a bull. Mike the Bull, that's me now. I have friends who live and die by the actuarial tables and I say ‘hey, it's all one big crap shoot anyhoo’. Am I right, or am I right, or am I right? Say, have you ever heard of single premium life? Because I think that really might be the ticket for you....

Sorry. They’ve been playing Groundhog Day a lot on Starz and I think I’ve sat through it too many times. Now, where was I? Oh yeah...

PowerShell
It's greater than underscore...apparently.
The language I am using now is one based upon the Windows .NET framework, namely PowerShell. It’s object-based and easier for newbies like me to get into. Plus, since it’s native to Windows, any tools created with it can be used in many different places. The last application I completed was a small utility that can be used to query against Active Directory (AD). This wasn’t as straightforward as I thought it would be. Initially all management wanted me to do was create a tool to list all the AD users within a particular Organizational Unit (OU) that did not have a roaming profile. No problem, I thought. Heck, I could that with a simple batch file. But then the so-called ‘feature creep’ began. They also wanted a way to limit results. Oh, and can you make it so we can see users’ home directories too? Sure, I guess so... But the on feature that finally pushed this from ‘simple batch file’ to ‘PowerShell application’ was when they asked for the whole thing to have an graphic user interface (GUI). That meant they wanted something that a non-technical user could use with little to no training (i.e. a .NET application). A workmate, who has been coding for years (in various languages -- including PowerShell), had been pushing me to start working with PowerShell for quite some time. He promised to mentor me if I would venture into this, heretofore unexplored, territory. He introduced me to helpful coding tools like PowerGUI Script Editor and various custom cmdlets (pronouced “command-lettes”) freely available from Quest. This seemed like a good opportunity to take him up on his offer, so I opened up a script editor and went to work. That was back in March.

Just last month (August) I finally finished my first application! I took my time (obviously), but now it works perfectly. It can do all the stuff management asked for and I was even able to engineer some decent error handling. It’s very simple but I really like seeing my coworkers using a tool that I made to fit their specific purpose.

Now I am well into making my next application. It will be a made to ‘hook into’ our Adobe Connect server. The Connect environment has an API designed specifically so developers (like me...squeee!) can leverage information better than the built-in Connect GUI offers. So far I have it working pretty well, but only from the command line. There is no GUI or error handling yet. While it is still taking longer than it would for a seasoned developer, I am finding I am making progress much faster this time. When I get the app done, maybe I will post the code here so my Mom all my readers can see it.

No comments: