¯\_(ツ)_/¯

Don't call yourself a programmer by Patrick Mackenzie

I read an article recently by Patrick Mackenzie (@patio11).

It's from 2011, but feels as relevant as ever for (tech) career advice.

For my fellow low-patience, low-attention-span people, I thought I'd save you some time by picking out a few of the good parts:

  1. Don't call yourself a programmer

    “Programmer” sounds like “anomalously high-cost peon who types some mumbo-jumbo into some other mumbo-jumbo.

    If you call yourself a programmer, someone is already working on a way to get you fired.

    Instead, describe yourself by what you have accomplished for previously employers vis-a-vis increasing revenues or reducing costs.

    Quants on Wall Street are the first and best-known example: they use computers and math as a lever to make high-consequence decisions better and faster than an unaided human could, and the punchline to those decisions is “our firm make billions of dollars.”

    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.) 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.”

  2. Engineers are hired to create business value, not to program things

    Peter Drucker coined the popular terms "cost centers" and "profit centers".

    You want to be in the latter.

    Unfortunately, engineers usually fall as very highly paid Cost Centers.

  3. You are not defined by your chosen software stack

    The stack doesn't matter.

    Java vs .NET programmers? Neither, as both just lost by defining themselves as so.

    There are companies with broken HR policies where lack of a buzzword on your resume means you won’t be selected. You don’t want to work for them.

  4. Co-workers and bosses are not your friends

    When recruiters and hiring managers market their company as a "family". It's absolute corporate manipulation. You already have a family, you don't need another.

  5. Most jobs are never available publicly, just like most worthwhile candidates are not available publicly, therefore you must network

    https://www.joelonsoftware.com/2006/09/06/finding-great-developers-2/

  6. GPA doesn't matter

    Self-explanatory

  7. Negotiate your offer

    Just do it. The main fear people have in negotiating is that it feels like a fight against the recruiter/hiring manager. But you must realize that you're negotiating a deal with the company, not the person on the other end of the call.

    If you win a $5000 bump in your salary, you get to pocket 100% of it.

    If the recruiter/hiring manager saves $5000, at the absolute best, they win a nice dinner at TGIF.

    It doesn't actually matter as much to the other party, so negotiate. Advocate for yourself and your value.

  8. Joining startups fresh out of college is risky. But should you still do it?

    Depends on what lifestyle you want. But be wary of people selling you a lifestyle.

  9. Your most important professional skill is communication

    So work at it.

    You should be able to explain what you do to a bright 8 year old, the CFO of your company, or a programmer in a different specialty, at whatever the appropriate level of abstraction is.

  10. Modesty is not a career-enhancing character trait

    This is just how the game is played.

  11. At the end of the day, your life happiness will not be dominated by your career.

    Either talk to older people or trust the social scientists who have: family, faith, hobbies, etc etc generally swamp career achievements and money in terms of things which actually produce happiness.

    Optimize appropriately.

    Your career is important, and right now it might seem like the most important thing in your life, but odds are that is not what you’ll believe forever. Work to live, don’t live to work.