Okay! the title is not fully a click bait, Hear me out.
I'll be discussing about what tools and techniques i use to improve my efficiency as a developer, which may not have made me a 10X engineer but surely did improve my productivity.
by far the most effective technique you can do to improve your speed is reducing your reliance on the mouse when coding. No matter how fast you are with the mouse, the constant switch between mouse and keyboard not only slows you down but also makes you more fatigued. I also learned touch typing very recently and however not much it did help me with my keyboard mastery. I would say knowing what to type is more important than how fast you type.
check out this article where it claims we can save a month of our lifetime by using keyboard shortcuts instead of mouse.
Lets see some techniques/tools i use to reduce my reliance on the mouse
I'm a terminal guy, I live in the terminal, if there is a way achieve something with terminal i wont use the GUI.
Here are somethings i use terminal for where people generally use GUIs
Files CRUD, navigating through files
Here is a nice article on basic terminal commands
I use gh, Its a CLI application from github, which you can use to raise pr, query issues and a lot more.
I never use github desktop app or vscode to do things with git, I do everything in the terminal, trust me once you get used to it, you never go back to the slow GUI process. However for things like blame, checking diffs I use vscode with gitlens
By far the most time you can save when you are coding is by knowing vscode keyboard shortcuts, you can glide through your code with very little vscode shortcuts. This seems to be a very good list to start.
once you get used to it unbelievable how fast you can code.
If you are doing something over and over, you should probably try to see how you can automate it. As developers we spend so much time with git and github, so it makes total sense to automate it. previously I used to use scripts to raise prs and manage git but I've found this amazing tool fig, which really upped my automation game.
this is a new addition to my productivity tool list, Although i haven't used it extensively yet, its really cool. I have used this automate git commits, pr process(along with gh), etc. I think this can be used as an alternate for simple shell scripts and its much more intuitive and easy to setup.
this is my git workflow.
PR title is prefilled with commit message.
choose the branch you want to raise the pr for. boom, pr raised in 5 secs.
Alfred is a drop in replacement for spotlight in mac. you can use custom plugins and create your own plugins, although using plugins requires you to buy the pro version which costs around $35, its worth it if you are a power user. I could write a whole blog about how i use alfred. Let me know if you want one :)
Here are some of my most workflows
- Jira - browse jira, move status and a lot more
- Google Search - full blown google search with suggestions
- Github navigate to any repo, prs, gists etc;
there are a lot more stuffs I've want to talk about but I don't want the post to be too long, Let me know if i should continue this as a series and deep dive into more smaller details.