2021 Best tools for software developers

Tomás Gonzalez Dowling
5 min readFeb 1, 2021

--

Image courtesy of @adityachinchure

This article will focus on GUI applications that makes software developing easier and improves our productivity. Is usually a topic that anyone touches and we give it for granted, but is important to share which tools we are using and what trade-off are we doing by picking one over another. Also authors usually shift their focus is in languages, frameworks and libraries or underlying infrastructure as Docker, Cloud services or VPS servers, so I wanted to make a clear article to share with you.

All these applications are open source and multi-platform, so they are available for Linux, Mac and Windows.

Let’s get into it.

AWS NoSQL workbench

It’s a DynamoDB GUI client which supports local dynamo instances; is based in electron but doesn’t consume too much resources and it’s nice to use.

You can even use it with a local DynamoDB instance to test your application locally while developing.

Another option is DynamoDb-GUI-Client which is really good, and the interface is nicer in my opinion. Although I would advice to stick to the official client since usually delivers better support.

Download NoSQL workbench

Postman

It’s a collaboration platform for API development. Supports writing API requests as docs and lets you share with your team those request collections so everyone can send requests and test locally. It’s also good for contract tests. You can set tests that later will be ran from your local machine or from a CI/CD pipeline using Newman, their CLI tool.

It can be used to make GraphQL requests too, but there is a specific tool better suited for that job: Altair

Download Postman

VSCode

One of the best code editors/IDE with really good Python, Golang, Typescript and Javascript integrations.

vscode screenshot

It’s based on Electron, but is very fast. In fact is faster than Atom and in many cases about the same than Sublime Text. The latter one is usually faster while searching in large projects.

Also is faster than Java based IDEs as Goland, in particular you will notice how quickly it opens when you compare to Jetbrains alternative.

Plugins

Download VS Code

PostBird

Postbird is a PostgreSQL GUI client, is nice and light, although is built using electron, is super snappy and supports latest PostgreSQL versions.

It works very well for day to day work and doesn’t need any fix or extra feature in my opinion but sadly it’s development is somewhat stalled. I submitted a couple of pull requests to add improvements to the dark theme and date display improvements and those didn’t get merged or even reviewed. It’s a shame because it’s an awesome tool. If you ask me is the best open source GUI PostgreSQL client.

As Postbird development is stalled, been trying Beekeeper Studio and I think overall is pretty good, it’s pixel perfect UI is cleaner and easier to use, but I find annoying that every click on a table opens up a new tab, so it results in a window with lots of open tabs. Although Beekeeper usability is not ideal, it supports almost all databases: PostgreSQL, MySQL, SQLite, Redshift, Microsoft SQL Server, CockroachDB.

Some friends are using Postico and they love it. I don’t use a Mac so I don’t have an opinion on it.

Download Postbird

Download Beekeeper Studio

Download Postico (only for Mac)

ZSH shell

ZSH is a shell. To put it in another way, is a bash replacement on steroids.

It supports Docker, git, and AWS profile visual hints out-of-the-box and supports many more features as it has a plugin system.

The easiest way to installing is with ohmyz script that will automatically download and install everything for you. It also takes care of updates as well.

Google Chrome

You probably know what this is about, as is the most used browser in the world. To take party of this tool we will focus on its extensions. There are millions of them but I find the following ones super useful as a software engineer.

Extensions

Feature-flags

Some of these settings are experimental and can break something, but I find these three really good and rock solid.

  • chrome://flags/#extensions-toolbar-menu
  • chrome://flags/#tab-groups
  • chrome://flags/#enable-force-dark

Package sources

Distribution package repositories provide a very limited number of packages so adding a universal package system, will bring more software that you can install easily and also usually provide more recent mainstream versions.

One of these universal package systems is Flatpak. Ubuntu created another one that is called Snap, but I find Flatpak better.

Once you install Flatpak, you must set a source so it can download packages from. There are many, but the most popular is Flathub. Is really massive, if you don’t find the app you want there it’s going to be hard to find elsewhere.

Once Flatpak is configured, you can download any application you want from your Gnome Software Store.

Here are some Flathub applications that I usually use.

Conclusion

So those are the best GUI multi-platform applications that are open-source and free to use and will make your developer experience great.

Feel free to share alternatives that I may not mention or just other app that is not listed here as well.

If you liked this article feel free to contribute on my patreon page. https://www.patreon.com/comtom

--

--

Tomás Gonzalez Dowling

Software Engineer with more than 15 years of experience. Love simple and elegant solutions for every problem.