If you work in the tech industry, you've probably heard somebody lament just how difficult it is to find "good" engineers these days.
Thanks to the booming internet economy and the fat wallets of companies like Google and Facebook, it's a good time to be a software engineer. There are more jobs than viable candidates, salaries and benefits are high as a result and the best engineers have no shortage of opportunities to work on interesting things.
The story is different for SMEs, however. Recruiting top engineers can be painful, if not seemingly impossible. There aren't enough of them, and fierce competition often puts smaller and less prominent companies, including young startups, at a disadvantage.
99 problems but an engineer might not be one
Why is demand for engineers and developers, job titles that are frequently used interchangeably, so high? The answer is obvious: from finance to advertising and everything in between, software basically runs the world and is, for a growing number of companies, the foundation on which a successful business is built.
Thanks to increasingly powerful, and increasingly cheap, computing resources, as well as an abundance of open source technologies, a small team of engineers can develop sophisticated applications in a relatively short period of time. Cloud providers like Amazon and Rackspace have commoditized infrastructure and made it possible for engineers to design and implement complex systems and architectures that previously would have required an army of sysadmins to build and manage.
All this has empowered software engineers, increased their capabilities and, not surprisingly, made them far more important to the businesses that employ them. So it's no surprise that companies are easily convinced that finding and recruiting the best engineers is a top priority.
But do companies really need engineers who can write code in multiple languages like Jimi Hendrix could play the guitar, manage an Amazon AWS architecture as adeptly as Mick Jagger can move on stage and pick up cutting-edge technologies as fast as Eminem can rap to a beat? The answer in most cases: probably not.
While software's role in the world has grown in importance, a trend will almost certainly continue, the reality is that most companies need CRUD applications -- software that creates, reads, updates and deletes data from a data store, typically a relational database. The vast majority of interactive websites and web applications fall into this category.
To be sure, hese types of applications are relied upon to perform important functions, but unless you're running a social network that has tens of millions of concurrent users, handling billions of transactions a day or analyzing of massive petabye-size sets of data, chances are you don't need the kind of rockstar engineers so many companies have been convinced they need to find to build a CRUD application that functions and functions well enough to be market-viable.
Instead, you need a competent web developer, or team of competent web developers. Individuals who can build applications that work, probably not at Facebook or Twitter-scale, but at the scale of the business you actually have today and will realistically have tomorrow. Individuals who may not be capable of solving Google-inspired interview puzzles, writing elegant code in five different languages, mastering MongoDB and Hadoop faster than you can figure out what they are, or filling up a GitHub account with brilliant late-night creations, but who have a decent enough development skill set and toolkit to solve the real problems that your business needs to address.
Some, particularly those in the startup world, will scoff at this. It's all about talent, they say, and you want as much of it as you can acquire. If your engineering team is a Volkswagen and not a Ferrari, you simply won't be able to stay ahead of the curve and compete.
But for the vast majority of businesses, that's just not true, and the inane focus on looking for the rockstar engineers that your company doesn't need, won't challenge and can't afford long-term has proven very detrimental to many businesses.
Look no further than the next frustrated hiring manager you run into who tells you she's having problems filling key development positions because it's "impossible" to find good engineers these days.