There’s something I’ve been observing recently about my job that’s really been puzzling me lately.
Maybe puzzling is a little bit too weak. More like disturbing.
I work as a software developer for a software as a service company. It’s basically their primary bread and butter source of revenue … we live and die by the success of our software, hardware and services ecosystem that we provide for our customer base.
We’re obviously a technology company and we have been since it’s inception at the dawn of the personal computer age. The original founders had the foresight to see that technology would soon envelop our society and they saw the financial opportunities such technology could bring with them.
In my day to day duties, I’m responsible for figuring out ways to use technology in ways to either save the company money, or think of new products or services that could help the company bring in new revenue streams.
That’s my value add as an employee. The company is paying me for the expertise and knowledge I’ve gained over the course of my software development career, so I can help bridge the technology gap between the company’s goals and their desired results.
So it stands to reason that a high technology company like ours, needs to constantly refresh its employee ranks with people in all aspects of information technology.
We need database administrators and architects whose expertise is figuring out the best and most efficient way to store our digital data.
We have network administrators whose expertise is making sure that all of our client and server computer systems in the cloud and on local area networks systems can communicate with each other at the fastest and most efficient speeds possible.
We have dev ops and system administrators who make sure that our software runs smoothly on our servers and who know how to spin up new hardware and servers, when the occasion arises.
We have internal and external customer support reps who service both our external customers, and internal customer reps who make sure all internal company employees have fully functional computer systems that allow them to their day to day jobs.
And finally, we have the software architects and developers whose job is to figure out how to design and create software systems, that enable the company to reach their financial goals.
As you can tell, it takes an army of highly technical folks to keep a software as service type company up and running.
Now of course, technology isn’t the only necessary ingredient for a successful technology company.
The other important half of the equation is the business side of the company. They’re comprised of the sales, marketing, and human resources divisions of the company.
Our sales and marketing departments concern themselves with keeping our existing customers happy and willing to stay with our products and services. They’re also responsible for finding new streams of revenue by finding new customers.
The human resources department is responsible for bringing in new employee talent to the company ranks.
And of course, there’s the C-level top executive management, including the CEO, President, Chief Technology Officer, Chief Operating Officer, and various other executive level officers whose job is to lay out the high level goals and strategies for the company as a whole.
There’s also the layer of management between the top C-level officers and the technology wing of our company. In the agile world, these people are referred to as “product owners”, and are responsible for managing high level project directives that come from the top, and interface with the IT department of the company to bring those projects to reality.
In the traditional waterfall style world of software development, they were referred to as “project managers”, but essentially they do the same thing.
These product owners and project managers are crucial to the success of a software project.
They must figure out how to define the goals of a project in a way that accurately reflect the business needs of the company.
Furthermore, they need to know how to work with rank and file software developers and architects.
It’s here where I’m finding a rather disturbing phenomenon.
Many of these project managers and product owners proudly profess they don’t have a technical bone in their body.
Let that sink in for a second.
They work for a company whose bread and butter product is high technology, and they know nothing about the technology that powers the product that helps to pay their salary.
I’m not exaggerating when I say I run into more than my share of these kinds of folks.
Of course, they’ll say something like this.
“Hey, that’s not my job to be technical. I tell you what I want, and you’re the one with the nerdy computer skills to make it happen. So hurry up, chop chop!”
If I had a nickel ….
So does what they say have any merit?
Let’s just imagine a new project comes down the pipe, and the product owner/project manager excitedly starts sketching down a project plan.
When the project plan is complete, they hurry over to the team of software developers to talk about this new exciting project.
(Product Owner) “Hey, I’ve got this exciting new project in the pipeline for you!”
(Software Developer) “Great! What’s it about?”
(Product Owner) “The CEO read about this exciting new article in Forbes magazine about this new fangled doohickey called MICROSERVICES. It’s supposed to make everything work 2000% more efficiently, so he told the Chief Technology Officer to make it happen. So the CTO had a big meeting with all the senior management to make it happen. And finally it came to my inbox, which is why I need to work with you. So um, make it happen.”
(Software Developer) “Well, why exactly do we need to change our entire architecture around microservices, how does it help the company?”
(Product Owner) “Hey now, I’m not the egghead here, you are. I just tell you what I want. I’m not technical!”
Ahh, the “I’m not technical” cop out. It’s the catch-all excuse behind anyone who refuses to learn even the high level basics behind technology.
It’s amazing to me just how prevalent this disdain for technology pervades so many software services companies.
There’s a reason why the Commandant (top level officer) of the United States Marine Corps isn’t someone they just picked off the street, or through some want ad on Craigslist.
Someone who works in a military organization better have lived and breathed the ideals and principles of military leadership, strategy, and many other core tenets a soldier must possess. There’s even a famous quote from a previous Marine commandant that “Every Marine, is FIRST and FOREMOST, a rifleman.”
What the quote is conveying is if you work in a particular profession, you better know how to use the tools and resources of your profession, blindfolded. In the case of a United States Marine soldier, your rifle is your primary tool that you mustbe be intimately familiar with, in order to be qualified as a Marine.
If you’re an employee who works at a company whose bread and butter is the use of technology, I don’t care if you don’t work specifically in an information technology department or not.
If you have no clue about how the technology works, how on earth can you expect to make informed day to day decisions that help the company reach its goals?
Yet I constantly run into this kind of “technical cop out” attitude outside of my own IT organization.
Do I expect everyone to know how every nuanced and nit-picky detail about how our company’s core software and hardware ecosystem work?
Of course not.
But how about just learning some basics? Like what’s a database? And what is it used for?
Or how does one computer communicate with another computer?
Or what a computer server does? And whats the difference between a client and server?
Or what is the purpose behind a software application? And how is it usually constructed?
People, this isn’t rocket science. Any of these questions can be answered at a very high and layman terms level with a simple Google search.
The more you know about the underlying technology your company uses, the more accurate you will get about scoping out project requirements, when you know what the limitations and capabilities are of the technology that needs to implement your project requirements.
Maybe the problem stems from the very top.
If you’re going to run a high technology company, it stands to reason the person at the top needs to be technically astute.
Bill Gates, cofounder of Microsoft, was a techno geek through and through. He actually designed and programmed Microsoft Basic, an implementation of the BASIC computer programming language. From the very earliest history of his company, he guided it in a way where the business goals closely coincided with the technological capabilities that were available to him at the time.
That could only happen with someone who has both business AND technical skills. In the early days of Microsoft’s company history, project managers came from the software developer ranks.
This made a lot of sense. Why? Because possessing the business and technical skills required for a project is much superior to possessing only one of those skills.
There’s a reason why Steve Jobs cofounded Apple with Steve Wozniak. Jobs and Wozniak both possessed technical skills, but Wozniak, was hands down, the one with the engineering skills necessary to actually build and design Apple’s first personal computer, the Apple I.
It was Steve Jobs and his superior showmanship and sales and marketing skills that helped to put Apple on the map and attract investors and customers to their first computer.
Facebook’s founder and CEO, Mark Zuckerberg, built and designed his Facebook application. The code might have been hacked in a hurry and it probably wasn’t the most elegant code in the universe. But Zuckerberg BUILT IT.
At the very top level of a company, you have an executive who knows how the product was originally built and designed.
That’s a HUGE strategic advantage over a technology CEO/Cofounder who doesn’t know how their core product or service works.
I hope companies start to realize just how important technology is to the success of their company.
The “I’m not technical” cop out just won’t cut it in today’s job market. Technology is here to stay and it won’t be going away. The person who refuses to acknowledge this runs the risk of having their very livelihood taken away at the hands of technology, unless they know how to take advantage of it to their benefit.
Whew, that felt better getting that off my chest.
“Hey Siri, go get me a cup of coffee…”
“I’m sorry, Dave, I can’t allow you to do that.”