Developers are always looking for simpler ways to do more advanced things in less time, and one of the many ways that they can achieve this is by using a selection of tools to supplement their workflow. The aim of this article is to cover some of the major tools that people use, and to give you an insight into what they can do to make your life easier.

And to seal the deal, all the tools I’ll be mentioning are completely free to use, which is an incredible price for what you’re getting from them.

🔄 Git / Version Control

Git is the most well-known version control tool out there. It allows you to store your code on a server (thereby reducing data-loss risks), collaborate with other developers and share your code online. Another huge plus to Git is that it allows you to go and look at other people’s public repositories, and see how they solved certain problems. This can then help you solve the problem in your application, and it can save you lots of time and effort.

Git is open-source itself and it comes with a huge selection of extensions that allow you to modify the functionality of the system in a huge range of different ways.

The fact that Git allows you to go back and review previous versions of your code, see how it’s changed and keep track of issues as well as provide you with lots of automation tools makes it quite clear that Git, or a Git alternative is a must-have for nearly every project.

Whilst you could install a system like Gitea on a VPS and then run your own Git server, there is a selection of different services out there that provide Git repository hosting as a service. These services often come with lots of extras too, and usually a very generous free tier. The most notable Git host out there is definitely GitHub, but it is closely rivalled by GitLab among other solutions.

🖥️ GNU/Linux

This one isn’t technically a “tool”, it’s more “a whole suit of tools”. Linux has a huge range of distributions, all of which can be installed on your computer, your server or even your fridge as an operating system. Developers use Linux for servers because it is so fast and lightweight when compared to Windows or other alternatives, and it’s completely free.

Similar reasons often come up when it comes to running desktops as well, and if you’re a developer you’ll likely find having Linux running on your work machine gives you a significant boost to productivity. Linux is incredibly secure, and it is incredibly customisable. Not only does it have many more settings than any other operating system, but it’s completely open-source which means you can edit the code if you want to.

The main reason people shy away from Linux is that it is very strongly affiliated with using a command line. It’s true that Linux is heavily based on a CLI, but there are GUIs available and it isn’t difficult to get to grips with the basic commands.

Here are a few of the simplest commands:

pwd - Print the directory you’re currently in

ls - List the contents of your current directory

cd - Move to a directory

To get a feel for some more basic Linux commands, you might find this post by pcwdld helpful.

If you’re interested in learning more, then I would recommend looking into using Ubuntu, a popular Linux distribution that is beginner friendly, and giving this a read.

🧮 VSCode

When you write code, you’ll more than likely be using an IDE. Unless you’re using Notepad or something (why are you doing that?). An IDE, or integrated development environment, should give you a few basic functions such as syntax highlighting, debugging and a set of tools to help you write and test your code.

Using a good IDE won’t make you a good programmer, but it will make your life a whole lot easier. That’s why VSCode has become so popular. It supports so many languages, is very customisable and has countless extensions to let you do everything from improving how your code is displayed in-editor to supporting new languages or technologies to even full on dating apps (Vsinder).

The reason that I use VSCode is because it just works. It does nearly everything I want it to do, either out of the box or with an extension and then I can just focus on writing my application rather than sorting out debugging or finding a workaround for some feature I need.

Some popular VSCode extensions include:

Prettier - Improve the layout of your code with this code formatter for web developers.

Python - Adds support for the Python language.

LiveShare - Collaborate with other developers working on the same project in real-time over the internet.

☎️ StackOverflow

It’s incredibly common to run into problems when writing code, and StackOverflow can provide you with a great point of contact for asking other developers how to fix your issue. When you search for programming related problems, you’ll likely find yourself stumbling upon quite a few StackOverflow links as it has a massive library of questions already in place, most of which have been answered. This can really accelerate your programming experience as it allows you to debug an issue or find a solution to a complex problem easily, without having to post a question yourself and wait for a response from another developer (more than 21 million questions asked).

StackOverflow has helped developers more than 45.1 billion times since 2008, which is extraordinary.

Not only has this website become so large and useful, but it has become ingrained within the culture of developers and it is frequently referred to all across the internet. This makes it a tool that you should definitely keep at your fingertips as it will likely help you time and time again, no matter what you’re doing or making.