5 ms·
Okay, but you spend 2000 hours per year at work. So 10 hours on a config is only .5%, which is the productivity gain you need to realise to get that time back
by eckesicle 4y ago
Okay, but you spend 2000 hours per year at work.
So 10 hours on a config is only .5%, which is the productivity gain you need to realise to get that time back in one year (assuming you also spend 0 hours on fighting vscode).
Unless you're retiring within the year, that calculus doesn't make sense.
The productivity boost you get with from Emacs/vim is huge once you learn it well.
I strongly believe that learning one of these two editors is probably the easiest and biggest skills leap you can take as an intermediate or senior developer.
No other skill you can learn will have as big of a payoff to your productivity given the relatively small effort to get proficient.
- mypalmike 4y agoI've been coding for nearly 40 years and I just don't see any correlation between editor usage and developer productivity. Being able to design and work with complex software systems is what makes a senior dev productive, not which keys they hit to copy and paste.
- eckesicle 4y agoIt's not about which keys you use to copy paste, or about the speed in which you navigate your text. What the vim movements do is allow you to focus on your code without interruption. You can do everything without shifting your focus from the block of code you're currently editing. It's hard to describe until you've experienced it. I think it's just easier to get into and maintain a flow when the editor gets out of your way. Our experiences differ with regards to the correlation. In my career I've seen a massive discrepancy between effectiveness of editor use and developer impact. Off the top of my head, save for one person (who used Sublime), every outstanding engineer I've worked with have either used vim or emacs.
- what-the-grump 4y agoI really doubt that the tools of your trade do not matter. I’ve been building corp infrastructure for a decade and I can tell you first hand how much of an impact fast, stable, updated environment can have on organizational productivity and overall output. I doubt devs are some how excluded from the pack. The old proverb of shit in shit out also applies.
- mypalmike 4y agoYou have a fair point about tools and environments. I just don't think of editors as being a significant part of an environment, nor a significant differentiator of tooling. I've worked on teams where some members used IDEs and others used traditional text editors, and what differentiated their productivity was inevitably between their ears.
- azemetre 4y agoYou should see how slow people are at doing the following: creating a new directory, creating several files, initializing git, and creating a new work tree. While learning vim/emacs and CLTs may not make you a better programmer, but they can absolutely make you better at understanding and using your tools effectively. One simple thing I like to do at every job is setup an ansible playbook for the team I'm working on. What ansible allows is me to setup a tool to download all the relevant languages, binaries, create company specific repos for directories, establish a foundation of common CLTs, automatically install software, and fully setup all the paths. Now any person, old or future hires, can literally set up their machine in less than 10 minutes; an activity I see people usually give a full "week" to do. This is just one example of being more productive with these tools. What's nice about vim are vim motions, they become extremely intuitive and all the supporting libraries, plugins, and other CLTs utilize these vim motions which makes productivity extremely nice. If you want to see someone's workflow I'd checkout ThePrimeagen's video on his workflow: https://www.youtube.com/watch?v=bdumjiHabhQ https://www.youtube.com/watch?v=bdumjiHabhQ
- mypalmike 4y agoCommand line tools are great. Environment setup is great. Ansible is great. I don't know why you are conflating these things with the editor one uses. *Edit: Why the downvote? Tell me what I'm missing instead.
- azemetre 4y agoI didn't downvote. Most of these tools I tie in with vim hotkeys to shoot off various things. For example, I use telescope to jump between different git worktrees using vim motions or when using tmux I have vim motions mapped to maneuvering around panes (tmux cmd + hjkl) or going back to previous window (tmux cmd + o). I'm not saying you can't learn to use these tools without vim/emacs but in my limited work experience those developers that use vscode for everything tend to be completely lost when the terminal takes the fullscreen.