11 software development tools that will make you more productive

Software development does not only require knowledge of a programming language. It is also necessary to know how to use the tools of the software development process that are used in any project and that improve individual productivity and coordination among the team.

As a developer, you will write, test, implement and document code, communicate with your team and track the progress of the project. For each of the above processes there are many software development tools available on the market. In this article we have endeavored to select the 11 most popular ones. The ones that are widely used by professional software development teams and the ones we use at Ubiqum when training our students to become professional developers.

GitHub

Code created by a developer must be stored, tested, compiled, packaged and deployed to make it available to customers; this is a repetitive task, and automating it saves a lot of time and reduces human error.

GitHub is the world’s leading software development platform. It is a hosting service, a repository, web-based. In simple words, it is like a Google Drive for software projects, where you will find repositories of code from a huge number of projects. When you upload your project, you have the option to make it public or private. GitHub is also a great place for collaborative development, where developers can discover, share and create better software.

At Ubiqum you will learn how to use GitHub from day one and every project a student develops at Ubiqum is stored in their personal GitHub repository.

Git

Git is a version control system (VCS) that allows you to easily and securely save your work, roll back, and move forward. Git is a free, open source, distributed VCS designed to handle everything from small projects to very large projects quickly and efficiently. What a version control system does is that it saves every change made, allowing others to collaborate, make changes and contribute to the same project. In addition, two or more developers could work on the same project/file simultaneously. Git is the most widely used and widely adopted VCS. At Ubiqum, from day one, we use git to create tasks and request a mentor’s review as in any real developer’s job.

IntelliJ IDEA

Intellij is an integrated development environment. An IDE integrates all the tools you need to develop an application, a code editor, a compiler, a debugger, etc.

An integrated development environment (IDE) allows you to write code, and also provides you with tools to perform various tasks that a text editor cannot, such as debugging and testing code, running a terminal, creating automations, adding libraries, to name a few. IntelliJ is a proprietary IDE developed by JetBrains, it has a community version (very complete) and an enterprise edition with more features. When we develop with Java at Ubiqum, we use IntelliJ to create, debug and test the code you write.

ESLint

ESLint is a static code analysis tool. While developing code, errors are part of the process, linters are here to help us detect, suggest a solution and even solve some of the errors that may exist in our code. For each language there are many options. ESLint is the most popular linter for JavaScript. At Ubiqum we configure ESLint in all projects so that our students generate their code following best practices.

Atom

As a software developer, you will write code so you will need a text editor. There are tons of text editors on the market, but for simplicity and functionality, we recommend Atom. It’s a text editor created by GitHub. An open source code full of integrations to make your life, writing code, much easier. Ubiqum’s methodology gives you the opportunity to start coding from day one, so Atom will be one of the first tools you will install and use when you sign up for our programs.

Terminator

Terminator is a terminal emulator. Use git commands (and more), install packages, run your application, and check your network. These are some of the activities that are performed in a terminal. Every operating system has its own terminal installed, but there are always more options, Terminator is one of them. It allows you to open multiple sessions in a single window and customize each one. For the sake of simplicity, our students use the native terminal of their operating system. Once they gain experience and require more in-depth use of a terminal, they will start using an emulator with more functionality, for example Terminator.

Slack

All code is written by a community (team) of developers, almost no one creates a productive and robust application for the market, individually. Development teams following an agile methodology will be 10 people maximum, it should not be a problem to communicate among the team, but 10 people working at the same time in a complex project need a good coordination.

Slack is where the work flows. It’s where people, shared information, and tools come together to make things work. Slack is an amazing application that all Ubiqum team members and students use to communicate. Slack really helps reduce the amount of daily emails, as well as increase interaction and communication between different teams.

In Slack we create different channels and we always have a common one, where we share company news, jokes, etc. Slack helps you stay focused, as each channel has its own topic; you always know where to find the information you need and where to ask a question about a particular topic and receive an answer instantly. In addition, you have a chat option that you can use to talk directly to each team member in real time and between channels. If that wasn’t enough, there is also a drag and drop feature that is really nice to use, a feature that allows you to share all kinds of files and add comments to them, or even tag people.

Asana

The ultimate goal of software developers is to deliver the code of an application ready to go into production; to achieve this there will be small iterations (sprints) to split the big tasks (épics) into smaller ones (stories) and get a part of the final product. In order to handle this complexity in a structured way, there is a list of all tasks (product stack) and a smaller one (sprint stack) for the current iteration.

Asana is the easiest way for teams to keep track of their work. It is a task management tool that allows teams to share, plan, organize, prioritize and track the progress of tasks each member is working on. It is simple, easy to use and free for up to 10 users in a team. Each team can create their workspace, which will have projects and project tasks; each task can have notes, comments, attachments and tags. At Ubiqum we use it to track all our tasks in the operations and marketing area.

Postman

Once a developer starts creating or consuming APIs, they need a tool to execute their HTTP requests and interact with the backend quickly and without the need for large implementations. Postman allows to create, test, debug, document, monitor and publish APIs in a simple and fast way. Our Ubiqum students learn how to use Postman while developing their own APIs.

Google Documents

Google Docs: this is an important part of delivering sustainable and quality code, architecture documentation, environment configuration, services description, API usage, etc. All this information must be generated and stored in some repository, Google docs is one of the most popular solutions to store documentation and be the collaborative environment where the team will find all the information, from meeting minutes to architectural design and product roadmap. Our documents are stored in Google Cloud and it is our collaborative environment to create and maintain all the presentations that students receive during their bootcamp.

Stack Overflow

And last but not least, we want to mention Stack Overflow. It may not be a tool in the same sense as the previous ones but it is the largest online community for programmers. It is visited by more than 50 million developers every month. This is a place where our students, and the entire programming community, learn, share knowledge and advance their careers. Our developers love this forum and visit it almost every day, as they can find answers to almost every question and doubt they may have.

We use these tools from day one in our intensive Web Development Courses.

Ask us for information about the courses and we will be happy to assist you:

Request information about our courses by filling out the form below.

Other articles of interest

What is Data Science?

Data Science. Just 10 years ago nobody was talking about this topic and today it is one of the areas in which the demand for expert professional profiles is growing the most.

Read more "

Tools for data analysis

Are you interested in data science and want to know which tools are used? In this article we will introduce you from the most used tools that every analyst should know to the most advanced ones.

Read more "

What is a data analyst?

In the information age, data has become one of the most valuable assets for companies. However, simply collecting data is not enough; it is crucial to analyze it and transform it into useful information that can guide strategic decisions.

Read more "