from Hacker News

Ask HN: How do I improve my productivity?

by sanketskasar on 3/10/20, 7:33 AM with 8 comments

I have been working as a web developer for over a couple of years now. One thing I always end up feeling is that whatever task/story I am working on could have been done much faster and probably with a better solution. I attribute this to not having expert knowledge of the underlying tech(say Mysql or Python/Django). And to that end, I do try read and practise a lot. I end up with a similar feeling no matter what.

Is there some other angle to this? Are there some things I am missing? How do I get more productive in terms of speed and quality of my work?

  • by muzani on 3/11/20, 8:18 AM

    There's a lot of books written on this. In general, you have to follow the right order of things.

    1. Follow rules rigidly, without understanding or judging, similar to how a baby imitates her parents by putting on clothes or drawing on paper. Don't try to be clever. Just copy and pay attention.

    2. Be able to treat parts as a step. Bundle together chunks of work - this is how I filter an array, this is how I commit code, this is how compile a site, this is how I add a button to the page.

    This phase is the longest. Practice until you can do it without supervision/guidance. Practice until you no longer struggle with it. Then practice some more until it's as natural as typing, where you can sense when it's off. Expect to spend 10 years on this, faster if you practice right and practice hard. Is there a Leetcode problem you can't solve? Solve it. Is there open source code you can't reverse engineer? Reverse engineer it.

    Don't try to learn everything though. Just find something you like and build that to fluency.

    3. By now, you start experimenting. You start taking risks. You start to get curious and obsessed, instead of needing to motivate yourself. You customize procedures for yourself. Your results will be crude (hacky).

    4. You'll start to see lots of exceptions to the rules. You may have multiple mentors and see that they're not aligning. Instead of rejecting maxims, you merge them to guide you. You produce a high standard of work, with little effort.

    5. You no longer rely on rules and maxims. You have an intuitive grasp on things, but unlike step 4, you can combine them with data and rationality. You have visions on how things go together.

    College puts us in 2, but often not enough, and we get dumped into 3 before we're ready. My advice is to go back to phase 2, keep practicing, keep finding mentors. All of these phases have a plateau that you have to push through, and all of them have different mentors, often those who are stuck on their own plateaus.

    If you want books, I recommend, A. Mind Over Machine, Dreyfus; B. Mastery, Greene; C. The Art of Learning, Waitzkin.

  • by ahpearce on 3/10/20, 3:01 PM

    How does a guitarist get more "productive" in terms of speed and quality? Practice.

    Build things you want to use. Or build things other people want to use. Do practice problems online (LeetCode, Project Euler, etc.). Read more documentation.

    Pick a tech stack that you want to become an expert on (preferably an employable one), and start learning. Buy the books.

    It sounds like you're feeling a lack of confidence in your knowledge and abilities, and the only way to improve those is to continue learning and improving.

    One other consideration is: do you spend a significant amount of time on repeated processes? Perhaps during development you're 1) logging into your database, 2) dropping some tables, 3) re-running some tests that populate the database, 4) viewing the results. Can you automate such processes? Can you put together a few scripts or utilities that make you more efficient? Can you find boilerplate or scaffolding that gets you 20-30% of the way there rather than starting from scratch?

  • by kleer001 on 3/10/20, 4:04 PM

    > I always end up feeling ... could have been done ...

    Stop it. Stop it. Anyone can feel that about anything, anywhere, and at any time, and it's only destructive.

    Yesterday is history,

    tomorrow is a mystery,

    and today is a gift...

    that's why they call it present

    ---

    I mean, it's good you want to do better. So, do better.