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

    Easy.

    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?
    Read more Software Engineering Lessons from Production

    I write articles with real insight into the career and skills of a modern software engineer. "Raw and honest from the heart!" as one reader described them. Fueled by lessons learned over 20 years of building production code for side-projects, small businesses, and hyper growth startups. Both successful and not.

    Subscribe below 👇

    Software Engineering Lessons from Production

    Join Swizec's Newsletter and get insightful emails 💌 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 15,883+ engineers learning lessons from my "raw and honest from the heart" emails.

    ⭐️⭐️⭐️⭐️✨
    4.5 stars average rating

    Have a burning question that you think I can answer? Hit me up on twitter and I'll do my best.

    Who am I and who do I help? I'm Swizec Teller and I turn coders into engineers with "Raw and honest from the heart!" writing. No bullshit. Real insights into the career and skills of a modern software engineer.

    Want to become a true senior engineer? Take ownership, have autonomy, and be a force multiplier on your team. The Senior Engineer Mindset ebook can help 👉 swizec.com/senior-mindset. These are the shifts in mindset that unlocked my career.

    Curious about Serverless and the modern backend? Check out Serverless Handbook, for frontend engineers 👉 ServerlessHandbook.dev

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

    Want to get my best emails on JavaScript, React, Serverless, Fullstack Web, or Indie Hacking? Check out swizec.com/collections

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

    Did someone amazing share this letter with you? Wonderful! You can sign up for my weekly letters for software engineers on their path to greatness, here: swizec.com/blog

    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 ❤️