Productivity is basically to deliver high value tasks against the relatively shorter amount of time. Software engineers including System Administrators, DevOps and developers are likely to seem sketchy when it comes to maintaining the productivity while working with system level Tasks. System Level tasks may span from the tasks you perform for operation of your application on a server or just configuring your machine after you get a new machine.
Software Engineers tend to underestimate the amount of time they utilize on configuring machines or performing some system level tasks. You will be learning some of the tips and tricks you can get used to.
Use Keyboard Shortcuts Over Mouse
Keyboard shortcuts are the crucial ones when you have to work continuously for longer hours. Use Mouse or any pointing devices tend to create some delays and sometimes even movement of body parts like head, arms or sitting positions while draws some level of distraction from your original posture. While working with shell you can use the following cheatsheets for your convenience:
- Terminal cheatsheet
- Ubuntu Desktop shortcuts
- Common cheatsheet for JetBrains IDEs
- Cheatsheet for Visual Studio Code
- Cheatsheet for Sublime Text
- Cheatsheet for Tmux Users
Use Proper Tooling
Right tooling is a must if you want to be more productive. Most of the us as software engineers have some level of customized configuration and also have to setup some softwares or packages for the actual development to start. You can always use tools like Ansible, Puppet, Chef etc for creating a set of tasks you perform everytime like while configuring the machines. You can also share and collaborate on such tools with your fellow engineers to be more effective. Some of the tools you can use are listed below:
- Ansible, Puppet, Chef etc for creating a set of tasks you perform everytime like while configuring the machines.
- Terminal multiplexer (Tmux) effectively working with command shells.
- vim as editor for while editing files on a remote *nux machines.
- Docker containers to reduce efforts of configuring the machine for a specific project.
- Git as version control/source control for the software you write. Dont loose track of what you did to a piece of software.
- Visual Studio Code as a IDE for writing codes.