posted: October 8, 2022
tl;dr: A good living can be made by becoming an expert in the right software system...
There are many ways to make a decent living in the software profession. One of them, which I’ve not done personally, is to become a specialist in a single large, complex software system, and then work for large enterprises as a highly-paid, hourly consultant, typically through a top-tier consulting firm. I’ve known several people who have done this quite successfully, and I’ve worked alongside others. It has a lot to recommend itself as a career choice.
The key is to choose a complex software system that is or becomes widely adopted by the Information Technology (IT) departments of the Fortune 500, i.e. the largest, most resource-rich companies. IT departments typically lack sufficient in-house expertise and experience with a new software system. The IT people on staff are used to operating the old systems, not the new one. So executive management will typically engage an outside consulting firm to launch the new system, which is usually a huge project lasting a year or more. Then there is ongoing support, maintenance, training, new releases, and the implementation of additional functionality. This creates a multi-year need for the enterprise to utilize outside consultants.
To provide a good living for consultants, the software system should be large and complex, so that it is beyond the ability of anyone to master quickly. It’s especially good if the software system touches as many different business processes as possible. The more features and custom configuration it has, the better. The user interface should be non-intuitive and filled with different styles and paradigms developed at different points in time over many years. Quirks and strange behaviors that users struggle with are gold mines for consultants.
Here are some software systems that create opportunities for consultants:
SAP: This is the granddaddy of them all. SAP is an Enterprise Resource Planning (ERP) system that touches most areas of a business that manufactures (or obtains) and sells physical products. As SAP themselves say, “ERP software includes programs for all core business areas, such as procurement, production, materials management, sales, marketing, finance, and human resources.”
SAP is a German company, and a lot of the original software was written with German language and cultural preferences in the user interface, not all of which could be or was translated. While at Westell I used a circa 1990s version of SAP (I’m pretty sure it was SAP R/3) that had a client that ran on Windows PCs. It turned out that SAP had written their own windowing user interface on top of basic Windows operating system calls. The SAP windows used different colors and strange icons which were located in different positions than every other Windows program I had used previously. The menu commands were very different from the Windows guidelines followed by other programs. Occasionally messages would pop up with German text in them, especially if the user did something wrong. The system forced users to have to do things in certain ways. My fellow employees cursed it endlessly. All these problems created huge opportunities for knowledgeable SAP consultants.
I once worked in a startup company with someone who was able to counterbalance the risk of being in a fledgling company because of his wife’s job: she was a well-paid SAP consultant. She had been doing it for years, and had no shortage of clients or work. Because of her stable income, my coworker was able to take more risks in his career.
Salesforce and Salesforce Marketing Cloud: I am currently working quite a bit with the latter; more about this soon. The former, Salesforce, is a widely adopted Customer Relationship Management system that many enterprises, large and small, use to manage the sales and marketing processes. Furthermore, many other software vendors have built applications on top of Salesforce that target certain vertical industries. So if you know how to install, configure, and operate Salesforce and some of the other applications that utilize it, you have knowledge that is widely in demand now and for the foreseeable future.
AWS: I also work quite a bit with various AWS services, more on the application development side than the IT operations side. As the worldwide leader in cloud computing, AWS has the broadest range of services. I doubt any human could name them all, let alone be expert in all of them. Recognizing this, AWS offers a variety of different certification programs for different specialties within AWS. With the continued growth of AWS, there is plenty of work for consultants who can demonstrate expertise in various aspects of it.
“Be a specialist, not a generalist” is common advice in the software profession and elsewhere. Becoming a specialist in a single software system certainly puts that advice into practice. Although it can be financially remunerative, it’s not a path that I have ever pursued. I find too much pleasure in learning new systems and technologies: to me, they are like solving new puzzles. I am more of a generalist than a specialist in any one particular technology or software system. Fortunately, the world needs some generalists too.