The Codist - Programmerthink

What Do You Tell People You Are And What You Do

Posted: 03/09/2009, Perm Link Readers: 6282


If you are a brain surgeon, everyone knows what you are and what you do, but as a programmer it's confusing to tell non-programmers what you are and what you do.

First, what are we? Programmers, coders, developers, or software engineers? How about more exotic descriptions like software artist or hacker? Are these all the same or radically different? I bet everyone of us has a different view on what these all are and I imagine few of us could agree on the definitions.

Then there are the architects. I've been a technical architect, an enterprise architect and a software architect, not to mention most the developer titles and yet my duties were generally always the same. Mention architect to most people and they think you design buildings.

What field are we in, is it computer science or software engineering? Thus are we scientists or engineers? Often it seems we are more artists than either of those, programming often seems more like a black art or even witchcraft at times.

When you are a Professional Engineer (P.E.) in something like civil engineering people generally know exactly what your qualifications are and that you have passed a lot of education and testing plus have real experience. For the most part programmers don't have any useful equivalents; there is no exact definition or legal requirement as to what you need to know. Most people will argue this point but there isn't any simple way to define a programmer's needed skills and after the arguments subside, we still won't have any agreement.

When I tell people I am a computer programmer (or one of the other terms just to be different) most of them really don't know what that means. They vaguely understand I "make software" (i.e. I'm a software maker, another term!) but have no clue what software looks like. So how to explain how you go about doing your job?

Writing software seems like a good start. After all we type a lot of words into a blank document using an editor, hand it to the computer to figure out what we want it to do, and then see what the computer made out of it. Rinse, repeat until done.

Even that watered-down description leaves out a lot of what we do. There is no way to really explain to people the raw details of our daily existence. Ever trying explaining programming languages and why there are so many to someone who knows nothing about programming? Or writing tests, debugging, or memory management? Don't even try unless you like glazed over eyes. Trying to point out the importance of requirements and specifications to customers is often impossible, much less to people who don't care.

Sadder yet is when upper management doesn't understand what we do. Often managers with little understanding (or care) for the abilities and duties of programmers seem to think we are all interchangeable and exactly the same. I've been in places where programmers were all considered "hackers" and not to be trusted, and that making sweeping technical decisions don't require any input from them. After all we are not "professional engineers", so we must be one step above the janitor.

Face it, this business of being a programmer is pretty confusing even to the participants, much less the general public. Would we have it any other way? Maybe we like the messiness and vagueness of our industry and don't mind it if people are confused about our role and abilities (unless it's the boss). Working with computers is kind of mysterious sometimes, often confusing, irritating and even random.

Science or engineering? Programmer, coder (codist!), developer? Or artist or writer?

Perhaps we should simply be called Computer Shaman.

Tags: programmer, essay
Jason Crist 03/10/2009 08:51

Knowledge Worker. It's a term that doesn't really make any sense to friends and family but it describes what I do the best. I work the medium of code and knowledge like a woodworker works wood. I keep my tools sharp and learn from other knowledge workers. There are apprentice and journeymen and master knowledge workers. Some knowledge workers design more than build (architects) and there are a mountain of other tasks that can have names. Whatever language we use, or development cycles we believe in we are all knowledge workers.

Wesley Darlington 03/12/2009 15:06

I just tell people I "do computer-ey stuff" and wave my hands about. If their eyes don't glaze over, I go with increasingly more detailed descriptions until their eyes do glaze over. They always do.

I've always liked the job description "Computer Tamer".

siznax 03/12/2009 15:49

i've always liked the title: computer, although i've never held it. i just tell people i'm a programmer, and they lose interest instantly. whew.

gord 03/12/2009 16:04

I overheard a conversation on a tram once...

One guy says "hey I want to get into IT, programmers get paid heaps. Show me the money.."

Other guy says "Awwww you don't wanna do that man.. its like solving hard intricate maths problems all day long.. if your brain doesn't explode you'll get RSI, back pain and bad eyes from staring at the screen for eight hours.. plus you never get to leave your cubicle or socialize"

and we enjoy it so much :]

softy 03/12/2009 16:28

Don't forget piles and depression.

Elvis Montero 03/12/2009 18:08

I think we should really say: "Mystical Workers". After all, what are we if not the product of using our highly dysfunctional brains to produce unintelligible pages of weird characters for computers to understand? THAT is mystical to the tenth power! =)

Basu 03/12/2009 19:07

I think part of the problem (if it is a problem) is that we do so much stuff that is often only vaguely related. I'm still just a student and I already write webpages, work as tech support at my college and I'm writing a game and a compiler for a research language at the same time. I love my life.

Brian Hamon 03/12/2009 20:45

Fundamentally what we do is recognize patterns, then try teach them to a machine. We look for patterns in numbers, letters, pictures, law, human behavior, business processes, manufacturing, anything that can be observed and measured digitally. The reason why our process is so iterative is that the pattern appears simple, but when we get down into the details, we learn that it is actually quite complex. That explains why we always underestimate the amount of time it will take to complete a project. We're incurably optimistic.

Tom 03/12/2009 22:18

@Wesley: rather than 'Computer Tamer', how about 'Computer Wrangler'?

I don't think computers stay tamed for long...

Tim 03/12/2009 23:22

I'd say you're an engineer if you do practical development of software and a scientist if you're exploring new territory in the realm of computer use. One doesn't rule out the other, but you're almost certainly doing more of one than the other.

I tell people I'm an engineer and let them fill out the blanks.

Dan 03/13/2009 02:54

None of this is sad. No matter what, when any human acquires non-trivial expertise in any field, nobody outside that field is going to be able to get a decent idea of what it is that they really do.

Who cares if people don't understand us? Nobody understands anyone else. Programmer types seem to suffer from a particular chauvinism: we believe that we're the only ones who are hard to understand, and that our field is particularly difficult.

I have a math/comp sci degree. I do math stuff. Subjectively this feels magical and special. I'm sure it really isn't.

Tom 03/13/2009 08:28

This is why at Yahoo! we started calling "Web Developers" with the moniker "Front-end Engineers" or F2E for short. This actually made a big difference in the way we were treated by management and even other kinds of programmer. The discipline of Front-end Web became recognized as something with value in itself.

It's funny how a few letters can make a big difference.

Kris 03/17/2009 08:56

Hello,

Please add your site at http://www.sweebs.com. Sweebs.com is a place where other people can find you among the best sites on the internet! Its just started and we are collecting the best found on the net! We will be delighted to have you in the sweebs listings.

Regards Kris

bobert 04/03/2009 15:54

I like to call myself a programmer, but then I'm kinda old-school. I actually think of myself as an artisan, much like the medieval stonemasons: a combination of skill, experience, art, and science.

"Engineer" makes me think of somebody who went to engineering school, and passed a professional qualification exam. And "coder" makes me think of some young replaceable drone cranking out web stuff, kind of a US equivalent of those poor folks in Bangalore.

Some states used to come down pretty hard on companies that used the word "engineer" around people who hadn't passed an engineering exam - maybe they still do. Back around 1980, a company in Fort Worth got a nastygram from the Texas engineering qualifications board for calling themselves So-and-So Engineering. The company president called the board and said, "I have a Ph.D. in nuclear physics and would like to take your nuclear engineering exam." They replied, "We don't have one." He then retorted, "I know that. Back off, or I'll go to the papers and explain that not one nuclear plant in the state has a licensed nuclear engineer on staff." They backed off.

chadillac 04/21/2009 08:21

I usually just tell people I'm a professional nerd... usually gives them a chuckle then they usually say something along the lines of "no seriously, what do you do?" and I go "no seriously, I'm a professional nerd... a programmer"... then I usually change the subject because if I start to actually talk about work they get so confused they just give up on listening.

Alan 05/10/2009 20:18

"Computer Shaman" ! Wow !

I work for one of those nice companies where we all get to choose our own titles, and we all know they mean feck all really. I just found out what my next title is going to be.

Thanks.

gsempe 05/10/2009 21:48

This a very hard subject (I'm in your world) and you make some good points. Your post should be read by all newbies "Computer Shaman". Thx

Atif 05/11/2009 03:13

I usually say "I am just a Code Monkey" and will continue to say that as long as they don't understand what it really means. ;)

Juan 05/11/2009 13:46

There is no P.E. equivalent in the US, but other countries, such as Canada or Argentina have profesional engineering degrees, wih all that it implies.