Non-technical vs Non-developer

The term “Technical” is often associated only with people who have knowledge of computers, especially of software. And that is, very largely, a misnomer.

A person I met at a recent event remarked that he is not technical because he studies Mechanical Engineering. He got interested to join the community after seeing his technical peers contributing code. He aspires to become technical like them.

My response was, “Dude! You are studying the core of engineering. That is as much technical as it can get. If you are talking about being a software developer, well, that is a different thing.”

That conversation was the inspiration behind one of the slides in my last talk, Firefox OS for everyone, which read:

Not everyone is a developer. Not everyone needs to be.

People are usually confused about what is technical and what is a software developer. According to many people I have talked to, a developer is considered to be a technical person. Others are usually regarded as non-technical.

But, that’s not valid. Let’s demystify.

Define: “Technical”

“Technical” is an adjective, which, by definition, means “relating to a particular subject, art, or craft, or its techniques.”

Anyone who has knowledge of a technique of solving a particular problem can be called technical. It can be applied to anyone, or anything, who understands and is capable of following a process.

The chefs at your favourite restaurant are extremely technical people. Your favourite guitarist is an extremely technical person. Your favourite author is a technical person. The chefs know the technique of cooking; the guitarist knows the technique of bringing out sounds from a guitar; the author knows the technique of storytelling.

But they may have nothing to do writing software. (Even though I happen to know a chef-turned-programmer).

Difference from “Developer”

The term “Developer” is also an acronym we usually use for a “computer software developer”. We need to be aware that it applies to anyone who develops something. It can be a real-estate builder, a business relationship manager or even to certain types of bees, ants and termites. They all develop. But only a small portion of these beings develop software for computers.

So, “software developer” is a subset of “developer”, which again is a subset of “technical”.

Hope that helps to understand some terms better. Maybe it will make you think twice when using these terms.