Dev’s Perspective: Who Needs the “Architect”?
This is the fourth article of my Dev's Perspective series, exploring the IT career through my personal employment experience. The first article established the scope and bearing. The discussion is limited to enterprise software only - to answer the age-old question: what it takes to achieve financial independence by doing what you love (programming). The last article in the series explains your 2017 options to fight the slashed wages.
If, after everything I’ve told you about IT so far, a techie like you still wants to be a good corporate boy/girl, pleasing your bosses and serving the System, your only remaining option to maintain a mid to upper middle class income is to “grow” into a semi-managerial “architect”. Make no mistake. This not an engineering job. Pre-sales or post-sales, the so-called “architecture” is a client-pleasing sales activity, period.
I want my business partner Jason to master the art of boardroom architecture presentations. As for you, I’d rather have you working with me developing the next gen enterprise software Jason sells the sh-t out of. That’s in a nutshell my current success formula.
It doesn’t matter if you or I want to change the world for the better. It doesn’t matter if others make billions selling crap: meaningless consulting man-hours or AI vaporware. It doesn’t matter if VCs “foolishly” invest in the latter (no one “invests” his/her own money). Without “connections”, mortals like you and I need to do a lot of kiss-a$$ “networking” to get into the rich fraudsters club. I equally respect all tech-related activities: marketing, sales, and engineering, but born w/o a silver spoon in our mouths, we have no choice, but to offer our customers something real: the products and services they need and will pay for.
No pre-sales architects are needed to sell good working software. Google and other top-tier tech companies have none. The so called “architects” are “bodies” like bodyshop-supplied code monkeys churning out DAOs and DTOs.
It doesn’t matter how corporate and government theorists e.g. the authors of TOGAF justify the existence of solution, data, application, and infrastructure architects. Sure, software architects are paid slightly more, than developers: around $200K currently. They are replaceable like offshore coders. Anyone can google trendy abbreviations and diagonally read the general definitions to impress non-technical C-level “stakeholders”, who are surely not going to dive deep into the technical mumbo-jumbo.
BTW, what more dignified “enterprise architects” do? Here’s a few gems from, I am not kidding you, EA job descriptions I received from recruiters:
- Translating business vision and strategy into effective organization change.
- Creation and socialization of governing principles, standards & architectural strategies to guide the organization to strategically-aligned project-level architectural decisions.
- Maximizing benefit to the enterprise.
- Advocating IT strategies and promoting the EA process, outcomes and results to the organization.
- Communicating the achievement and impact of EA.
- Communicating the enterprise business vision to the development community and aligning the development process, choice of technologies, and methodologies with the enterprise technology and business vision.
- Accounting for all unique IT aspects of the enterprise working within existing culture, technology alliances, skillsets and capabilities, time and budget constraints.
Can you make any of those Dilbert buzzword generator worthy statements at an interview with a straight face? “I spearheaded translating business vision and strategy into effective organization change?” How would the hiring manager measure your expertise and achievements in “socialization of governing principles, standards & architectural strategies”?
How one makes any sense of it? No one does. Those cushy jobs are filled by relatives, friends, and other “connections”. Even if you read the whole TOGAF spec, that supposedly deciphers those things, it’s just hundreds of pages of reworded definitions of basic business concepts like gap analysis. So… hire me because I excel at understanding and explaining book definitions?
I am yet to see a single enterprise architect hired for what he/she knows, let alone delivers. Some data, application, and infrastructure ones are promoted from the DBAs, developers, and sysadmins respectively after their old jobs are outsourced - to keep the same salary by moving into a formally different salary bracket, since the old one pays lower. The same goes for ridiculous VP titles in the financial industry.
But when it comes to the highest paid architects: solution and “enterprise” (whatever it means) ones, I am yet to see a single one with a CS education. Essentially, after IT “averted” the Y2K and stopped the technical progress I explained here, it’s all about man-hours and the two essential “resources”: bodyshop-supplied programmers writing unneeded and not working boilerplate code, and a few Dilbert buzzword generator quoting “architects” pretending to “govern” those medieval armies of code monkeys. The project is killed anyway - contributing to the worsening 90+% failure rate. Corporate IT departments have become kickback-ridden tax-hedging money sinks.
Want to take your chances in that wasteful commotion? Be my guest. Enterprise software developers are underpaid and abused today, by at least they have a faint chance of being hired where needed. No one needs architects. They are just thrown a bone during economic booms and disposed of during the recessions. Not to mention periodically canned with their clueless CIO buddies, who waste hundreds of millions. The CIO who hired you due to a personal connection has a golden parachute. Would you be given one?
I used to change jobs every second year during my IT contractor tenure. I’ve done 15+ multi-million projects. I’ve met plenty of people wearing the “architect” title. Let me give you two examples.
I worked as a (promoted from a developer) application architect in 1998. The project went great - one of the rare corporate IT successes I’ve witnessed in my career, plagued by the 90% failure rate. It’s been 19 years, but I still remember what other architects (promoted developers like myself) did. I remember the UI guy who used state of the art JS and Ajax years before that term was coined. I remember the database guy’s optimizations. I remember the infrastructure guy and his server room. I remember my C++ tricks.
There was a guy above all of us - an enterprise or solution architect. I saw him daily at different meetings, but I don’t remember his exact title, which should tell you about his impact on the project. I remember how he looked and talked. I remember the parties he hosted to “network” (another red flag - mingling w/o a clear purpose). He was smart. He was friendly. But no matter how hard I try, I cannot recall what he did. He just made remarks like “looking from the 35 thousand feet” at those meetings. Pleasant, smiling, charismatic. I thought that “35K feet” was a joke - said to technical experts. Unfortunately it wasn’t. He made a living by acting friendly and doling out generic book definitions.
It doesn’t matter how technical those definitions are. I knew another architect, more on the application side, who did have a programming background. Having quickly realized he wouldn’t survive as a developer in the outsourced IT, he moved up by putting more and more technical abbreviations on his resume - the art I stupidly perfected for years before quitting the rat race.
Sure, one can learn a rare or hard technology like Spark/Kafka, and even impress the client’s CIO with a customized tutorial demo. But who is going to implement the system: with the real database and real UI full of hide/show, enable/disable, conditional navigation and other business rules? Surely less impressive than the back end data flow dynamics, at the end of the day that’s what the user sees.
He told me, that programming was trivial (compared to the “architecture”). Obviously he meant throwing those (very vague) development tasks over the wall to whatever code monkeys his client had. When I pressed him for a precise engineer’s description how he’d implement the system, he dismissed it with “a couple of Angular screens”. That’s a typical POC, not the 100+ UI screens/reports enterprise application scope. What can I say? He never had plans to develop the production Kafka backbone either; just demo some POC and move on to the next “consulting” gig.
So ultimately it was still up to the developers to master Spark and Kafka to actually implement the solution. Who needs the advising architect then? A senior developer is more than capable of doing that research e.g. within a week; then spending the remaining time to develop the thing. If I ever need a server infrastructure diagram for an important client, it’ll take me 30 minutes to draw or two seconds to generate - before going back to programming and other way more important tasks.
I’m not going to speak for constantly churned over junior “bodies”. Nor for mediocre pigeonholed “mid-level” developers. So far I’ve seen this approach only work to keep the mainframe era crap (barely) alive: hiring 10x narrow specialists tasked with something simple rather than one developer doing 10x less work due to writing 10x less boilerplate code.
Call them 10x devs or something else, I consider it a norm. Yes, they are rare, but not many are needed - true generalists capable of bearing a project or founding a company. They are already architects.
Why would you abandon your expert knowledge and skills because you superiors don’t understand engineers, so you need to level with them via transitioning to some allegedly higher semi-technical “architect” role or moving “up” to the completely non-technical management? When you get a (hopefully company-sponsored) MBA and become a manager, you are joining the unpredictable kiss-a$$ statistics, MBAs are so big on. You can be fired by looking at someone the wrong way.
Your job can no longer be measured and in 99% cases is not important. It doesn’t matter what kind of commodity you are: the code monkey or “architectural” one. You are still overpaid for not helping real customers. You are disposable.
Why not abandon your superiors instead? People w/o engineering talent have no choice, but to compete for those BS jobs and make their career through statistics. While you can actually use your brain.
A couple of years ago, while still discovering the “startup scene”, I asked one expert why there were no incubators focused on developers; only for people with ideas looking for developers. I don’t remember who it was: one of my LinkedIn contacts or favorite Quora authors. He was confused by my question. Developers don’t need incubators. They go and develop the product - to find out if they were right about the market. Then, if they have the founder-level stamina, they arrive at the winning formula through pivoting. Either way if you can develop a startup-worthy product on your own, you will found that startup. You don’t need to be part of any scene or semi-technical (architectural, managerial, etc.) commotion. You are already 100% technical.
We are used to grading since the elementary school - expecting a reward for good grades. You can only expect career growth for learning something at the junior level, because it is essentially your task - to learn the trade. I hate motivational speeches, but once you become senior (able to work w/o supervision), you’ll only be truly rewarded for delivering something real to your customers. Not for brandishing your academic excellence or pleasing your bosses with neat architecture diagrams.
If you like formal learning or lecturing, it’s an academic career. As much, as I respect Booch, Fowler, and other industry experts, they are not practitioners. Johnson is. He wrote his damn framework first, before he wrote a book on it. By all means, if you have experience or wisdom to share, write a book like they did. Or found a startup. Both are very respectable occupations.
Just don’t rot in IT dreading recessions and layoffs. Don’t comfort yourself with your important “non-outsourceable” architect title. And the "American dream" is slipping away regardless. Nothing you can do about it, working for the man. Mored details in my next article: Dev’s Perspective: the Myth About American Salaries. Or skip to the last article in the series explaining your 2017 options to make the money you deserve, as an expert software engineer.
You cam also read my broader take on meritocracy in IT in my Medium blog.