In this article, you’ll get to know the best software engineering tools you can use as a programmer. I’m sure you’ll discover new tools to add to your arsenal.
While most of the time on a project is spent reading your and others’ code, the time you invest in writing code has to be as productive as possible. We all know that the tools don’t make the programmer, but they can help you increment your efficiency while building software.
We’ll talk about code editors, IDEs, task organization dashboards, and other general use tools you may need to use now or in one of your future projects. Of course, some of the following software has a subscription cost, so consider this when choosing your toolset.
Let’s get into these tools!
If you have spent some decent time in the industry, you probably have heard about JetBrains, the company behind Kotlin and some of the most used IDEs worldwide.
JetBrains IDEs have all the features you need to build any kind of software. For example, PyCharm (a favourite of mine) used for Python development includes almost everything you could ask for. Debugger, intelligent Python assistance, support for web and scientific frameworks, the ability to code in other technologies, you name it.
Here’s a quick tutorial on the basics of PyCharm:
Also, you can install plugins to supercharge the functionality of any of their IDEs. As an illustration, you can customize the style of your IDE by installing the Dracula theme, or if you love Vim shortcuts, but you want all the features of JetBrains IDE, you can get the IdeaVim plugin.
As a final tip, if you’re not ready to pay for a full-featured JetBrains’s IDE, you can start with an educational IDE like PyCharm Edu or IntelliJ IDEA Edu (for Java and Kotlin development).
GitHub is the most used platform for managing and Git repositories. It’s a freemium service that makes collaboration, development, automation, and deployment in software projects of any kind much easier.
You may also know this site as a social network for developers. This is not that far from the truth.
Most professional developers have a GitHub account in which they expose their best projects and inventions. The best part is that you can interact with other people by collaborating with their repos via pull requests or opening issues.
It’s almost impossible to establish yourself in the industry without a good knowledge of Git and GitHub. Once you realize that creating software implies working with many people, this becomes much more evident.
There are other services like GitHub, for instance, GitLab and Bitbucket. Of course, GitHub is the most popular, but the two mentioned are excellent options. Specially GitLab, which is a totally open-source project.
CMake is an open-source system-agnostic software used for building automation of programs written in C and Cxx (e.g., C++) languages. It’s been used for vastly known projects like KDE and MySQL and by companies like Netflix or HDF group.
It uses scripts called CMakeLists to generate build files for a specific OS. It’s pretty easy to use and generates the build files outside the source code.
CMake has extensive documentation for every version out there, as well as a big community.
It’s often used along with popular IDEs like a JetBrains IDE: CLion, Visual Studio, Xcode, and Eclipse.
If you’re a Java developer who wants to build modern web applications, you’ll love Vaadin.
It is an open-source platform that simplifies the process of creating web apps with Java by giving you all the components, frameworks, collaboration, and testing tools you’ll need. It even has a collaboration engine that helps you be more productive and take control of sensitive data.
With Vaadin, you don’t need to build backend and frontend separately, making your workflow extremely effective.
You can get started for free as this is an open-source project and upgrade if you need commercial features.
If you want a quick walk-through, here’s the perfect video for you:
Eclipse is one of the most popular IDEs for Java development. It’s free, open-source, and available on Windows, macOS, and Linux.
It’s has been around since 2001, so it’s a project you can always rely on. Eclipse is also an extensible IDE, which means you can install plugins to expand its functionality. It has excellent community support, and of course, deep documentation.
Without a doubt, one of the most iconic IDEs of all time.
Lightrun is an observability platform that saves you hundreds of hours of debugging.
Lightrun grants you 100% visibility in your code, even if you have a huge monolith application or a highly distributed one.
It supports multiple languages, including Python, Java, Node.js, Scala, and Kotlin. You can integrate it into your IDE with the Ligthrun IDE plugin or Lighrun CLI.
The best part is that it’s free for community and individual developers. Make sure to check out their plans now.
I can’t stress enough how important it is to learn and use Docker for big projects.
Numbers say it all. Over 13 million developers are currently using this software engineering tool, and you should do so.
But what is Docker then?
Docker is an open-source containerization platform that packages the application and dependencies inside a “container.”
The containers are lightweight executable packages that include all the dependencies required to run an application.
This with the idea of making your app work in any environment, whether in your local machine, your teammate’s computer, or in a production environment.