A 10x programmer is, in the mythology of programming, a programmer that can do ten times the work of another normal programmer, where for normal programmer we can imagine one good at doing its work, but without the magical abilities of the 10x programmer.
Every programmer is a unique person, and he/she may improve his/her productivity in various ways.
As an old Chinese proverb said:
工欲善其事，必先利其器 (To do a good job, an artisan needs the best tools)
At least we should use some powerful tools to boost our productivity. Even if a tool may only increase 10x at most, it multiplies.
Let me show a example:
Total: 10x * 2x * 1.5x * 3x * 1.1x = 100x
Here is what happened after I typed
$ brew install zsh zsh-completions $ chsh -s /bin/zsh
$ sh -c "$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"
And Oh My Zsh indicates its BOOST officially.
Oh My Zsh will not make you a 10x developer…but you might feel like one.
Now that it claims to make you “feel like” a 10x developer, I think it must be true.
BOOST: 10x, PROGRESS: 10%
tmux is a terminal multiplexer. It is not only multiplexes terminals, but also multiplexes our productivity.
With tmux, we may open and keep multiple sessions in a terminal, open windows (actually tabs) inside a session, and even split windows to panes.
And gpakosz/.tmux is just like
oh-my-tmux. If we do not want to setup tmux configuration by ourselves, checkout this one.
$ brew install tmux
$ cd $ git clone https://github.com/gpakosz/.tmux.git $ ln -s -f .tmux/.tmux.conf $ cp .tmux/.tmux.conf.local .
BOOST: 2x, PROGRESS: 20%
fzf is a command-line fuzzy finder.
It’s a great replacement to the default <CTRL+R> but have more features, which is fuzzy and can be used with any lists.
I think it a must-have one.
$ brew install fzf $ $(brew --prefix)/opt/fzf/install
Enable fzf in
[ -f ~/.fzf.zsh ] && source ~/.fzf.zsh
BOOST: 1.5x, PROGRESS: 30%
Neovim a Vim-fork focused on extensibility and usability. If you are already a hardcore vim user, you may keep your choice. It makes no difference between the usabilities but provides modern GUIs, asynchronous job control, and API based on RPC. As a result, it is now really easy to develop a new plugin with popular programming languages compared to old-school VimScript.
$ brew install neovim
And we may “replace” vim with nvim in case you like:
HINT: Neovim do not use
.vimrc, it support XDG base directories by default.
We now should setup in
~/.config/nvim/init.vim. Just copy your
.vimrc here, it mostly works.
And I recommend Shougo/dein.vim as a plugin manager, which is “dark powered”. Vim/Neovim plugins is another big topic. For myself, I use deoplete, NERDTree, and vim-airline.
BOOST: 3x, PROGRESS: 90%
Colors are important to programmer, because we actually stare at the screen, terminal, and editor for the most time, especially the coding period.
I recommend Nord here. It is “an arctic, north-bluish color palette” and provides various ports officially. Thus, we can use Nord as theme or colorscheme in whatever libraries, tools, editors, and et cetera.
It could calm developer down, improve eyesight, and even prevent bugs. IMO, it increases productivity by about 10%, not that big but take effects on multiple places.
BOOST: 1.1x, PROGRESS: 100%
The productivity of a developer can largely improves with an approachable toolset indeed. Get the tools ready is the first step. There are still 99% other parts to be concerned, especially our efforts.
Thanks for reading this article.