Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Don't Call Yourself A Programmer, And Other Career Advice (2011) (kalzumeus.com)
71 points by Donckele on Aug 19, 2021 | hide | past | favorite | 89 comments


> Don’t call yourself a programmer: “Programmer” sounds like “anomalously high-cost peon who types some mumbo-jumbo into some other mumbo-jumbo.”

That's a perfect description of what I do. I'm proudly a Programmer.


Yeah, WTF is wrong with that. It's the job description.

Programmers are essentially a type of translator. They translate constraints expressed in human language to constraints expressed as computer language.

At the higher levels you have more say how exactly that happens in terms of system topology, but at that point you're no longer just a programmer, but an architect.


> Yeah, WTF is wrong with that.

Nothing is 'wrong' with it. You just do it at the detriment of your own career.


That's the thesis in this article. But it's non-sense BS.

Even an idiot can put two and two together and conclude that if their business value depends on programs, then programmers create business value.


Programmers program computers. No different than dentists drill teeth. Or maybe we should adopt some Latinized or Hellenized name to infuse some mysticism? That’s our mistake?


I think it's a bit different: there aren't many barely-trained (or untrained) people drilling teeth, but there are plenty of untrained programmers out there.

However the "software engineer" title is also applied to a lot of untrained programmers, so I'm not saying that this term is analogous to "dentist" even if it should be.


While I could agree with you, my fundamental disagreement rests on this: it is the practice that awards the title/description not the certification/training. I’m willing to submit the philosophical underpinnings of this argument but I believe even without that the statement above can stand on its own.


> Hellenized name

That’s literally it.


I submit Claviculist (from Latin for one who works with small keys: Clavicularius).


I called myself a systems analyst. We don't use the term engineer in my country. It leads to conversations where I describe that a lot of my job is optimizing processes before I code them. This was a great article for the bulk of programmers that end up in business programming.


> Yeah, WTF is wrong with that

Nothing is wrong with it. Donald Knuth proudly describes himself as a programmer.

But a good chunk of the people reading this comment probably make more money than he does, and title inflation is part of the stupid game we have to play to earn outsized rewards.

So proceed with caution.


"I am a programmer. On my 1040 form, that is what I put down as my occupation. As a programmer, I write programs."

-- Ken Thompson, in his 1983 Turing Award lecture, "Reflections on Trusting Trust".

https://dl.acm.org/doi/10.1145/358198.358210


Yes, but the advice he's giving is not meant to optimize for the most perfect description of what you actually do. It's meant to make what you do sound good in the eyes of people more concerned with making money than objectively and unambiguously describing things.


That led to all those buggy software we now have. Maybe we shouldn't appease these "moneymakers".


I absolutely don't see the connection between the two, can you give examples?

(Also, "not appeasing those moneymakers" is the quickest way to get broke and become unemployable but hey, you do you.)


"Those" people find it much easier to bully low status people like "programmers".


Most of my work has involved shlepping bits from A to B, so I've become fond of the term Data Plumber.


Calling yourself a programmer sounds fairly blue collar these days. If that’s what you want for yourself, fine. But don’t grumble when you get replaced by some cheap worker overseas.


I'm fine with it. Makes it easier to remind me to what class I really belong.


Agreed. I certainly relate a lot easier to, say, pickers and packers in a warehouse than I do with execs in fancy offices. Maybe the article wants me to flip that around, but it's the workers - the actual users of my code - who drive what software I write and how I write it, and it's therefore their best interests that are at the forefront of my brain - and if it's in their best interests, then it's in the best interests of the company as a whole, since (to the article's point) enabling ground-floor workers to work as efficiently as possible both maximizes profit and minimizes cost.

Being disconnected from ground-floor workers has been the hardest part about remote work, on that note.


I imagine this depends on what circles you run in. I feel like in silicon valley, the modal image is of a FAANG employee making 400 k$/yr.


> You radically overestimate the average skill of the competition because of the crowd you hang around with: Many people already successfully employed as senior engineers cannot actually implement FizzBuzz. Just read it and weep. Key takeaway: you probably are good enough to work at that company you think you’re not good enough for. They hire better mortals, but they still hire mortals.

As much as I want to believe this, I think the ability of developers separates itself in different “classes”. The senior devs who can’t complete a fizzbuzz are probably not the competition for the jobs I want.


You’re wrong, from my experience. I’ve interviewed many a “senior developer” who simply cannot code any longer because they’ve spent all their time doing other things or at a higher level.

Some can still code, and that’s your competition. Many cannot.


As someone that has held that title at multiple FAANGS and done hundreds of interviews: please don't equate performance in the absurd interview process with ability to code.

Most of the best developers I know would fail a technical interview for their current job.


I think I just did last week. The interviewer asked me to explain SOLID. I could only remember the O and the L. All of these practices are deeply internalized but without having interviewed in a while, or even used English at work, the little speeches and buzzwords escaped me. Then he brought up REST. “What are important principles of REST?” Ummm, nounifaction? Uff.


I usually google SOLID before job interviews just in case someone actually asks about this.


I fully sympathize and I had to mute my mic once so the interviewer doesn't hear that I am searching for what SOLID stands for, and then I proceeded to explain each of the characters.

But to be fair... is that an actual technical interview?


I agree with you, but I’m talking about literal FizzBuzz-esque questions. Experienced or not, any “senior developer/engineer” should be able to write a for loop.


> Most of the best developers I know would fail a technical interview for their current job.

Yes, that's because they can't code.

(No, connecting APIs and navigating information complexity landmines isn't coding.)


Amen to that.


I'm sure it depends on your industry and location.

In silicon valley software companies (e.g. Google, FB, Twitter, Stripe, Airbnb, Uber, and all the smaller companies following the same interview & career ladder playbook) a senior engineer or L5 is just someone with around 5+ years of experience. They might have a few more meetings and spend a bit more time working on design docs, planning, mentoring others, etc. compared to more junior engineers, but their primary job is still writing code. Even at higher levels like Staff and Principal engineers, less time might be spent writing code and more time in meetings, leading committees, approving the largest in scope design docs, etc. but there are so few of these people and the bar is so high to get there that they were at least at one time some of the strongest engineers at the company, and they still code sometimes even at this level. In the entire IC track at these companies, I suspect you'll find approximately 0% of people that are so incompetent they are just unable to implement fizzbuzz. In the management track you'd find some, but even there I suspect quite a low percentage.

In other industries, maybe banking, large contractors, more old fashioned megacorps like the GE's of the world, I think there might be more "architect" and other technical tracks that are allegedly still programmer IC tracks but where the senior folks are much further removed from programming and wouldn't be able to implement fizzbuzz.


I was referring to SV software companies, as that’s where I’m based.


true story: I give out a problem to code up a cache with some specific requirements. I've written this thing up in several languages, I've given this particular interview problem to maybe a hundred or more people. I know this problem.

I got asked this problem and my mind went completely blank and I had to solve it from first principals, making some of the same blunders I see others making when I work with them through it.

When I see people claim that senior devs can't FizzBuzz, I have to imagine what they mean is that they do some silly error because they are under pressure and you have to remind them about "what about 15?" or something. I've interviewed hundreds of developers and only two had trouble implementing a loop and conditionals as a concept.


The people who can't code any longer are still typically able to describe an algorithm, at least in pseudocode.

Whiteboarding Yet Another Graph Search Problem With Perfect Syntax[1] might be beyond their current short-term abilities, but I'd be surprised if they couldn't produce pseudocode and architectural design that solves most real-world problems.

On the other hand, there are plenty of "seniors" who couldn't write code in the first place.

[1]Everyone knows which employer does this.


I work with a bunch of senior engineers making 400-600k, I would say there isnt a huge difference between them and ones making 175k at a startup/non tech business. The biggest thing is comfort with scale, and high scale thinking. But its nothing thats difficult, just something to learn. If anything, I have seen much higher proficiency at startups where delivering across the stack is critical. Really, the interview process is segmenting engineers in ways that dont correlate with job performance (though there definitely is some signal)


Seeing all of the dismissals of the article makes me think you all are proving the author's point for him. Read: you are not ready to step up your career and are stuck in the phase of taking pride in your craft and optimizing for job stability in your current company.

If you are completely fine with your salary and job atmosphere and have no further ambitions then great, that's good for you; not the case for me and many other programmers looking to break their back less and make more money however.

I've personally been a real-time witness to how I flunked interviews -- and rarely, some sort of business negotiations -- due to sending the wrong signals: clothing, general demeanor, tone of voice, wrong topics (programming languages or amount of servers etc.), and others. I've been there when I failed those, I even cried after some of them, but I gave myself time to reflect and extracted my lessons.

Are people super shallow in how they judge you? Feck yes they are, there's no ways around that fact. But one thing I am learning after I hit 40 and wanted something more than being a yet-another-programmer-drone-fearing-for-his-job, is that rebelling against reality and not making a strategy to exploit the said reality is foolhardy and downright at a teenager level of being disconnected with reality. Or, to use more HN-friendly lingo: it's not productive.

I find it interesting how many people here rebel against the realities the author outlined. And yes they are realities, not fantasies. People will judge you by your clothes and people will try to negotiate you down and the moment you budge they lose all respect for you; to them you are no longer a potential business partner, you are now a lowly slave they can boss around so they want to quickly wrap up the dinner with you and leave. Those dynamics do exist.

IMO it pays off to see all this, acknowledge it, stop rebelling against it, take a few deep breaths, and learn how to exploit it.

Evolution. Those who adapt best will survive.

I am looking to change my life and that's why I feel the way I do about all this. If you are happy with your life I can only envy you and congratulate you for being in a state of internal harmony.


Mmm. I get the idea, but I think there’s a better way to describe this.

Programmers are in such high demand that it’s the opposite of a dirty word. What’s being described feels more like mid- or late-career advice where you might want to specialize to keep advancing. That can mean deep-diving a domain, like the post suggests. It can mean focusing in a category of comp sci, like distributed systems or ML. It can mean consulting. It can mean management. Etc.


> You really want to be attached to Profit Centers because it will bring you higher wages, more respect, and greater opportunities for everything of value to you.

I’m experiencing this now. I was attached to a theoretical (in the way that startups are) profit centre which just got whacked and now I am being shifted over to “business support.” Accordingly, we are the last to hear about anything.

Boss used to be consulted on things. Now he is told via email of who he now reports to.


The older I get the louder I shout at clouds.

"Engineers are hired to create business value, not to program things"

FFS. True enough, but it's still claptrap. One quote from George Orwell really struck for me: "speaking the truth in times of universal deceit is a revolutionary act."

It's why now when people ask me what I do, I say "programmer", not "software developer". Actually, I usually say "computer programmer", because otherwise people get confused and think it might be to do with programming videos. Like programming your video recorder was a job, or something.


The bigger problem is the forced march of hobbyist programmers (who had to get this job just to pay the bills) into some corporate automata climbing up and down some ladder in the name of career. The only thing worse than a career is career advice, especially if given by a career programmer.

Enjoy being a programmer, from this you'd never have to retire. Enjoy the freedom; it shouldn’t be all about money and optimizing the optics of what you do, just to force some perspectives.


Don't engineers have engineering degrees or else have some other sort of credentials?


It is a protected title in Canada, requiring a license, but not in the United States.

In the US, the title "Professional Engineer" is roughly equivalent and similarly requires a license.


adding to what you said, in the US the requirements of a professional engineering license varies by state;

but there has also been recent litigation and a court has ruled that having a degree from an engineering school in an engineering discipline entitles one to use the term https://reason.com/2019/01/02/judge-confirms-that-oregon-eng...

the reason for the requirement and confusion is essentially building codes and other government regulations: if you want to build or repair a building, you need to hire people to certify the work as meeting building codes; those people need licenses. But at the same time, a company can hire a bunch of fresh engineering graduates to work a such a project and not every one of them needs a license. Unfortunately, we just have the one word engineer that applies to both. "Licensed engineer" would be a clearer distinction than "Professional engineer"


The thinking in Canada is that engineer brings with it liability for the work so programmers don't use it here. It offends engineers if you use that word in your title. The only exception I've seen is electrical engineers that of course have a fair bit of coding. But I don't think I've seen them really use it much in their programming job descriptions even though they wear the engineering ring.


I have a MA of fine Arts. And a certification to do work on the German electrical grid.

I also am the best programmer in the whole IT department and the only one who has no CS background.


That's more common than you think. A respectable company Thoughtworks hired this way and boot camped and mentored people well the first couple years of their careers. I always like looking at the code and working with projects from their teams. Communication, working nicely with others, humility and the soft skills help you build a network so that when you need help you don't spin your wheels.

The bigO crowd will disagree but even the hard core comp sci types will go much further with real soft skills.


They're supposed to. Do all 'software engineers' have professional engineer credentials? Probably not.


I do have an electronic engineering degree.


I do, but I had the impression that those are a bit expensive in other countries.


I was once a programmer.

I was promoted to "Assistant Systems Analyst" (but I wasn't actually assigned to assist anyone).

I was promoted again to "Systems Analyst" (I wasn't in fact a systems analyst - real systems analysts don't program, and I've never analysed a client's processses and systems).

I was promoted to "Consultant". I confess I did do some consulting for clients; but the job was mainly programming, as before.

I was hired as an Engineer (I was nothing of the sort).

I was hired again, as a "Senior Developer". I was "senior", in that I was the oldest person in the company. I had no reports, and my duties were the same as all the other peons in the company.

I've done many other things than programming during that time; for example, I've designed complex systems of interacting components (which I understand is now known as "architecture"). I've done a lot of sysadmin; in fact I once had the job-title "systems adminstrator" for a short while.

The whole time, my real job has been programming computers. I'm not a professional; I belong to no professional bodies. I'm a tradesman, or perhaps a journeyman craftsman. I know I'm not a Master Craftsman. My trade is programming, so in point of fact I am a programmer. I'm certainly not ashamed of that; most people I know are incapable of doing the work I do.

There's no shame in being a tradesman. Hell, my electrician probably earns more than me; he has to get certified every year. He's more like a "professional" than I am.

And FWIW, I'd much sooner have my pay inflated than my job-title.


I think this explains a lot of the buggy software, companies should have employed someone who calls himself a programmer.

And maybe companies should learn that they need programmers especially good ones otherwise you get something like Salesforce


>Perceptive readers will note that 100 does not actually show up on a d100

Yes it does.



He included 0, so I guess his d100 is a [0, 99] kind


Many d100s use ‘00’, which I always interpreted as ‘100’. Fitting 3 digits on a tiny die face is hard.


Oof, pointing out an error like that already takes away any motivation from reading the featured article.


(2011)

anything new to add?

Some previous discussion:

2 years ago (which is basically same as now) https://news.ycombinator.com/item?id=21303181

5 years ago https://news.ycombinator.com/item?id=12548043

7 years ago https://news.ycombinator.com/item?id=8147008


> The decisionmaker at a company knows he needs someone. He tells his friends and business contacts. One of them knows someone — family, a roommate from college, someone they met at a conference, an ex-colleague, whatever. Introductions are made, a meeting happens, and they achieve agreement in principle on the job offer.

Must be an American thing. Where I'm from this screams "did not practice due diligence", which is a big management ouchie.


> Many people already successfully employed as senior engineers cannot actually implement FizzBuzz.

The f*ck??

* For loop, int 1-100

* if int%3 == 0 && int%5 == 0, print fizzbuzz

* else if int%3 == 0 , print fizz

* else if int%5 == 0, print buzz

* else print int.

How difficult is that??


Very difficult for a person that only ever copy-pasted existing code into an IDE and fixed the squiggly lines by trial and error.

(And remember that "senior" only references to years of experience; if you have 10 years of copy-paste experience, then congratulations, you're now a "senior".)


When I was young I didn't cally myself a dev so that people would view me as more.

Now that I have enought, I do call myself a dev so that it filters annoying interractions.


The author of this blog post uses the words engineer and engineering way too haphazardly. In my opinion, calling yourself engineer, when you are not a registered one, is a disservice to the actual engineers (that have to pass technical and ethical exams)


Conversely, engineers can be "registered" and relegated to other adjacent roles because their credentials have been eclipsed by their lack of meaningful experience, and their ideas are no better than the smart programmers in the room. So I do understand the haphazardness to a degree, anyone can engineer, but not everyone can be an engineer.


That's exactly why I don't call myself an "engineer" beyond whatever formal title some employer might assign to me.


Written by someone who sounds like they haven't done any programming.


Welcome to HN. You’re relatively new here.

Patio11 is one of the grands hommes of this site.

I strongly suggest you have less certainty and more curiosity when you come across something like this.


While my account may be new here, I am not. Being a "grands hommes" of this site doesn't change anything and you've given absolutely no extra information to counter my point.


Well yeah, I think that's the premise of the article :)


Right... exactly as I stated. Sounds like someone who hasn't done a lot of programming, or at least has done some, hated it, and has chosen the business side of IT and seems to think the word "programmer" has some kind of negative connotation that will affect your job prospects.


Welcome to HN. Type less read more. Or has said else where: lurk more.


Not sure what your comment means. Welcome to HN as well, I guess?


should've named this account patio12

oh well


Wow is this ever condescending


*confident


Those ain't mutually exclusive, as this article demonstrates rather plainly.


> If you really like the atmosphere at universities, that is cool. Put a backpack on and you can walk into any building at any university in the United States any time you want.

I would not follow this advice if your really have no business being there. Most universities in the US are in fact private institutions and this would be considered trespassing if you are found out. You might have an easy time blending in, but if any faculty (not just police, at least at my institution) asks to see your school ID, you are required to produce it.


When I wanted to work from the University of Toronto I got an "Outside Researcher" card that let me use their libraries and get access to all their papers too! It was the cheapest desk you could rent in Toronto. Something like $100 a year and it came with access to all of their journals. In person, only, but still. Top notch ROI.


TIL! This is great info


I don't think this is really true? most schools I'm familiar with are "open campuses". the public is free to walk around campus, visit the library, etc. during normal hours. restricted areas like dorms and labs with expensive equipment will be locked. as an outsider, I wouldn't try to sit in on a six person seminar without talking to the professor, but I'm sure no one would notice or care if you sat in on a few large lectures.


It used to be true, 20 years ago. It hasn't really been true for at least a decade. RFID access control is really cheap and basically all buildings have it now. You could of course tailgate someone but that's crossing a line you probably don't want to cross.

I'm not sure why you'd bother though for computer science. There are plenty of very high quality lectures online.


Sure, but I can't imagine you'd get in any real trouble if caught. Play dumb, you'll just be asked to leave.


One thing I know some schools offer is, IIRC, auditing classes. I did this at UT a few years ago. You basically pay a filing fee and then can attend classes without enrolling. No credits or degree possibility AFAIK, but you get to learn.


Wouldn’t there be any number of visiting students, academics, speakers, researchers, research partners, study participants, etc?

My university was crawling with non-university people who were legitimately there.


All of those people have relationships with people already on campus, and many of them are given IDs if they're there long term. If you're just some guy with a backpack who hangs around campus for no reason and no one know what you're doing there, people are going to notice, at least where I'm from. YMMV


"Sorry, I must've misplaced it somewhere - thanks though I'll make sure to find it now."


Most universities these days also have their buildings locked with an RFID lock that responds to a valid university ID. To get into the buildings you will have to "tailgate" on someone else, which looks really sus.


I graduated university two years ago. Anybody would let anyone in to anywhere unless you looked long term homeless.

You could randomly tap the glass and people would let you in.


Have you ever been to uni? Tailgating is performed on a regular basis, even by ppl w/ cards that are too lazy to take them out of their backpacks.


meh, it's pretty common for students to lose/misplace their ID cards. where I went to college, people would usually let any college-aged person follow them into a building without a second thought.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: