Skip to main content

Death of a Programmer


During the 18 years that I was an application development professional, I took great pride in being a part of the elite group of geeks that could write an application that was needed by the business or desired by the public.  After all, I had spent 4 years in college formalizing the previous 5 years where I was cobbled away in the corner of the library or computer lab writing applications on a TSR-Model I (4K of RAM!), learning how to be a practitioner of the black arts.

And so when I first started seeing process automation solutions like BMC Atrium Orchestrator and later CA Process Automation, I was aghast.  "How dare they!" I bellowed.  "They're taking away my own secret sauce that makes me stand out from the crowd!" I yelled.  Never mind that I left application development in 2005 - I just wanted to maintain my status as one of the computer programming elite.

Lately, I've been getting more intimately involved with CA Release Automation.  And while I'm still recovering from the apoplexy of having my status revoked even further, I will grudgingly admit that this solution is...well...rather neat.

For those of you who may not be familiar with CA Release Automation or, more generally speaking, application release automation, this solution addresses the challenges in deploying a complex application to multiple environments each of which have differences in their make up.  (This normally would require a unique deployment mechanism for each environment to account for the differences.)  The CA solution, specifically, allows an author to create a deployment process that is based on the application architecture and is agnostic to the target environment.  It is only when the process is executed that the solution discovers the target environment topology and maps the process to that environment automagically.

What makes this solution so fun to play with is in the way that it implements this "logical process" concept.  Providing a nice graphical interface, the author is allowed to string together actions that are to be executed.  These actions can be interfaces with the operating environment (e.g. start a website on IIS) or programmatic operations (e.g. manipulate a string).  Variables (called parameters), parallel execution, and conditional / branching logic are all supported.

In other words, this is a graphical way to write an application.  No prior programming experience is required.  Furthermore, a library of predefined actions for doing things like interacting with various, popular infrastructure components (some related to the application like the IIS example and some indirectly related like interacting with a source code repository or ITSM solution to check the status of a change order that was entered by the Help Desk).  This action library currently contains over 1,100 actions and is updated on a monthly basis.

I realize that no one is going to write a first person shooter or the next version of Flappy Bird using this technology - since this is a process authoring solution - but I can easily imagine this concept being taken further to allow fully graphical application development much like we were led to believe was on the horizon when LOGO was first released in 1967.

Popular posts from this blog

"Ni jiang yi yang de hua ma?"

Last week, I wrote about the necessity of having a clear message . Because this topic is so important I decided to follow-up with another entry on this general subject. This week we will approach it from another angle. (For the curious, the title says " Do you speak the same language? " in pinyin, which is a transliterated Mandarin Chinese.) Recently, a good friend of mine (who is Chinese, ironically) and I were playing pool. He had to bank the 8-ball in the pocket to win the game, and since it was an informal game and bank shots are my area of expertise, he asked me for advice. I told him, "you just need to strike the cue ball with medium speed so that it hits the 8-ball right in the middle." He didn't believe me so we marked the positions of the balls, and then he took his shot only to watch the 8-ball sail past the pocket. "A-ha!" he exclaimed. "I told you it wasn't that easy." But when we reset the positions and I made an attemp

It's Easier to Fail at DevOps than it is to Succeed

Slippery when wet Since the term DevOps was coined in Belgium back in 2009, it is impossible to avoid the term whether in discussions with colleagues or in professional trade magazines.  And during the years while this movement has gained momentum, many things have been written to describe what elements of a DevOps strategy are required for it to be successful. Yet in spite of this, there is an interesting data point worth noting: not many organizations feel there is a need for DevOps.  In a Gartner report entitled DevOps Adoption Survey Results (published in September 2015),  40%  of respondents said they had no plans to implement DevOps and 31% of respondents said they hadn't implemented it but planned to start in the 12 months after the survey was conducted. That left only 29% who had implemented DevOps in a pilot project or in production systems, which isn't a lot. "Maybe it's because there truly isn't a need for DevOps," you say.  While that

Is No/Low-Code the Key to IT Nirvana?

 Unless you've had your head in the sand for the past year or so, you've seen the phrases low-code  and no-code  bandied about quite frequently everywhere you look.  You've probably wondered if this is something new that's here to stay or just a "flash in the pan."  Although the terms have been in the fore of the IT trade publications recently, Low Code Development Platforms (LCDP) (and the corresponding No Code Development Platforms) have been in existence since 2011.  Their roots can be traced to the 90's with 4th generation programming languages and GUI-assisted programming paradigms, e.g. IBM VisualAge for Basic, which was discontinued in 1998. For those of you who aren't familiar with either, the premise is that these platforms allow someone to quickly build applications using a WYSIWYG interface and a "click and configure" paradigm to Isn't this the source code to Roblox? rapidly build full applications with little or no coding requ