Software Engineers Aren’t Computer Whizzes

There is a misconception held by non-technical types about software engineers and other types of people who you might call “IT types” (this also applies to some degree to hobbyists, power users and tech nerds). It’s the notion that there is this thing called general technical efficacy or “the knack for technology” and that, e.g., programmers have the knack to a greater degree than anyone else.

This might sound like a preposterous strawman but I encounter the fallacy everywhere. You see it when someone goes to their programmer relative because they have a problem with their iPhone yet their own 13 year old daughter would probably fix the problem more quickly and without grumbling about walled gardens and DRM. You see it when someone asks a systems analyst about the best way to send a file or how to do something in Excel when someone in marketing will answer your question more quickly and in language they could understand.

The truth is software engineering (for example) is a different skill than using computer tools. Sure, being good at the latter helps with the former but it’s possible to be good at only one. It’s not hard to think of examples, like OEM system builders who either don’t know how to program or never had a need to progress beyond writing utility scripts. Think also of elderly programmers who are whizzes at optimization but can’t navigate their way around a smartphone.

Sure, someone may be an all-around expert on computers and all things computing just like someone can be an all-around expert on oceans, being both an expert surfer and deeply understanding the ecology of deep sea life. But all most computer professionals do when you ask them questions that aren’t in their core competency is do the same thing you can do – use deductive reasoning.