It is important to stay on track with the fast moving and ever changing world of software development. There are many options when it comes to deciding on which software development tools to use for your daily tasks at work, and to build working software efficiently, you need the best software development tools around as they’ll make your life a lot easier!
Software development industry has been constantly changing to keep pace with the demand of products. To do that new languages, frameworks, libraries, and tools are released almost daily, some of them gain maturity and popularity between developers.
As a developer you will write, test, deploy, and document code, communicate with your team, and follow up the progress of the project. For each one of those mentioned processes there are tons of tools created and deployed in the market. However, we made the effort of selecting the 10 most popular ones. The ones that are widely used by professional software development teams and the ones we use at Ubiqum when we train our students to become a professional developer.
The world’s leading software development platform. GitHub is a web-based Git repository hosting service. In simple words, it is like a Google Drive for software projects, where you can find code. When uploading your project, you have the choice of making it public or private. The community is huge and the project base even bigger. GitHub is also an excellent place for collaborative development, where developers can discover, share, and build better software.
Your code needs to be stored, tested, compiled, packaged and deployed in order to be available for your customers, this is a repetitive task and should be automated to save you time and reduce human error. Github repositories and actions allows you to configure a set of tasks that will be executed once you commit or merge code to a branch. Every project that a student develops at Ubiqum is stored on its personal Github repo.
As a software developer, you will write code so you will need a text editor, this could be obvious. There are tons of text editors on the market but for simplicity and powerful operations we recommend Atom. It’s a text editor created by GitHub. An open source code full of integrations to make your life, writing code, a lot easier. Ubiqum’s methodology gives you the opportunity to start coding from day one so Atom will be one of the first tools that you’ll install and use when enrolling in our programs.
Git is a Version Control System (VCS) that allows you to save your work and go back and forward easily and securely. Also, two or more developers could work on the same project/file simultaneously. Git is the most used and widely adopted VCS. At Ubiqum, since day one, we use git to create tasks and ask for a mentor’s review like in any real developer job.
Git is a free and open source distributed VCS designed to handle everything from small to very large projects with speed and efficiency. When a developer is working on something, they have to regularly make changes to the code until they get to the last version.
What a version control system does is that it saves every change made, allowing others to collaborate, make changes and contribute. You will also find a copy of the code of every developer’s work.
4. IntelliJ IDEA
Intellij is an Integrated Development Environment. An IDE integrates all the tools that you need to develop a platform, so it has a code editor, a compiler, a debugger, etc. After IntelliJ IDEA’s indexed your source code, it offers fast and intelligent experience by giving relevant suggestions in every context: instant and clever code completion, code analysis and reliable refactoring tools.
With an Integrated Development Environment (IDE) you will also write code but it provides you, as well, with tools to execute several tasks that a text editor can’t, such as debugging and test code, executing a terminal, building automations, add libraries, to name some. IntelliJ is a proprietary IDE developed by JetBrains, it has a community version (very complete) and an enterprise edition with more features. When coding Java at Ubiqum we use IntelliJ to create, debug, and test your code.
Terminator is a terminal emulator. Use git (and more) commands, install packages, run your app, and check your network. These are some of the activities you will do in a terminal. Every OS has its own terminal installed, but there are always more options, Terminator is a good one. It allows you to open several sessions on a single window and personalize each one. For the sake of simplicity our students use their OS native terminal. Once they gain experience and require a deeper use of a terminal, they’ll end up using, optionally, Terminator.
Code is written in a community of developers, almost nobody will create a productive and robust app for the market by itself. Development teams that follow agile methodology will be 10 people tops, it shouldn’t be an issue to communicate between the team, nevertheless there are plenty of tools to communicate that sometimes produce the opposite effect.
Slack is where work flows. It’s where the people you need, the information you share, and the tools you use come together to get things done. Slack is an amazing app that all of Ubiqum team members and students use for communication. Slack really helps to reduce the amount of daily emails, plus it increased communication between different teams. In Slack we create different channels and always have a common one, where we share company news, jokes, etc. I would say it has united us even more! Also, it helps you to stay focused as each channel has its own topic; you always know where to find information and where to ask a question regarding a particular topic and instantly receive an answer. Also, you have a chat option which you can use to speak directly with each member of the team in real time, between channels. If this wasn’t enough, there is also a drag and drop that’s really nice to use, a feature that enables you to share all sorts of files and add comments to them, or even tag people. Highly recommended! However, I am pretty sure you already use it :)
The ultimate goal of software developers is to deliver code to a production ready app, there will be small iterations (sprints) to divide big tasks (epics) into smaller ones (stories) and obtain a releasable portion of the final product. To be able to handle this in a structured way there is a list of all tasks (product backlog) and a smaller one (sprint backlog) for the current iteration.
Asana is the easiest way for teams to track their work. It is a task management tool that allows teams to share, plan, organise, and track the progress of the tasks that each member is working on. It is simple, easy in usage and free for up to 30 users in a team. Each team can create its workplace that will have projects and project tasks; each task can have notes, comments, attachments and tags.At Ubiqum we use it to follow all our operations tasks.
Once a developer starts creating or consuming APIs you need a tool to execute your HTTP requests and interact with the backend quickly and without major implementations. Postman allows you to build, test, debug, document, monitor, and publish your APIs in a simple and clean way. Our students at Ubiqum learn to use Postman while developing their own APIs.
10. Google Docs
Google Docs: This is an important part of the delivery of quality and sustainable code, documentation of architecture, set up environment, description of the services, API usage, and so on. This and more information should be generated and stored in some repository, Google docs is one of the most popular solutions to store documentation and to 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 is our collaborative environment to create and maintain all presentations that students receive during its bootcamp.
11. Stack Overflow
And last but not least, we want to mention Stack Overflow. It may not be a tool in the same sense of the above mentioned but it is the largest online community for programmers, which is visited by more than 50 million developers every month. This is a place where they learn, share knowledge, and advance their careers. Our developers love this forum and visit it almost every day as you can find answer to almost all the questions and doubts you may have.
Come to Ubiqum and take one of our software development programs