I originally posted this post on my blog.


These days, I found a post claiming you're not a senior software engineer until you work on a legacy app.

It made me think about when we can call ourselves programmers. Mmmm?

From me:

So, you're not a programmer until:

  1. You write a to-do app or a recipe catalog
  2. You google how to become a better coder
  3. You have an interview with a clueless recruiter
  4. You copy and paste a code block from StackOverflow
  5. You take down a database server with a badly written query
  6. You read the Clean Code and want to rewrite all the code around you
  7. You debug using Console.WriteLine or console.log or printf statements
  8. You get a PM asking you how you're doing more than once a day
  9. You google your error message and find an open GitHub issue
  10. You delete a database table with a DELETE without WHERE
  11. You argue about a variable name during a code review
  12. You write a class Person or Shape when learning OOP
  13. You code a calculator app using JavaScript
  14. You work on a full rewrite of a legacy app
  15. You google how to center a div

From my friends and ex-coworkers:

I asked some of my friends and ex-coworkers to complete that sentence. And here's what they told me.

You're not a programmer until...

  1. You write your first "Hello, world" program
  2. You stay awake until 3AM solving a coding issue
  3. You're fixing an issue, it works and you don't know why
  4. Your code works on your machine, but not in Production
  5. You get a compilation error on line 123 on a 40-line code file
  6. You deploy a hotfix to Production at 17:55 (and you clock out at 18:00)

(Update) From the comments section:

I compiled some additions from the comments section. (Slightly edited to make them fit in one line)

You're not a programmer until...

  1. You've programmed
  2. You use git push --force --all
  3. You say "Well, it works in Dev"
  4. You have a folder of unfinished projects
  5. You build a collection of most-used code snippets
  6. You set your git username to "User" so they can't blame you
  7. You use git reset --hard or delete your local repo and clone it again
  8. You start a blog to share your learning to save others debugging time
  9. You're stuck on a bug and your code works when you call a senior for help
  10. You've spent time installing your favorite editor/IDE's plugins and themes
  11. You feel stupid by constantly trying to learn things you don't know what they're for

What would you add to the list? When did you know you were a programmer? Leave your comment!


Join my email list and get a 2-minute email with curated resources about programming and software engineering every Friday. Don't miss out next Friday email.