3 Best Backend Developer Tools You Should Use
Every developer has a toolset that we will use while coding. These are tools that we live and breathe with at our jobs daily, and chances are, we can’t work effectively without them.
For the most part, everyone has their favorite code editor like Vim, Sublime Text, Atom, VSCode, etc., I am not going to bring those up. Also, using Git is indisputable and I believe we are all on the same page.
In this article, I will be sharing some of my favorite tools that I use as a back-end developer. If you are looking for tools recommendation beyond VSCode and Git, read on.
Docker
Pricing: Free
Long gone are the days when you need to SSH into your production server and install the dependencies (i.e. Python, NodeJS, etc.) of your app before your application can run.
Today, with a Docker image, we could easily package up our code and all its dependencies into a Docker container that can run quickly and reliably from one computing environment to another.
Dockerizing Your Application For Different Computing Environments
Docker images are defined within special text files called Dockerfile
, and it requires us to define all the steps explicitly inside the Dockerfile
.
Here’s a simple example, if your application requires NodeJS and running npm install
to work, we can simply define everything we need inside our Dockerfile
i.e.:
We can use docker build -t xxx
command to build our image and then docker run -d — name xxx -p xxx
to serve our application.
The best part of this is that we can then use the same Docker image that was just built on a completely different computing environment (with Docker installed over there of course).
Learn more about Dockerfile
and building Docker images here.
Dealing With External Dependencies
In a real-life scenario, our applications often require us to have external dependencies such as databases, message queues, etc. With Docker, we could easily download and run specific versions of the external dependencies that we want.
For example, to install the latest version of PostgreSQL, simply run:
# To download & run the latest postgres image:
docker run -d --name dpostgres -p 5432:5432 -e POSTGRES_PASSWORD=password postgres:latest
# To use psql:
docker exec -it dpostgres psql -U postgres
# To run shell within the same docker container:
docker exec -it dpostgres sh
Oh, now you need a Redis instance? Simply run:
docker run --name dredis -d redis
The best part about this is that we keep different versions of the same software running on our machine! If you haven’t started using Docker, I would highly recommend you try it out. It has made my life as a developer so much easier.
Insomnia REST Client
Pricing: Freemium
Free version (with gist sync plugin) is great enough for personal usage
Regardless of whether you’re a front-end or a back-end developer, it is common for us to integrate with 3rd party APIs or even develop our own set of APIs.
Typically, one would use API Clients such as Postman to test the functionality and performance of our API during the development.
While Post is no doubt the de facto standard for API testing and development, Insomnia REST Client — a light and easy-to-use alternative to Postman is hands down my favorite API client today.
Why?
Besides the cleaner-looking UI, one of the best features that I like about Insomnia is the ability to chain requests. Chaining requests means we can extract values from the responses of other requests and use them in the current request.
For instance, imagine you have an /user/update
endpoint that requires a token
and userId
value from a /login
endpoint.
In this case, you can use chaining requests to automatically run the /login
request and extract the response from that endpoint every time you hit ‘Run’ on the /user/update
request without having to switch to /login
endpoint every time the token
expires.
Besides, Insomnia also supports a bunch of community-written plugins which can come in handy such as faker
.
As the free version of Insomnia does not come with cloud sync (which might be a deal-breaker for some), I personally use insomnia-gist-sync
to sync all my workspaces for free.
Though I’d still highly recommend you get the paid version of it. It’s worth every penny!
Read more about Insomnia here.
TablePlus
Pricing: Freemium
I’d recommend you to switch to the paid version ($60 for perpetual license) for a better user experience. The free trial is limited to 2 opened tabs, 2 opened windows, 2 advanced filters at a time.
As a backend developer, it is pretty common for me to perform database administration tasks with the help of a database tool.
TablePlus is a native tool with a modern-looking and friendly interface that you can use to create, query, edit, and save your databases in a very fast and secure way — it feels just like editing a spreadsheet.
What Can You Use It For?
- Using conditional filters to narrow down data in your database table
- With a spreadsheet-like view, one could easily modify data using the inline editing feature by simply double-clicking a cell
- Writing custom SQL queries
- Viewing multiple databases and tables in multiple tabs
- Deleting, updating, or creating database tables and indexes
- Exporting data as CSV, JSON, or SQL
- Database restore and backup to your local machine
- And many more
Supported Databases
As of the time of writing this, it currently supports PostgreSQL, MySQL, SQLite, MS SQL Server, Redshift, Redis, MariaDB, and CockroachDB.
Getting Started
Here are some amazing guides that are written by TablePlus to get you started quickly: