My goal is to become extremely efficient at coding. I want to build a reputation as someone who is able to deliver tons of high-quality implementation and products very quickly. I want to build actual velocity where the actual rate of code per hour/day is really high as opposed to just being able to accomplish more from working extra hours.
What tactics can I use to level myself up in this way so that my old coding abilities feel unrecognizable when looking back 3-6 months in the future from my vast amount of improvement?
I built a reputation as a "code machine" back at Instagram - I had 250+ commits and 700+ diffs reviewed per half, even after growing into a tech lead with a bunch of meetings. So I'm happy to chime in here and share some reflections on how I was able to do this.
At a high-level, you become a code machine by writing a ton of code. There's no way around this, 10,000 hours and all that. However, this raw coding effort does need to be guided in crucial ways - You can easily write a lot of code and still be slow and write low-quality code. Here's my advice on how to do that.
Go Deep, Not Wide
Make Things A Little Better Each Time
Build Side Projects
Manage Your Time Very Deliberately
Related resources:
This advice resonates well with me - many years back I was working on new area and I have learn lot of things by going depth due I am the early mover in the space. Initially it was difficult but in an year I built the similar muscle memory and I have become much much faster. This allign with your first point.
Secondly, there have been some fundamental changes and I started doing things in much efficient manner and lesser code and highly performant. This has given me a good reputation.
Back those days it was mostly working from office, so at times though I need to work for couple of hours I choose to go to office and have uninterrupted time to finish my tasks.
I used to have pet projects but not in the same but in experimenting something very different.
Alex's answer to this is amazing.
The one thing I'll add is that, as you progress in your career, it'll become far more important what you're working on, in addition to how. Every senior coder has seen the following two things:
It's faster to walk in a straight line than to run serpentine. In addition to building out your skills around coding quickly (which I completely agree is essential early in career), also look to learn telltale signs that a project is headed the wrong direction, or a code path you're taking will need to get ripped out.
Do four things: