How to be a productive developer
Why I want to be more productive
We all strive to be more productive so that we have more time at the end of the day, regardless of the type of work we want to do. The saying goes:
Work smart, not hard.
I have a family and a day job and have little time for my projects. So when I sit in front of the computer, I want to be as productive as possible.
The examples in this article are for Windows and focus on software development and content creation, but the advice is general and should work for anyone who works on a computer, regardless of operating system and goals.
You could also be productive
This is how I work to be productive.
Learn and configure the (command line) options of the tools you use mostly
If you create web applications use some kind of watcher to accelerate the development loop.
If you are faster using a GUI you are comfortable with, use it instead of the command line tool directly. For example I do prefer to use the build-in graphical support for GIT in Code or Visual Studio instead of the command line for the basic operations (pull, push, sync, branch - which are sufficient in 95% of the time).
Use utility tools, Addons and automate as much as you can
I use the Microsoft PowerToys pack
Microsoft PowerToys is a set of utilities for power users to tune and streamline their Windows 10 experience for greater productivity.
I use a lot the following features:
- Zones - distribute applications that you are working with in parallel (evenly) on the monitor
- Image Resize - I do resize my images in the right size for my blog articles using the automatic resizer - one click instead of open Paint.NET, enter width and height, confirm, save.
- Search and run - search fast for applications or content on your machine
When it comes to prototyping and automation in the programming language of my choice, I'm a huge fan of LINQPad and .NET Interactive - I can write and document my own utilities without creating a project. I can create prototypes, experiment and automate tasks in seconds.
If a tool you use supports some kind of extensions and there is an extension for a task you do often, then it's most of the time a good idea to install and use this Addon (e.g. VSCode).
Configure autostart for tools you use often (password manager, screenshot taker and so on). Once Windows is up and running you are just a click away from the start or execution of a task.
On your personal computer login on every site you use/visit often and/or use a password manager. It will save you so much time typing (and confirming in case of MFA). I'm logged in on the most sites I use daily, like GitHub, Mail, Twitter, Hashnode, Figma and so on.
If such sites are available as PWA, install them and use them as if they are native applications. I'm writing currently a follow up article on this topic.
Please note - if you share a computer with someone and you don't want that everybody has access to your sites where you are already loggedin, you can use either different profiles or don't stay loggedin the whole time, but use a password manager.
Use a password manager
Use a password manager (offline/online) to automate or accelerate login in. The more security comes as a free bonus. 😀
In general, learn a few useful and important keyboard shortcuts for you (operating system, IDEs, specific tools and so on). Use drag and drop with the mouse if it is faster and convenient for you.
There are a few Windows key combinations that I personally find very useful in order to move, resize and stick a window to the screen, run pinned applications an so on. This allows you for example to put two applications next to each other, that are evenly distributed on the monitor:
- Win+⬅ resize to take the left half of the monitor
- Win+➡resize to take the right half of the monitor
- Win+⬆ maximize window
- Win+⬇resize to last used width and height
- Win+E open new instance of Windows Explorer
- Win+R run a command
- Win+Shift+S take a screenshot
- Win+1..0 start the application pinned to the taskbar on position 1 to 10 (position 1 is the the one immediately after the start menu)
Conclusion and inspiration for this article
I hope this article motivates you and helps you be more productive so that you can have more time or complete the projects you dream of even faster.
What tools do you use or what do you do to be productive? Share the tools or your habits in the comments to inspire and help others.
If you have any questions in general - don’t hesitate to reach out - leave a comment and I'll answer resp. help gladly.
This article was inspired by the wonderful video of Scott Hanselman (@shanselman on Twitter) Overwhelmed with Programming? Here's small things to help - Computer Stuff They Didn't Teach You #14.