
Don't Call Yourself A Programmer, And Other Career Advice (2011) - rgun
http://www.kalzumeus.com/2011/10/28/dont-call-yourself-a-programmer/
======
Analemma_
I don't think this will be a terribly popular opinion, but I want to offer a
counterpoint. _Do_ call yourself a programmer, because we don't deserve to
call ourselves engineers. You want to know some things that define _actual_
engineers, as the term is regulated in some countries?

Real engineers have _certification_ : you know, that thing that indicates that
you can actually do your job worth a damn. What do programmers say whenever
the topic of industry certification is brought up? Usually, furious
opposition.

Real engineers have _accountability_ : engineers in a lot of other industries
can be civilly or even criminally liable if their broken shit hurts somebody.
What do programmers say whenever the topic of accountability for broken
software is brought up? Usually, furious opposition.

Real engineers have _unions_. You know, that thing that keeps your labor from
being exploited by-- just to give some hypothetical examples-- intentionally
confusing and exploitative equity renumerance, or floods of H1-B workers. I
shouldn't even have to tell you what the attitude towards most programmers is
to unions, at least in America.

And whenever the topic of certification, or accountability, or unions, is
brought up in the context of our discipline, the response is almost
invariably, "Well, it's different for us, because $REASONS". Okay, fine, it's
different for us, but then we shouldn't call ourselves engineers, because it's
clearly a category error.

~~~
blowski
I've got certification - I completed the W3Schools HTML intro.

What would you put in software certification? If you focus on high-end CompSci
stuff, it won't be relevant for the 99% who spend their careers building CRUD
apps. If you focus on tools, it will be out of date by the time the exam
papers are off the printing press.

I agree that there could be industry certification on topics like security and
perhaps accessibility. But on everything else, the answers depend on so many
factors, they can't be certified in a meaningful way.

Also, some of the best software engineers I know don't have certification
because they struggle with exams. The ability to pass an exam doesn't make you
a better engineer.

Certification is nice in theory, but in practice would probably lead to worse
results.

I call myself a software engineer because it's what managers call me. As long
as I don't claim to be able to build a bridge across the River Thames, I don't
see the problem.

~~~
verelo
I agree with both the parent and this comment; this is why when i read
"Software Engineer" i don't consider it to fit in the same bucket as any other
"Engineer" in general.

As a "guy who writes code" \- call me whatever you want, i could probably give
myself a fancy title and get away with it, but I am one of the very successful
(When compared to the 99%) people who didn't finish school but managed to get
by in the tech industry very comfortably. Life is already great, perhaps I
just don't deserve to get everything my way.

~~~
blowski
Exactly. If I had been born 100 years earlier (maybe even 25 years earlier) I
would have had a low paying menial job. I'm blessed to be in the job that I
am, with the pay that I receive, and I am grateful for that every day.

I don't use "software engineer" as an ego thing, but because it communicates
better the variety of knowledge I have to people that barely understand how to
turn their computer on. I get better pay, my employer is happy, everybody
wins.

------
strictnein
> "Modesty is not a career-enhancing character trait"

It's hard to overcome though. In a previous role, I was the main UI dev on a
rewrite of a top 10 ecommerce site's checkout process and also had a lead role
in designing the checkout API that handles $billions in revenue a year. But it
was really hard to get myself to add any of that to my resume or linkedin
profile. Like I was worried about someone somehow calling me on it, even
though it's completely true.

Of course, now that I've written that, I feel like it may have more to do with
impostor syndrome than modesty.

------
mevile
Wherever this guy has worked is where I never want to work. If people can't
appreciate the value your engineers create then that's not a place to work. If
this guy's advice applies to your job, get a new job. I'm not going to work at
a place where I'm worried about "attaching myself to the company's profit
center" and other bullshit and I've been a happily employed programmer for 9
years now.

~~~
vvanders
Remember that d99? Getting a 1-95 are the places he describes. Congrats on
making a good roll but this is still very relevant advice.

~~~
nostrademons
The nice thing about at-will employment is that you can always re-roll, and
usually keep the max of the two (or three, or five).

~~~
ryandrake
You don't get an infinite number of rolls in your career though. If you rolled
a low number, you might not know it until after a few years. A better analogy
is a baseball game. You get a few at-bats throughout your career, and that's
it, and you generally have to do them serially. Either you swing for the home-
run and risk missing, or take the safe base hit and never end up scoring a
run.

------
capote
> Engineers are hired to create business value, not to program things

So is every employee of every company. They create business value by doing
what their role is. This is the point of a company, this is how it's always
worked. The role of a programmer is to program things. So a programmer
programs things, and that is what they are hired for.

Why do we constantly get blog posts discussing ridiculous semantics like this?

Sure, it might work for some companies, but that's so utterly unimportant. I'm
a programmer, I tell people I'm a programmer, I'm paid to program business
applications, and I'm happily employed and liked by my superiors and company.
Clearly this line of thought also works fine.

So maybe the best advice is to just do what you do, call yourself whatever,
and cut it with these self-important blog posts preaching your way to everyone
else as though it's some holy advice on cracking the employment puzzle.

~~~
analogwzrd
Semantics matter. Especially when you're trying to sell something, such as
your skill set. Ever had to lobby your idea or project to a non-technical
decision maker? You can't whip out the technical jargon and explain in minute
detail why your solution is obviously the correct one. The non-technical
decision maker is going to gravitate toward the option that is wrapped in the
most appealing narrative - hence the semantics.

That's great that your happily employed and are well established in your
company. I'm not. And a big junk of the problem is because of what Patrick
discusses in that post. I'm an engineer who was hired to work in what is
perceived as a cost center. Because of that, many of my solutions to problems
are only allowed to be half implemented or they slide lower and lower down the
priority list as more urgent tasks come up. The only reason they're more
urgent is because someone can directly tie them to making money. Telling
someone you "program" things doesn't tell them what value you bring to the
table.

I wish I'd read this post 5 years ago when it was published and I might not be
in such a sticky situation.

~~~
capote
> Ever had to lobby your idea or project to a non-technical decision maker?

This is actually my job; I'm an architect and I interface a programming team
with non-technical superiors (I simplified my position previously to make a
point).

Part of my spiel in talking to non-technical superiors is being
straightforward and bullshit-free. If something's a program, I call it a
program, not a solution, business lalaploo, schpleplipagan, or quilbilbalala
wrapped in bacon. It's a program, and it's programmed by programmers who are
hired to program and spend their time programming. My non-technical superiors
cherish this directness and lack of semantically loaded garbage. They
"gravitate" towards the most clear and well-put solution, and part of that is
not to wrap it in _any_ narrative whatsoever, but to tell them straight up
what the situation is. By wrapping something in a narrative, and trying to
make it seem more than it is, it starts sounding less like professionalism and
more like philosophy, and you instantly set off my bullshit detectors (and
those of my superiors too). It starts smelling of indirectness and ulterior
motives.

And this goes the other way too--when hiring someone, I'm hiring a programmer.
Not an artist or philosopher who can tell me what silly billy value they add
to my company. _I_ decide what value they add; if they add any at all, it's
the value of the programs they program (don't take that the wrong way--this is
a lot of value, and I appreciate it fully, but it's still programming programs
--the programs are the vehicle with which they add value).

~~~
analogwzrd
I'm at a rather large company and management doesn't understand enough about
what they're doing to know exactly what provides value and what doesn't, much
less who is providing that value. I'm guessing once a company reaches a
certain size, a lot of that becomes illegible.

I prefer to be direct and as clear as possible, but that hasn't been what's
gotten me results. I watched how others (more senior engineers) were able to
influence decisions and found that they were some of the best bullshit artists
I've ever seen. So I adapted how I communicated as much as possible without
compromising my ethics. I'm leaving my company, hopefully to join a company
more like yours.

Patrick's advice hit pretty close to home for me.

~~~
capote
Yeah, maybe I do lack some perspective having never worked for a truly giant
company. My parents both work at massive banks (in technology, in fact, my dad
has almost the same job as I do), and a lot of what they talk about is how
much politics they have to do on a daily basis that has nothing to do with
their job, but rather just appeasing golden retrievers with treats and belly
rubs.

But then, this goes even further to show how every situation is different and
there's no umbrella of advice that works for employment.

------
combatentropy
The headline misled me. The gist of the article is good.

Two of the article's main points are solid:

(1) On your resume and in interviews, talk about results more than technology.
Instead of "I know Python" or even "I've used Python for five years," it's
stronger to say, "I rewrote the company billing system, used by 100 people,
saving $100,000 in licenses." Have bullet points like that on your resume.
This advice first came to me from a book on making resumes, given to me by a
friend who works as a recruiter. It's okay to mix in technical, of course. A
good example is actually this Hacker News comment:
[https://news.ycombinator.com/item?id=8902739](https://news.ycombinator.com/item?id=8902739)

(2) Don't neglect the human factor. Basically it boils down to trust. Put
yourself in the employer's shoes for just a second. Hiring a new employee is a
significant act of trust. It should come as no surprise. Have you ever said to
yourself at work, "Wow, I really can see everything. I could really do a lot
of damage, if I weren't such an upstanding citizen." Exactly. The problem I
guess is that most people don't have the time and money to check you out as
well as they should. So they resort to all manner of shortcuts, like: are you
well-dressed, are you clean, are you polite --- or do you come across as
someone building a bomb in their basement, or someone who might build a bomb
at my company if I don't buy you the right monitors? Other shortcuts are
prevalent, like: are you a friend or relative of someone I already trust?

Yes, this is all embarrassingly low-resolution instrumentation for
indentifying a good employee. However, can you think of anything better? Maybe
you can. If so, there's loads of money to be made. Just try not to make it
scary, like trying to algorithmically score a person based on key words in
their opus of tweets.

------
sixhobbits
This was the first post I ever read by Patrick. It and Joel Spolsky's blog
should be regarded as compulsory reading for all CS grads. Definitely set me
on the right path.

I think a good follow up of "don't call yourself a programmer" is "Don't look
for a job". The moment you start looking for a job, you're pretty much that
"Java programmer" again. Somehow, the people I meet who can't find a job are
those who are looking, while those who speak about their employment in
literally any other way than "looking for a job" never seem to have a problem.
I don't know exactly which way the causation link works (maybe people who are
good at getting jobs are privileged enough to not have to think about it in
that way), but I'm pretty sure that the word 'job' and mental model associated
with it is not optimal.

~~~
throw_away_777
>Somehow, the people I meet who can't find a job are those who are looking
This is a pretty clear example of a biased sample. If someone can find a job
easily, then you won't spend much time looking for one. "Don't look for a job"
is terrible advice for people who don't have jobs. Also, if you can't think of
a good reason for a causation link you should really consider that maybe it is
due to a confounding variable (there is no direct causation link).

~~~
sixhobbits
Eh, I phrased it badly. Wasn't trying to distinguish between employed and
unemployed people, but rather a distinction between those who don't have a job
and say "I'm looking for a job" and unemployed people who phrase the same idea
in a different way..

~~~
throw_away_777
I think the point still stands, the longer you spend unemployed the more
likely you are to describe yourself as "looking for a job" (unless you have
given up entirely). If someone describes themselves as not looking for a job
when they don't have one, it is possible they are just telling the truth, and
when they do decide to look for a job they can find one quickly. I am pretty
skeptical that thinking of yourself as looking for a job really causes you to
have difficultly finding one - like you said, there isn't any readily apparent
direct causative link.

------
ryandrake
>95~99: Your equity grant is a lifechanging amount of money.

> 100: You worked at the next Google, and are rich beyond the dreams of
> avarice.

Wait, so 5% of tech employees with equity grants make either a "life-changing"
amount of money or an effectively endless amount?? Wow-- That seems to be a
very high estimate. I would have thought that MAYBE 0.5% end up with "life-
changing" liquidity, and MAYBE 0.001% end up multi-multi-millionaires.

~~~
emilecantin
You forgot to read the next sentence:

> Perceptive readers will note that 100 does not actually show up on a d100 or
> rand(100).

That makes the whole point ;)

------
indubitably
> (There’s nothing wrong with this, by the way. You’re in the business of
> unemploying people. If you think that is unfair, go back to school and study
> something that doesn’t matter.)

Good grief, what a lovely offhand comment that is.

------
econner
In a promotion review, being able to say my project drove $X in revenue wins
almost every time against any other metric. It's easy to state and directly
relates to the companies business goals.

~~~
ryandrake
I always have been uncomfortable with the honesty of those kinds of claims
(although I hypocritically use similar language on my own resume). Say there
were 100 people on the project that drove $X in revenue: Was the contribution
evenly distributed? Did your contribution account for $X/100? If you were not
on the team, would it have driven $X-Y revenue (in which case you only added
$Y in value)? Surely employers aren't dumb or fooled by such wording.

~~~
throwanem
You're not claiming you personally drove $X in revenue. You're claiming that
the project did, and that you were critical or at least instrumental to its
success. If you can back those claims, you're not lying and you have no cause
to worry over your honesty. If you can't back them, don't make them.

~~~
xyzzy4
The project didn't drive the revenue though. The customer demand did.

~~~
ehnto
Which you could say about pretty much any feature on a customer based business
model.

But customer demand is only useful if you can turn the demand into a sale and
a happy customer. Measuring the conversion of an interested user to a customer
is how you measure return on investment for features.

If what you did meant an increase in revenue from those customers, then it is
fair to say it drove revenue.

------
NikolaeVarius
I would love to have a proper PE type thing for Software. I find it absolutely
infuriating that "developers" refuse to accept accountability for the things
they write.

~~~
FLUX-YOU
Then they'll just eliminate QA departments. If the guy doesn't produce perfect
code, oh well, he's the liable one. Fire him and get someone else. The
business takes on literally zero risk by employing the developer in this case.

If you want to treat us like doctors and lawyers, you'd better give us their
salary, benefits, and social status after we put in 4-8 years becoming
qualified to meet this new threshold. Of course that's not going to happen, so
guess who benefits by switching the industry to professional licenses?

~~~
NikolaeVarius
Except engineers who have PEs and FEs don't exactly have massive salaries.
"Software Engineers" are paid EXTRAORDINARILY well, especially compared to the
amount of effort needed for that salary.

~~~
sotojuan
> "Software Engineers" are paid EXTRAORDINARILY well, especially compared to
> the amount of effort needed for that salary.

Sometimes I feel weird that I've been paid six figures+ to glue an API to a
JavaScript frontend, especially at my age. But that's just the current market.

------
kazinator
"Don't call yourself a programmer" is a very old one; it's why we have titles
like "software engineer", "software developer" and so on; those are reactions
to "programmer analyst" and old stuffy "IBM-mainframe-ish" titles of that
sort. You might have easily heard that advice in 1990.

Do call yourself a programmer _to regular people_. :)

------
rajeshp1986
It doesn't matter whether you call yourself a programmer or an engineer. In
the software industry there is no standard for titles. They have misused this
right from the beginning.

I am more upset that technical people are always seen as resources. You might
feel you are building a great product and contributing to the great good. In
reality, you are just a tool for someone to make money. You are an expendable
resource who can be replaced in no time.

The management does fear attrition and key people leaving, just because it is
a problem for them and a risk for the business if key supporting people leave.
It might give them a setback. But in reality the management in every company
thinks that they can find some other guy with equivalent/better knowledge,
experience and he can replace you.

I sometimes fear that when I turn 60 and look back and realize that so many X
no. of nights I spent was only to realize that I was eventually replace by
someone and the top management people made a hell lot of money by selling the
company.

~~~
zodiac
> It doesn't matter whether you call yourself a programmer or an engineer

Did you read the article? He does not suggest calling yourself an engineer as
an alternative to calling yourself a programmer

~~~
spdionis
I think he meant it doesn't matter how you call yourself at all.

------
bluetwo
This article nails it. Excellent advice.

If you read nothing else, read: Engineers are hired to create business value,
not to program things

------
Animats
That's dated, in that companies now outsource profit centers. Apple outsourced
manufacturing to Foxconn.

~~~
barrkel
Companies that outsource their competitive advantage have no reason to exist;
they're middlemen that will be squeezed to nothing.

Manufacturing is a cost center, not a profit center.

~~~
emodendroket
Well, it depends. Manufacturing might be a profit center if your business is
being a manufacturer.

~~~
rpeden
Definitely - the manufacturing that Apple outsources to Foxconn is a cost
center for Apple, and a profit center for Foxconn.

------
alimw
> Similarly, even though you might think Google sounds like a programmer-
> friendly company, there are programmers and then there’s the people who are
> closely tied to 1% improvements in AdWords click-through rates. (Hint:
> provably worth billions of dollars.)

It's hard to quantify the benefits your work brings to a company. Probably
worth the effort, but for most jobs it's going to involve some time with pen
and paper and some imagination regarding counterfactuals.

> I recently stumbled across a web-page from the guy whose professional bio is
> “wrote the backend billing code that 97% of Google’s revenue passes
> through.” He’s now an angel investor (a polite synonym for “rich”).

Wait. Yes there's a number in there but it's not one that attempts to quantify
benefit. So is this guy just saying you need to quote a number (preferably
high), doesn't matter what it relates to?

------
RandomInteger4
I believe the term for this is called "Title Inflation".

------
Fang_
As a student doing his graduation internship in a large corporation, I'm
starting to see these things in real life. Is this going to be anywhere close
to the norm? I'm starting to consider a nomadic lifestyle.

------
kayman
A lot of the comments seem to miss out on the basic premise which is: Don't
sell yourself to business by taking a technical approach. (I do programming).

It is much more effective if you approach business as \- I solve problem X

------
Puts
> Nobody ever outsources Profit Centers.

The ironic part is that for every engineer being outsourced there's a new
project manager being hired. And managers aren't any profit centers either. So
why is this then?

~~~
ryandrake
How about project managers are cheaper?

------
kzisme
Hit the nail on the head I feel - as a recent college grad I really enjoyed
this article and what it had to offer.

------
skizm
Call yourself whatever the company you want to be hired by wants.

------
mobiuscog
Full-stack cross-functional technologist ?

------
SilasX
I was drilled from birth by PE-license-holding parents that "Engineer" is a
regulated term that you can't legally describe yourself as without the
license.

They're correct; it's just that the rule is flouted to the point of non-
existence in tech.

~~~
gohrt
They're correct about "Professional Engineer" in Canada, not everywhere else.
It varies by jurisdiction and wording.

[https://en.wikipedia.org/wiki/Regulation_and_licensure_in_en...](https://en.wikipedia.org/wiki/Regulation_and_licensure_in_engineering)

If tech companies were breaking the law, someone would be suing.

~~~
SilasX
>If tech companies were breaking the law, someone would be suing.

I wasn't referring to tech companies, but individuals calling themselves an
engineer, so I don't think that applies.

