14 ms·
Don't Call Yourself A Programmer, And Other Career Advice (2011)
- bluetwo 10y agoThis article nails it. Excellent advice. If you read nothing else, read: Engineers are hired to create business value, not to program things
- sixhobbits 10y agoThis 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 10y ago>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 10y agoEh, 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 10y agoI 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.
- bitwize 10y agoIs this a variant of Spolsky's line that no good programmer should ever have to look for work; if you are good, work should just fall into your lap? Because it's horseshit.
- ritchiea 10y agoMaybe this is true because I've only worked in a software boom in a large city but the only reason I've been out of work in the last 5 years since I switched from working in politics to coding full time is because I deemed the jobs available either undesirable or the pay insufficient. And when I say the pay was insufficient I'm still talking something well above median income. So Spolsky seems pretty right on, at least for the moment.
- ryandrake 10y agoTrust me, this attitude comes from never having to survive a severe tech downturn. Consider yourself fortunate! As someone who survived two, I can tell you with utter certainty that there are very few people with jobs just falling into their laps when your profession is suffering double-digit unemployment.
- ritchiea 10y agoWhat do you mean by "don't look for a job"? What specific action or attitude are you suggesting is superior?
- strictnein 10y ago> "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.
- Animats 10y agoThat's dated, in that companies now outsource profit centers. Apple outsourced manufacturing to Foxconn.
- coldtea 10y agoThat's because manufacturing is not a profit center for Apple. Design is. (Not just industrial design looks -- the whole design of the product as a coherent whole, including the design of the electronics, ecosystem, etc). What he writes will be outdated when Google outsources their Search engine, or Facebook outsources their social graph machinery,
- barrkel 10y agoCompanies 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 10y agoWell, it depends. Manufacturing might be a profit center if your business is being a manufacturer.
- rpeden 10y agoDefinitely - the manufacturing that Apple outsources to Foxconn is a cost center for Apple, and a profit center for Foxconn.
- Animats 10y agoNo, if you sell widgets, making widgets is a profit center. It has assignable revenues. Cost centers are things like accounting and HR. Engineering can be either a profit center or a cost center, depending on the line of business.
- rpeden 10y agoWouldn't Apple see manufacturing as a cost center? The act of manufacturing costs Apple money, but on its own doesn't generate any revenue. Apple probably sees design, marketing, and sales as its profit centers. I don't know about Apple specifically, but some companies I've dealt with view manufacturing as a black box: input design and money, receive widgets in return. Good design enables marketing, and marketing enables sales, so the design->marketng->sales pipeline is viewed as the profit center. A lot of companies, even software companies, see their developers as a similar black box: input ideas and money, receive software you can market and sell. Depending on a company's culture, it can be hard for developers to shift this perception. In some cases, I'm not even sure it is the wrong perception. In SaaS companies, it is easier to tie the work of developers to the revenue it helps generate than in an enterprise software company where selling is going to require a professional, high touch sales force regardless of how good the software is.
- SilasX 10y agoI 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 10y agoThey'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_engineering https://en.wikipedia.org/wiki/Regulation_and_licensure_in_en... If tech companies were breaking the law, someone would be suing.
- SilasX 10y ago>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.
- zodiac 10y agoHow is this relevant to the article?
- kzisme 10y agoHit the nail on the head I feel - as a recent college grad I really enjoyed this article and what it had to offer.
- mevile 10y agoWherever 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.
- Xantier 10y agoThis is a very interesting comment and I like to think the same way. That is the way that seems to bring most happiness to me in professional life. The question is, how do we recognise these places before joining them?
- vvanders 10y agoRemember 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 10y agoThe 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).
- linkregister 10y agoI don't think dice are a good analogy since previous jobs affect the ability to get better subsequent ones. Yes, names on a resume and knowing the right people are important.
- ryandrake 10y agoYou 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.
- Analemma_ 10y agoI 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 10y agoI'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.
- 10y ago
- econner 10y agoIn 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 10y agoI 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 10y agoYou'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 10y agoThe project didn't drive the revenue though. The customer demand did.
- throwanem 10y agoCustomer demand by itself is worthless in real terms. You have to give people something to buy. Having successfully done so, there's no reason you need to shy away from saying as much.
- ehnto 10y agoWhich 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 10y agoI 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 10y agoThen 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 10y agoExcept 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.
- linkregister 10y agoI would put it the other way: PEs and FEs are wildly underpaid for their abilities. They are paid at the market price for the low job-growth market they're in, unfortunately. It's the same story with mathematicians and physicists who become finance quants. The finance world pays much better.
- sotojuan 10y ago> "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.
- lfowles 10y ago
- capote 10y ago> 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.
- AnimalMuppet 10y ago> Why do we constantly get blog posts discussing ridiculous semantics like this? Because many people (especially early in their careers) don't understand that. I didn't. I was hired to program, so I'd program, but I had no idea what the connection was between my work and people sending the company money.
- capote 10y agoThat sounds like a bigger issue--being oblivious to what your role is/how companies work. No amount of re-naming/re-titling yourself will fix that. A name is just a name; it's what you do that matters.
- rpeden 10y agoYou should of course do what you believe is best for your situation. Patrick's observations are still useful, though. The semantics aren't ridiculous. They're a very real distinction, and they matter...especially if you're looking to move into contracting/consulting. If you find yourself doing that, it helps if you can position yourself farther up the value chain. In this situation, it helps to be able to describe yourself who understands business, communicates well, and can talk to a customer, understand their problem, and solve it. Having the ability to understand a business's problems and create software to solve those problems can give you a pretty significant advantage.
- kazinator 10y ago"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. :)
- Puts 10y ago> 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 10y agoHow about project managers are cheaper?
- Fang_ 10y agoAs 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.
- RandomInteger4 10y agoI believe the term for this is called "Title Inflation".
- indubitably 10y ago> (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.
- ryandrake 10y ago>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 10y agoYou 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 ;)
- skizm 10y agoCall yourself whatever the company you want to be hired by wants.
- rajeshp1986 10y agoIt 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.
- combatentropy 10y agoThe 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.
- kayman 10y agoA 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
- alimw 10y ago> 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?
- mobiuscog 10y agoFull-stack cross-functional technologist ?