Swizec Teller - a geek with a hatswizec.com

    I've hit a glass ceiling of coding productivity. Now what?

    Productivity, by koalazymonkey
    Productivity, by koalazymonkey

    As a budding programmer, I could spend an hour programming and within that hour I learned so much the next hour was like three sets of the first combined.

    Productivity grew exponentially with no sign of stopping. When the growth slowed, I would discover a new set of tools, a new framework or even a whole new language and my productivity would take a jerk, a stutter, jump around and make a massive leap forward.

    With a bit of smoothing you'd still get a roughly exponential curve.

    As Ralph W. Sockman, whomever he is, once said "The larger the island of knowledge, the longer the shoreline of wonder."

    Experience deepens a specialty
    Experience deepens a specialty

    When my knowledge wasn't very vast, the increasing wonder only meant there were more things I could explore. pushing in one direction only showed a whole bunch of new and cool stuff that I could explore to become even better. Life was grand. And simple!

    But lately this has stopped happening. I get almost exactly linear returns on the time I invest, sometimes even sublinear. It seems that no matter what new tool I add to my arsenal, productivity isn't affected very much. Learning the new tool barely makes up for the time invested into learning rather than doing from scratch.

    A ceiling

    Hacking takes you to the edge of knowledge
    Hacking takes you to the edge of knowledge

    For example, I just finished a very simple project for a friend:

    • import some schedule data from excel to postgre s

    • web interface to view class schedule

    • web interface to change schedules

    Simple right?

    With the many years of writing python scripts, plenty of experience in data munging and countless web interfaces under my belt, this project should be a walk in the park. Considering I could do it in my sleep, it definitely shouldn't be more than an afternoon's worth of work.

    It took 20 hours.

    You push very hard at the boundary
    You push very hard at the boundary

    And no, that's not because I spent so much time checking Twitter, Reddit, HackerNews, Facebook and email. I optimized those problems out of my work time when I started using the pomodoro technique about a year ago. A huge boon to productivity.

    Sure, I was forced to use a web framework I've never used before - Bottle. I reckon it added two hours to development time, it's really very very simple. Learning Bottle was on the level of learning a new syntax for Django.

    You release an opensource thingy
    You release an opensource thingy


    The HTML/CSS usually takes a while for such projects, but I used Bootstrap. Completely stock. Almost no modifications. That wasn't an issue either.

    And yet, a project requiring barely any thinking, where I wasn't doing any Yak Shaving and the budget was definitely too tight to write the HTML in haiku ... still took 20 hours. That's just too much.

    But in the grand scale of things ...
    But in the grand scale of things ...

    Many questions

    I don't have an answer, but I do have a question: What's a guy to do when/if this glass ceiling is reached? Make sure to pick tougher projects? Learn ever more tools, but with diminishing returns? Concede that some things just take time and give up?

    If I'm a 1x programmer, how do I become a 5x programmer? At least a 2x one? If I happen to be a 10x programmer, how do I become a 100x programmer? How do I even find out how much X programmer I am?

    Enhanced by Zemanta

    Did you enjoy this article?

    Published on August 30th, 2012 in HackerNews, productivity, Programmer, Programming, Twitter, Uncategorized, User interface, yak shaving

    Learned something new?
    Want to become an expert?

    Here's how it works 👇

    Leave your email and I'll send you thoughtfully written emails every week about React, JavaScript, and your career. Lessons learned over 20 years in the industry working with companies ranging from tiny startups to Fortune5 behemoths.

    Join Swizec's Newsletter

    And get thoughtful letters 💌 on mindsets, tactics, and technical skills for your career. Real lessons from building production software. No bullshit.

    "Man, love your simple writing! Yours is the only newsletter I open and only blog that I give a fuck to read & scroll till the end. And wow always take away lessons with me. Inspiring! And very relatable. 👌"

    ~ Ashish Kumar

    Join over 14,000 engineers just like you already improving their careers with my letters, workshops, courses, and talks. ✌️

    Have a burning question that you think I can answer? I don't have all of the answers, but I have some! Hit me up on twitter or book a 30min ama for in-depth help.

    Ready to Stop copy pasting D3 examples and create data visualizations of your own?  Learn how to build scalable dataviz components your whole team can understand with React for Data Visualization

    Curious about Serverless and the modern backend? Check out Serverless Handbook, modern backend for the frontend engineer.

    Ready to learn how it all fits together and build a modern webapp from scratch? Learn how to launch a webapp and make your first 💰 on the side with ServerlessReact.Dev

    Want to brush up on your modern JavaScript syntax? Check out my interactive cheatsheet: es6cheatsheet.com

    By the way, just in case no one has told you it yet today: I love and appreciate you for who you are ❤️

    Created by Swizec with ❤️