In Italy, a lot of people keep thinking that programmers are computer technicians.

A programmer does completely different things, and in a company, I'm not the guy who should assemble your computer or change pieces of it.

Sometimes I felt it like a minimization of my job and felt a bit offended.

The company I work for has many specific-technical staff, programmers, systemists, etc..

How can I explain to people that a programmer isn't a computer technician?

  • 6
    No, it can look rude and i would like to find a way to explain it without looking aggressive Commented Sep 15, 2017 at 14:18
  • 22
    Do you mean explain to customer (1:1 or phone) or explain to family / friend / social meeting ?
    – OldPadawan
    Commented Sep 15, 2017 at 14:27
  • Well it happened to me with customers, on job and with people met around too Commented Sep 15, 2017 at 14:31

13 Answers 13


The only way this is rude is your belief that a programmer is better than a tech [you mention it feels like a minimization of your job when people think you're a tech.] I don't mean you're rude to believe that , but if you do believe that, then correcting people, "I'm not that lesser thing, I'm this superior thing" can feel rude.

Solution: speak as though the tech is equal or even superior to you. "Oh no, I tell computers what to do [or how to do something complicated], but when they're broken I'm useless. You need a tech for that." Or "Heck, I don't put my own computers together! I rely on trained professionals for that." Don't focus on job titles, focus on what you do, and what the person they need does.

People think I can make their printer work or deal with connectivity problems all the time. And to a certain extent I can (and so can you) because we learn some of this stuff in self defense, since we can't be without our technology. But we're probably only a tiny bit better at it than the people who think we can help. Embrace that and share that you are actually really good at an entirely different thing, and when it comes to getting that printer to behave, you and the person you're talking to are on the same footing.

  • 3
    I would like to specify that I don't think that I'm superior, I just feel like they understimate me, but maybe it's a personal problem ^^ Commented Sep 15, 2017 at 14:58
  • 19
    I am not saying it's a problem. But if I say "I'm an X, people underestimate me and think I'm a Y" then it follows that Y is under X. Is less than X. But really, it's only different from X. Commented Sep 15, 2017 at 16:38
  • 36
    Everyone: it doesn't matter whether a programmer is or is not superior to a tech. When you believe that, you will feel rude (not necessarily be rude) when you correct a person that you are the "better" thing not that "lesser" thing they thought you were. The OP wants to avoid feeling rude. I suggested wordings that clearly point out the skills of the person that the other folks need instead of the OP. Please stop using the comments of this question to settle whether programmers can do all that techs can or are better than techs. It is irrelevant. Commented Sep 16, 2017 at 12:02
  • 3
    Hmm... While I completely agree that one doesn't have to possess the skills of a sysadmin in order to be a good programmer and this answer seems to work great in that case, there are many of us who actually do possess those skills (whether due to prior experience in IT work, personal tinkering, or even having designed the system in question.) In that case, how would you politely explain that what's being requested isn't my job, even if I can do it (ideally without lying and suggesting I can't do it?)
    – reirab
    Commented Sep 17, 2017 at 19:26
  • 3
    @reirab in a work context, "you know that only IT handles that sort of thing" is not a lie. Nor is "I don't even do that for my own laptop!" Focus on saying something about the help they need and who they need to ask. Commented Sep 17, 2017 at 19:32

You can do what I do (A programmer for 40 years, a PhD in Computer Science): Tell the truth. I tell people, depending on the circumstance:

I know nothing about configuring Windows or fixing problems with Windows.

I know nothing about that program.

I know nothing about that hardware.

I don't ever use anything like that.

I have no idea how that works.

I don't know what different kinds of connectors are, or what you need.

I don't know how to write a game.

I don't know how to write a phone app for you.

If they question that, I tell them I do not have to know any of that to do my job, because my job is solving logic problems, mathematical problems, and informational organization problems. The computer is a tool, like pencils and paper, and I also do not know how to make pencils and paper.


This sort of depends on what you're asking and how your company is designed.

At my company, our IT staff are the only people with the permissions to add or change hardware/software. This means that it's easy to tell anyone asking for help with this sort of thing:

I actually can't help you with that because I don't have the system permissions to do what you're asking. You'll have to talk with someone in the IT department. Here's how you contact them:...

It's also OK for you to admit that you don't know how to do it... or how it's done in your company.

I'm actually not sure what the policy is for that. I work with software design, which is really different than configuring hardware. You'll need to talk with someone in the IT department to do what you're asking. Here's how you contact them...

There's no way to feel not offended if they keep coming to you and you choose to be offended by it. That's your option. But, eventually, with enough pointers to go to IT, they'll hopefully stop coming to you first and go to IT directly. At that point, your problem is solved.

I'd like to add, there's no reason for you to feel offended by this. In fact, "feeling offended" implies that you don't respect the work that your IT staff does because you think it's below you. It's different, not necessarily "lesser". Please respect them.

I think you should reframe your reception of these people's coming to you... You said in a comment:

I would like to specify that I don't think that I'm superior, I just feel like they underestimate me, but maybe it's a personal problem.

You have it backwards: they think highly of you, so they come to you for help. People generally ask for help from people they respect, so don't think of someone asking for help as an underestimation of your abilities. Additionally, there's little reason to feel offence as the people asking you are (I would guess) simply uninformed about what a software developer/programmer does. It's just how things are. Plus, a lot of people who are developers, can to some degree, deal with hardware problems, so it's not as if the people coming to you are wrong to do so. If you don't know how to do what they're asking, it's OK to admit that.

I'm not a software developer but I do work on the system level with computers. I get requests for all sorts of hardware/software things - for example, yesterday I got asked how to add someone to an email group... I responded to the email and forwarded it... to our IT staff who deal with that thing.

Companies are big and complicated. Sometimes knowing who to talk to is confusing, so you talk to the people you know who seem like they might have your solution. I consider it a great favor to them to be able to say "I can't, but I can help figure out who can"... not everyone wants to take the time to do that, but I like to, within reason.

  • 1
    We have the same story of permissions, infact in my actual job usually people just go directly to the IT repartment, it's rare here fortunally. I would like to specify that I don't think that I'm superior, I just feel like they understimate me, but maybe it's a personal problem ^^ Commented Sep 15, 2017 at 14:56
  • 3
    @MarcoSalerno I think that American culture, at least... and I'm guessing much culture... makes fun of the IT department a lot. I think you should reframe your reception of these people's coming to you... they think highly of you, so they come to you for help. :) You have it backwards. People ask for help from people they respect, so never think of someone asking for help as an underestimation of your abilities.
    – Catija
    Commented Sep 15, 2017 at 15:04

Establish a good work relationship with the IT guys whose job it is to fix the computers.

Then ask them "You know, when people ask me to fix their computer problems, I'll refer them to you, ok?" (it should be obvious)

Then when they inevitably ask, say something like "I'm the programmer, when my computer breaks like yours I just call the specialists!" (and then direct them to the proper person).

I like the word "specialist", it expresses due respect for the IT technicians, while at the same time making it clear that this user's problem is not your problem...


There is a similar relationship between architects and builders that you can leverage. The architect envisions a house and then drafts blueprints for that house. The builder then uses those blueprints to actually construct a house. A programmer envisions what a program should do, then drafts up code to do it. The technician takes those things and actually makes your computer operable.

The analogy is not 100%, because what a technician does and what a builder does aren't quite one-to-one. However, in both cases one of the defining characteristics of the architect/programmer is the creation of the paper/digital documents describing what should be done. As a fellow programmer, when I think of attributes that define my job, that's one of them. If I were trying to define the difference between a programmer and technician, I would choose an analogy that can drive that message home, like this one.

The reason I like this analogy is because it explains the difference between a programmer and a technician without belittling the technician. Most people would agree that the architect job is more sexy, but that doesn't mean that the builder's job isn't incredibly important and valuable to society. Likewise what a technician does is very important, it's just different in nature from programming. In fact, if the conversation calls for it, I can even talk up the importance of technicians without diluting my claim that I do something different than they do.

Also, some of the confusion arises because programmers are, by their nature, half decent at debugging technical problems. We can hear a problem, do a StackExchange search, and fix it, almost just like a technician. However, as technicians specialize in this sort of thing, they are substantially better at it. I may be able to help you hook up a printer at home and get it to print. It might take a few hacks, but we'll get it printing. The technicians at the place I work maintain an army of network-shared Xerox DocuCenters in a corporate environment where downtime means $$$ and patches must be deployed before hackers exploit those holes to steal our critical data, all while ensuring that any change they push out can be rolled back if individual users suffer work outages due to the change. Because, after all, as a user, if IT's critical safety patch inhibits my work in the slightest degree, I'm going to have a ticket opened at the highest possible level, and demand they fix it on some ridiculously short timetable. Then I'll have my manager's manager phone in and demand that ticket get attention ASAP.

Yes, it's technically the same thing, but I'm very glad to have dedicated specialists handling it for me at work!

  • 4
    The only problem I can foresee is that I know people that think an architect and a builder are the same thing! Your example is good because it goes from something more abstract to most people (a computer) to something concrete (a house). But I think the basic issue the OP brought up is still here since it's since building construction is still a technical/specialized area.
    – syntonicC
    Commented Sep 15, 2017 at 16:31
  • @syntonicC True. The follow up to that is to explain the difference. Architects and builders are much easier to understand the difference between because one of them swings a hammer (or pays employees to swing hammers). I would also rely on an insightful joke I heard where a builder told an architect he couldn't build a room this way. The architect blew up, rambling on about how he was the architect and the builder needed to follow the designs. The builder then put his finger on the plans describing a corner and said, "I can't swing a hammer in here. It's too small."
    – Cort Ammon
    Commented Sep 15, 2017 at 16:51
  • 1
    Another analogy might be writer/publisher
    – Cort Ammon
    Commented Sep 15, 2017 at 16:52

This had exactly been perplexing me for a while and I feel with you! I have some knowledge on software and data science (though I do it more as a hobby than a job), but people often ask me to fix up a problem on a Wi-Fi router, fix up hardware issues, etc..., which I have little or no knowledge on.

I found that a good approach is to relate tech to sports. Most people have enough understanding on sports in general, so it is easier to let them recognize that a programmer doesn't know everything about tech, much like professional soccer players are not good at every sports.

The below is an example I usually explain when get asked by a non-tech person (friends, not company members):

My frined X: Hey, my Internet suddenly stop working. What happened?

I: (Too broad...) [Having checked it briefly...] Sorry I don't know. I'm not a network engineer.

X: But you are an engineer! Why you can't fix it up?

I: Software engineer is not the same as network engineer. Consider sports. Messi is a soccer player but do you think he can be as good as volleyball or baseball?

X: I don't.

I: The same is true of programmers. Messi would be better at volleyball or baseball or any other sports than ordinary people, but is Messi the kind of person that you want to teach you volleyball? Or do you prefer a professional volleyball player?

X: Volleyball player!

I: Exactly. Messi would be better at volleyball than you or I, but he would not be even as good as a 14 years old student who plays volleyball at school. Messi might not know how to serve a volleyball in a correct stepping and jumping.

I: I may be better at networking than most people who don't use a computer usually, but the network is too complicated and I don't know much about it, just like Messi might not know how to serve a volleyball. It would be better to ask it to an engineer who specifically works on networking.

X: OK, I got it! Sorry for asking it... Thank!


Your job, to most people, is "working with computers". Most people have absolutely no idea what the difference is between the many computers, applications, services, functions, databases, OS, etc; and have no idea of the relative difference in difficulty of different tasks.

The confusion is likely increased if you are a member of the IT department. It is likely also increased because you (or other "programmers") have likely helped out with simpler tasks either when technicians were otherwise occupied or simply because of proximity.

You can explain, but it is likely than many people will respond to your "that isn't my job function" with "but can you fix it?" and, in a large number of cases, your answer will be "-sigh- yes".


These people are your coworkers, and as such should be treated nicely when possible. So if the problem they bring to you is (very and reliably) quick, I would suggest helping them. Just like if someone asked you for help carrying something in the building because you happened to be there when some uncommon delivery arrived.

If the thing they are asking is not reliably quick, tell them it would pull too much time away from your programming assignments. Maybe also suggest who may be able to help, if you can.

Programming time is incredibly expensive, so you may be able to mitigate this problem by letting your leadership know that you are getting asked to do non-programming things. That leadership will likely put the word out that people should avoid distracting programmers because the company needs them to stay on programming tasks. (Many engineering teams have a position, Scrum Master, whose only responsibility is removing impediments to coding, including defending programmer time from this sort of thing.)


First I think you need to get past thinking you are better than a tech.

You are not going to have a good conversation if you have a chip on your shoulder.

My job and expertise is programming not hardware. Here is the contact for tech support.


You can't.

What others think of you is, most of the times, beyond your control.

Note: I'd specifically like to exclude immediate family members and close friends from this categorisation of others.

Ok, don't shoot the messenger just yet. Please allow me to clarify:

  • Some people aren't all that tech savvy, or even computer literate.

  • Please remember that there might be some jobs that probably you won't know much about and therefore it is entirely plausible that you may inadvertently make someone else feel exactly like how you felt, despite you having no vicious intents.

  • A classic example of this is (not necessarily the one that you're unaware of): many physicists (and also scientists) really dislike being compared to engineers, even if they both were working on the same project.

This is not to invalidate what you feel, but just to indicate that, most of the times, people with reasonably good intents don't even mean to degrade you. It's merely their unawareness or ignorance.


  1. If you reliably know of someone's background (i.e. lack of computer knowledge, programming and so on), smile, explain gently and briefly your inability to help them in that regard, and move on. Unless you feel motivated and have lots of spare time, you probably don't want to invest too much energy into explaining the differences between hardware, software and programming to every other person that you encounter.
  2. If you don't know of someone's background, don't assume that they would necessarily be computer literate or tech savvy. Then, possibly tune yourself according to suggestion 1.
  3. If you know for sure that someone's trying to deliberately show you down, whilst being fully aware of your specialisation and the fine differences between hardware and software, I think it wouldn't be unfair to reply with a tinge of sarcasm. Maybe something like: "Sir / Ma'am, I wish I could help. Unfortunately, I'm not as versatile and skilled as yourself..." ;)

For these situations, I find it often helps to come up with a comparison of other trades people might be more familiar with to use as an example.

Something like:

Oh I can't help you with that, that isn't my specialty. It's kind of like if I'm a plumber but you need an electrician.

Other possibilities are bus driver/train conductor, surgeon/psychiatrist, etc.


Just try and explain it to them in a very calm demeanor.

This happens to most coders, I myself get asked sometimes and I normally just explain and say something along the lines of:

I program their software, I don't fix or build computers.

The majority of people tend to understand after that!


You need to give them an analogy.

Inspired by the Pilot/Mechanic comment, but most people are not pilots either.

Try the following:

Programmer is to a Computer Technician analogies:

  • Driver to a Mechanic (Cars)

  • Swordsman to a Blacksmith

  • Architect to a Construction Worker

  • Movie Screenwriter to Production Crew (special effects, stage prop engineer, make-up artists)

Basically any pairs of User/Designer vs Builder/Creator/Repairer.

Most programmers pick up computer technician skills as a hobby, but they're not necessarily knowledgeable enough to really be one.


Not the answer you're looking for? Browse other questions tagged or ask your own question.