Programming

3 Game-Changing Software Development Tools for Me

Anas Anjaria
3 min readSep 18, 2022
Different tools on a table
Photo by Dan Cristian Pădureț on Unsplash

Whether one is a carpenter or a software engineer, tools play a crucial role in our productivity.

I am a backend engineer. Let me walk you through my three game-changing software development tools.

i3 — window manager

i3 is a tiling window manager and allows us to arrange windows into mutually non-overlapping frames, as shown below.

i3 — tilling window manager with workspace and status bar
i3 tiling windows with workspace and status bar. Source: i3-screens

Why do I use this tool?

Workspaces — Workspaces are truly a game-changer for me. I can easily switch contexts as I change a workspace.

You can think of a workspace as a room.

Living room is for relaxing or spending time with loved ones.

Bedroom is for sleeping.

Similarly, you can dedicate your workspaces as follows.

Workspace 1: Browsing + instant messaging

Workspace 2: Development

When something comes up, for instance, you encounter a problem in your production system. You can easily switch context, resolve the issue and resume where you left off by simply changing a workspace.

Less use of a mouse — Switching between windows can be easily done using a keyboard (without using a mouse).

Quick overview without running commands — The status bar gives a quick overview, and we can configure it as per our needs. This way, we don’t need to run commands to find whether we are in VPN or not.

Check out i3

DBeaver

It is SQL client software for people who need to work with databases.

DBeaver — One client for all popular databases.
One client for all popular databases — Screenshot by the author.

Why do I use this tool?

Different color scheme— There is a setting called Connection Typeas shown in the picture below. As you can see, there are different colors for different environments.

DBeaver — Displaying connection type settings
Snapshot by the author — Source

Due to this color scheme, this tool helps me to distinguish between different environments.

Extra prompts for the production system — Furthermore, it prompts me when I try to run sensitive queries on the production system (provided that the connection type is production).

I am impressed by this feature because it keeps an eye on when I am working on the production system.

Check out dbeaver

fish shell

fish is a smart and user-friendly command line shell for Linux, macOS, and the rest of the family.

Why do I use this tool?

  • Auto-completion
Fish shell showing auto-suggestions
Fish shell auto-completion — Source
  • Syntax highlighting
fish shell showing syntax highlighting
fish shell — Syntax highlighting
  • Bash prompt
fish shell — various options for bash prompts
Various options for bash prompts
fish shell showing bash prompt with git branch name
bash prompt with git branch name

Checkout fish shell

If you love pandas dataframes, then you might love nushell.
I haven't tried it yet but I will definitely check it out.

Thanks for reading.

Site reliability engineering

6 stories
Essential metrics to monitor continuous archiving & point-in-time recovery
Monitor Your System — Practical Guide. Site reliability engineering
High level overview of collecting Postgres metrics using custom query

Programming

20 stories
Lessons I Learned as a Code Reviewer
From Chaos to Clarity: Organizing Your Code
Replication conflict — High-level overview
Want to connect?
Facebook | LinkedIn | Newsletter

--

--