What’s wrong with software development? What’s a QXARGMAFLBUMGRX?
Special Note: Recently, I was offered the privilege of speaking with the folks who created and host The Leadership in Tech podcast series. Thank you, Zac and Errol! You are working to improve an industry I care deeply about. Your insights will help not only people working in the industry, but also the customers of the tech industry who rely on the industry to deliver quality, innovative goods and services in a timely and cost-efficient fashion.
There’s this moment when you look at a job posting you would love to apply for, one which seems perfect for you, and you read, with dismay:
“Experience with QXARGMAFLBUMGRX is mandatory.”
Okay, I made up QXARGMAFLBUMGRX. But you know the feeling. We all do.
The truth is that new tools, languages, and methodologies are proliferating in a way which is far more explosive than what I saw during the height of the dot com boom.
Now, it’s not just good enough to know Python, but: Which version? Have you used this module? What is the rest of the stack you know?
It is like job posters are looking for a very precise key to fit their lock. Preparing yourself as a key, therefore, can be maddening.
There’s always the motto: Do what you love, and the opportunities will follow.
Well, I love software development. I just learned Go over a weekend enough to present at my local Go meetup on my experience learning Go and on machine learning in Go. Recently, I learned Kotlin and presented to a user group on test methodologies and frameworks using Kotlin. My after work projects involve solving Project Euler-stye problems and architecting, if not completing, DevOps tools — challenging myself to write them in languages I’m either learning or reviving my knowledge of, like Java or Python, in which I will present to user groups on the same. I can’t think of a role as a consultant I haven’t had to adapt for, learning a stack of tools and language-constructs quickly on the job, most recently Oracle GoldenGate and a home-grown data warehouse framework. If they had made knowledge of their home-grown data warehouse mandatory, they knew nobody outside the firm would be hired. The skills which are largely omitted or considered optional on the job application, even though they are critical: the ability to ask questions, to listen, to adapt, to learn.
And that still doesn’t get me past one sentence:
“Experience with QXARGMAFLBUMGRX is mandatory.”
Or: candidate must have this degree. Or: be a foreign national [yes, I’ve seen this]. Or: have graduated from an Ivy League school [encapsulating its own classist and offensive and thick-skulled, wrongheaded assumptions].
The point is the same: for whatever reason, the employer will not consider an otherwise qualified candidate who might be able to achieve better than someone who has QXARGMAFLBUMGRX experience already, or can convince them he or she does, or be from a particular background.
There are many reasons I can imagine that QXARGMAFLBUMGRX is considered mandatory on the job application: HR laziness; the hiring manager is a manager and not a leader; a shortage of time to interview candidates; a need to filter candidates so extremely that they can justify a H1B visa-holder; an overwhelming number of applicants.
But I’m going to focus on one reason I can imagine: the Myth that America Lacks Talent.
I’m ashamed to say I didn’t have any SQL experience in college, or even in my first job. Now, after about 20 years of SQL programming, I can’t imagine ever not knowing it.
When I applied for my second job, it was in the late nineties, and employers were having a difficult time finding software developers. I was a software developer. I didn’t know the Oracle database, Oracle ERP Applications, or SQL, and the job used all three. But I was a software developer, so they hired me. I believe it helped that I was obscenely inexpensive.
Had I been more costly, I wouldn’t have been able to prove the point in the next paragraph.
For a month, I asked questions, read printouts of code, read physical manuals, and wrote increasingly complicated queries. After a month, I was besting the senior developer on the team at SQL. A short time later, the company was asking why they were paying him so much more than me, as I also picked up Oracle Applications and PL/SQL. Note a few things here: I’m not a genius. Their senior developer was a mean person, someone who pitted engineer against engineer and made up lies to get people to dislike one another , and he was a knowledge hoarder who kept his senior position in part because of his being a lynchpin — so while I earned my slot in competition with him after only a short time, I would normally have sympathized with him, except that he was a dic — — horrible.
The focus is on this: someone with no knowledge of QXARGMAFLBUMGRX can come up to speed quickly. Don’t let the job applications or HR departments or hiring managers fool you. Everything from general relativity, to machine learning, can be taught and can be learned. We have Earth’s best and most comprehensive encyclopedia at our hands in the form of Dr. Google, PhD. I’ve been asked technical questions on interviews intended to see if I know elements of PL/SQL not used in projects I’ve worked on [connect by, for example], and those interview questions are terrible. As a software engineer, much less one with years of experience in SQL that are in the double-digits, I learned connect by after an ambush question on a technical interview in like 30 minutes. Then I have used it periodically [not consistently] since.
If topics as abstruse as machine learning and data science can be learned on the job, and I assert they can, programming languages, software engineering tools, and even QXARGMAFLBUMGRX can easily be learned quickly and efficiently on the job.
To cite the title of a show I don’t think I’ve ever watched: America’s got talent. [Please note: I think a brain is a brain, no matter where the brain lives or in what body it was born or where the brain grew up — this article is focusing for now on employment in America and on the folks around me in America I see who get rejected for jobs, including myself, we could master quickly.]
We just need to be willing to hire people based on their ability to learn, not on the buzzwords a resume-scanning program can filter for.
For reference, I was hired during my career for more than one assignment in which I sat idle, despite knowing the stack in and out as an accomplished and senior engineer, because of onboarding delays and confusions. During that same onboarding experience, I’ve seen junior developers use the same time to learn quickly so that they can be positive contributors in focused areas with me on the same team in the same stack. We need to give our people more credit and understand that unless we can onboard new employees in a day or two, the length of time we onboard engineers can be used by those same engineers to come up to speed on the stack. Even when we can onboard in a day or two, and why can’t we?, a month of learning on the job for a software engineer can teach them new languages, new tools, most of your stack, enough to maintain code, at least. Our people are adaptable, and we need to give them credit in the hiring process.
It’s not rocket science, folks.
Thanks for reading! When I see applause for a piece of mine, I want to write more pieces! Please applaud if you appreciate people writing about topics like this.
If you enjoyed this piece, you might consider reading some of the other stories I wrote for this series. Thanks!
Disclaimer: I am a senior software professional with experience as project lead, team lead, and lead engineer in the greater Boston area. I am actively seeking a job while currently fully employed. The world of software development can be an ugly place, and I hope to expose some of the more bewildering and uncomfortable corners in the hopes of improving the industry and the craft. Out of respect for current and former employers, I will keep the names of employers and/or clients scrubbed and anonymized as best as possible in these reports.