The Truth About Programming Perception

By  on  

When I tell people that I'm a web programmer, they think I'm a genius.  When I tell them I work for the company that makes Firefox, they think I'm some sort of God.  I'd be willing to bet other developers out there get the same treatment.  And I don't say this to talk myself and people in our profession up, I say it because people outside of our profession don't have any idea how we do what we do.

Even developers look up to other developers in our industry that way.  I feel like every other developer around me at Mozilla is a legend, and in many cases, they are.  It's the reason we have such thing as imposter syndrome, and it's the reason we're intimidated to join OSS projects and approach popular developers at conferences.  The following comic seems apt:

We all make stupid mistakes.  We all stare at our code to find that one line that is somehow bricking our app.  We all swear our browser is broken before finding the one obvious mistake in our code.  Don't sweat it and don't feel like you aren't good enough.  Everyone has these moments and no developer goes a day without struggling on something basic.  Now go out there and kick some ass!

Recent Features

Incredible Demos

  • By
    MooTools CountDown Plugin

    There are numerous websites around the internet, RapidShare for example, that make you wait an allotted amount of time before presenting you with your reward. Using MooTools, I've created a CountDown plugin that allows you to easily implement a similar system. The MooTools JavaScript The CountDown class...

  • By
    Sexy Opacity Animation with MooTools or jQuery

    A big part of the sexiness that is Apple software is Apple's use of opacity. Like seemingly every other Apple user interface technique, it needs to be ported to the web (</fanboy>). I've put together an example of a sexy opacity animation technique...

Discussion

  1. Chris Reed

    the classic “Find the l” programming games series includes:
    :,;
    l,;
    ‘,:

    The best part is they all come free with every language.

  2. Thanks for this post! I think the important thing to take from this is that ALL of your idols have gone through the same problems that you have. Bugs, poorly optimized code, awkward git commits, etc.

    The biggest obstacle in your way from becoming someone that your idol looks up to is being too afraid to try or writing yourself off as not being as good as that person.

  3. Lol…..this just made me laugh inside. Because I have been there so many times. Even not a hard core programmer or anything, I mainly have done work in HTML, CSS, and some PHP. Took a course in C++.

    But yes, it is the tedious aspect that “outsiders” filter out. Maybe because they themselves can’t imagine that anything so awesome would have tedious bits. But all jobs to my knowledge have tedious bits. What makes it awesome is when you work through it and see the result/solution and end product of your work. Constant reiteration and optimization is the key to mastering any field!

  4. Ha! this made me laugh.

    Semicolon always does this programmers! :)

  5. My favorite one is where Mac is case-insensitive and when you push to a production unix serve it’s case-sensitive and nothing works due to one file name P to p.

    • I had this problem on windows when I’ve started programming, just make sure you stick to a naming convention, and you’re safe, didn’t have this problem after that :)

  6. I feel that the TED talk “Myth of the Genius Programmer” is appropriate here ^^

  7. Ture story, bro! ;)

  8. Excellent post, David!

    This type of transparency has between senior and junior developers takes so much pressure off of the latter to always write perfect code the first time around.

    While the Impostor Syndrome can be a serious innovation inhibiter, a small dash of it keeps us humble enough that we don’t become “that guy/girl” that other developers can’t stand to be around.

  9. This was HILARIOUS!! Love it! Thanks for posting!

Wrap your code in <pre class="{language}"></pre> tags, link to a GitHub gist, JSFiddle fiddle, or CodePen pen to embed!