Do whatever is necessary to stay in the flow. Flow means typing code. Non-flow means googling, using your mouse, switching windows, coffee breaks.
Here are common interruptions and fixes
googling / reading docs
download / integrate docs into your IDE (see devdocs) and use man pages. Also, retrieve the sources for your deps and make sure you have auto-complete (ctags) . Avoid googling as much as possible--it's a bad habit.
Waiting for builds
cache your artifacts to speed up your build, or invest in CI
Testing your software
make sure you can test quickly using CLI and not with interactive behavior. This usually means a unit suite or command-line experiments you can run. E.g. if you're building a service, write some curls that you can hit with assertions to make sure it works while you are building. If it's a UI write selenium tests.
Coding itself is slow
activate auto-complete and snippets in your ide. If you're new to the language, do kata to practice common blocks. Can you touch type? If not, learn and play typeracer to speed up
distractions (social media, chatting)
try rescuetime to identify pitfalls and block distractions
tl;dr Pretend your mouse is electrified. Any time you touch your mouse, think about why and automate it.
I agree completely on the don't google.
I have tried to make it a habit to go to the docs if I need to find something out, you learn some much more about the ecosystem that you develop on if you are working with the docs directly.
And automate autmate automate.
Even if it's only a few lines but might take you a little while manually, script it, it worth doing to get into the habit :)
I don't think that typing code fast the the answer to anything related with being effective. What do you mean by typing? Just typing? I actually type slow but I know I can deliver the features on time. It's what you type that matters and if you learn to type less and do more, that's efficiency for me.
Also I google a lot and read docs a lot. That gives me an array of solutions and articles that I can assess in a pragmatic manner before I implement something. Did you just tried to implement your own microservice architecture without looking, asking around, reading docs, comparing libraries and frameworks and googling the hell out of it? I think not. The same goes for every feature you may be asked to build. There will be always a better solution by the time you think you have the answer in your mind and where is the right place to find it? By googling of course.
Also I use the mouse a lot. I tend to forget keystore combinations
For further actions, you may consider blocking this person and/or reporting abuse
We're a place where coders share, stay up-to-date and grow their careers.
Do whatever is necessary to stay in the flow. Flow means typing code. Non-flow means googling, using your mouse, switching windows, coffee breaks.
Here are common interruptions and fixes
tl;dr Pretend your mouse is electrified. Any time you touch your mouse, think about why and automate it.
These are great tips 🔥. Thanks
I agree completely on the don't google.
I have tried to make it a habit to go to the docs if I need to find something out, you learn some much more about the ecosystem that you develop on if you are working with the docs directly.
And automate autmate automate.
Even if it's only a few lines but might take you a little while manually, script it, it worth doing to get into the habit :)
I don't think that typing code fast the the answer to anything related with being effective. What do you mean by typing? Just typing? I actually type slow but I know I can deliver the features on time. It's what you type that matters and if you learn to type less and do more, that's efficiency for me.
Also I google a lot and read docs a lot. That gives me an array of solutions and articles that I can assess in a pragmatic manner before I implement something. Did you just tried to implement your own microservice architecture without looking, asking around, reading docs, comparing libraries and frameworks and googling the hell out of it? I think not. The same goes for every feature you may be asked to build. There will be always a better solution by the time you think you have the answer in your mind and where is the right place to find it? By googling of course.
Also I use the mouse a lot. I tend to forget keystore combinations