
Ask HN: How do I improve my productivity? - sanketskasar
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&#x2F;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&#x2F;Django). And to that end, I do try read and practise a lot.
I end up with a similar feeling no matter what.<p>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?
======
muzani
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.

------
ahpearce
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?

~~~
sanketskasar
Thanks. The last bit of advice is something I can act upon. Although I do have
automated some tasks, I think going all out on automation wherever possible
will lead to saving some time. Might help

------
kleer001
> 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.

~~~
jolmg
> that's why they call it present

The etymology is interesting[1]. It seems the common idea is being right in
front of something as with something "being presented" or a person that "is
present". "The present", as in the time, is short for "the present time" (the
time that's with you), and "the present", as in the gift, is short for "the
presented thing".

It seems the 2 diverged from Latin "praesens", which meant "being there", and
then reunited into 1 word with 2 definitions. The meaning of "present" for
time seems to be more in-line with the original "praesens", and it was the
meaning for gift that saw more change: "being there" -> "in the situation in
question" -> "face to face" -> "place before" -> "to offer" -> "gift"

Anyway, I feel saying stuff like "that's why they call it present" is neat,
but, at least in my mind, it invalidates the whole thing you're trying to say
when you realize that it's false.

[1]
[https://www.etymonline.com/word/present#etymonline_v_19454](https://www.etymonline.com/word/present#etymonline_v_19454)

~~~
bloodorange
It's not meant to be read so literally. Going further on that route,
"yesterday" is definitely not "history" and what comes tomorrow may be a
mystery at some level but "tomorrow" itself is not a mystery. It's just the
following day.

If you look at the spirit of the message instead, you'll see that it does have
something valuable to say.

~~~
jolmg
I agree that it's a valuable thing to say. It's just that particular piece on
present, the time, being named after present, the gift, that doesn't resonate
with me. I understand that it's neat that they coincidentally share the same
word and I'm sure that it does resonate with other people. I'm just sharing my
own perspective.

Yesterday is history in that it forms part of past events. My browser history
includes stuff I visited yesterday, for example. Tomorrow can also very well
be mystery. That's why, again from my perspective, I have no issue with those
parts.

It's the reasoning, like saying "that's why there's no 'I' in 'team'". Like,
ok that's neat, but it's not valid reasoning.

~~~
kleer001
> ok that's neat, but it's not valid reasoning

Don't forget that more has been done in the history of men by the art of
rhetoric than by a dialectic, that emotion moves people in force, not reason.

...

Also, that nature is not limited by human imagination.

