I am strongly against “real developer”-ism. This is where someone says “you’re not a real developer unless X” for any value of X. Even if X is “you have written code” because then you have to define writing code, and the practice of modern computer science is rooted in punchcards for looms and will eventually end up with me wiggling a neuron at a brain implant (or something stranger and currently beyond my ken) and this whole “I type things that sometimes include curly brackets” is seriously just a teenage phase in the epic journey of making systems of logic that somehow, inexplicably, make (or lose) value. I also describe this as “building really useful invisible things” to people who ask me what I do for a living.

"What is code?" 
# ^ terrrrrrrrible pickup line someone tried on me at a networking event
"...The thing that websites are made of."

I believe that other people sometimes call this “impostor syndrome” but that is a term with a lot of possible discussion behind it.

So, if my brain sometimes says “you’re not a REAL developer because you haven’t done X, Y, and Z” then what exactly are X, Y, and Z? If I accomplish them, will I feel Real? (Probably not, but it’s an interesting experiment.) I don’t know if it’s worth accomplishing X, Y, and Z until I have a working definition of enough detail to be able to prioritize them against the list of Actually Useful/Interesting Things that I keep partially written. (Currently this list is a private trello board caled Cafe Week, which- like many things of its type (wanna-do lists rather than todo lists), actually gets longer as I check things off of it.)

Here is an incomplete list of the things that my brain thinks are related to Real-ism.

  • run your own mailserver and use it as a forwarding point for all your mail.
    • requires hosting
    • requires mail server administration
    • maybe later
  • host your own website and blog
    • but github does it for me! Maybe later.
  • set up a rss feed aggregator and use it instead of checking hackernews, slashdot, xkcd, and whatever else.
    • I have set up many of these but stopped using all of them for various reasons. Currently having some success with Leaf on OSX
  • Use an aggregated chat client rather than checking several chat services (gchat, facebook, some XMPP server etc)
    • working locally but not on my phone
  • write a cool game
    • Professionals spend full-time years on this. Scale back.
  • maintain a library
    • you mean, other than my own gems that no one except me uses? Someday.
  • contribute to a language
    • done, but in the very minorest of minor ways. Scale up.
  • present at a major conference
    • submitting proposals is the first step, right?