I recently saw a recruiting company ad claiming to provide the “top 3% of vetted senior-level developers”. Ignoring for the moment how to vet developers or whether they can be ranked on a linear scale in the first place, do you need top 3% talent? What even is top 3% developer talent?
Here’s one thing it isn’t: web developers. Not that someone employed to do web work cannot also be a top tier developer, but web development never requires advanced knowledge or techniques. Hell, you only need two data structures. It says something that PHP has an 80% market share. The nature of your specific website or service does not matter. The platform itself is inherently limiting. Hardware access and acceleration is extremely limited. Browsers are a very limiting platform. Network latency is everywhere. Limited end-user bandwidth constrains intensive operations. Javascript, despite recent advances, is still a very slow language compared to C++ in practical circumstances. Oh, and your website has to be able to run on a 10 year old bargain-basement eMachines pieces of junk still using a 1024×768 first gen 4:3 LCD monitor. An ATX motherboard is 9.6 inches wide; the United States is 170,000,000 inches wide. Local applications will always be faster and more advanced than web applications.
Sophisticated remote services are not “web” applications merely because they have a web front end. Developing a custom cloud photogrammetry backend requires top tier talent. Those developers are not web developers. They are application developers. Nothing “web” happens in the photo processing code. All of the sophisticated code lies on the backend servers. The user has no interaction with that code after submitting a job with certain parameters. You could replace the web connection with a flash drive-wielding intern without losing any capabilities.
Here’s another thing top-tier talent is not: mobile application developers. While phones don’t suffer from the severe communications restrictions that websites do, they are still weak little toys. High end phone hardware is equivalent to PC hardware from a decade ago. The Galaxy S8 comes with 4GB of slow-ass “LP”DDR4. CPUs keep shrinking but heat and power limitations are inescapable. A gaming rig can consume a thousand watts. A mediocre desktop scarfs down several hundred. A lean ultrabook still pulls 50 or 60 watts. The S8+ will manage 5 or 6 hours of processing (Netflix with “video enhancer”) on a 3500mAh battery. That works out to 2.7 watts. Draining the battery in an hour still only works out to 13.5 watts. Processing takes power, no way around it. What goes in must also come out. Phones, like Macs, lack the space for heatsinks large enough to support fast processors. (No, Macs’ aluminum cases are not thermally connected to processing elements. Even if they were it wouldn’t help because of comparatively low thermal conductivity over such a large, thin surface.)
Granted, a few mobile apps do require advanced programming skills. Coders working on mobile game engines and operating systems no doubt make the big bucks for good reason. Regular app developers are not among their ranks. Regular apps are functionally little more than websites. Nearly all games use a 3rd party engine. Sophisticated software like panorama stitching uses libraries developed on and for the workstations of old. Phones are never on the cutting edge of programming because they are never on the cutting edge of hardware.
So where does the top tier talent work? Game engine development, for one. Using an engine doesn’t require much skill at all. Heck, non-technical designers can and do build entire games using engine editor GUI’s. Building the engine in the first place is the complicated part. Commercial and industrial application development represents most of the top job positions. Companies like Autodesk, Adobe, IBM and Oracle. Quants can make a shit-ton of money telling Wall Street dude-bros which stocks to buy with other people’s money.
Last but not least are open source projects. FOSS has been systematically replacing commercial software all over the place. Open source libraries do the heavy lifting on more than a few proprietary applications. Do you license a commercial JPEG decoder? How about the compiler you use? The language runtime? The database? Every day it gets harder to avoid using open source packages in a commercial program. Linux already dominates the server market. Most of Apple’s operating system is cobbled together from open source Unix packages. Popular myth has it that open source projects are written by ad-hoc hordes of random developers charitably donating their efforts to humanity. Romantic, I suppose, in a nerdy non-romantic sort of way. It’s just not true. Go look up the commit histories on a major project. Google the primary contributors. You’ll find they are employed by companies large and small with a vested interest in the project. Even Microsoft funds open source development.
TL;DR: Managers, unless your application’s minimum system requirements preclude sub-$1000 laptops, you don’t need top tier developer talent. You wouldn’t even know what to do with it. Just hire normal dudes who seek simplicity and can ship working code.
Leave a Reply
You must be logged in to post a comment.