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

Finding Clarity in the Chaos of a Job Search

Job searches are humbling. They test your confidence, your patience, and your ability to stay motivated when things don’t move as quickly as you’d like. But they also teach you things about yourself that you might not have learned any other way. For me, the past few months have been a crash course in rediscovering what really matters: not just in a résumé, but in relationships, self-perception, and how we use technology to help tell our stories. Here are three lessons that stood out. Reach Out to Your Network (Long Before You Need It) Your network is a living thing. It requires upkeep, time, and attention, just like a flower garden. You can’t ignore it for years and expect it to bloom the moment you need it. Start planting early. Stay in touch with people whose paths you’ve crossed - colleagues, mentors, partners, even those you only worked with briefly. Drop a note once in a while. Comment on their posts. Share something that made you think of them. These small gestures are the sunl...

Time to Level Up!

With the recent news out of Salesforce and Oracle, it’s easy to understand why folks affected by layoffs might feel discouraged. Not only are they leaving companies they may have called home for years, but they’re also facing the daunting prospect of job hunting while headlines scream about “AI taking over human jobs.” Not long ago, another company I follow - let’s call it Acme  - went through a similar round of layoffs. Two employees in particular (we’ll call them Jim and John) showed how mindset can make all the difference. Jim had been at Acme for over 20 years. He was reliable, steady, and well-liked, but not exactly the standout type. When he was laid off, he decided to take some time off before even thinking about his next move. After all, he had a severance package. Didn’t he deserve a break after two decades of hard work? John’s story was different. Though he hadn’t been at Acme as long, he’d built a strong reputation and had both technical and leadership skills. Instead of...

So What is this IPaaS Stuff, Anyway?

 In my last post , I discussed how no-code/low-code platforms fulfill rapid development of business applications - addressing the needs of the Citizen Developer (a Gartner term  first used around 2009).  I also commented on how this specific objective limits their ability to provide true integration capabilities, which require the flexibility to adapt to the myriad variations of infrastructure.  This is a concern because companies often have acquired legacy systems via M&A activity while simultaneously investing in new technology solutions, resulting in a mishmash of systems with multiple ways of accessing them. In this post, I'd like to examine how the needs of the latter group are met by describing some key capabilities that are "must-haves" for any company looking to execute on a digital transformation strategy.  In order to do this, let's define who the target user base is for such a technology platform. Disclaimer:   I work for MuleSoft (a division...