The Best Free Tools Every Developer Needs
If you’ve read my article from a couple years ago where I talked about great tools you should be using, you know that I love a good free tool that helps me get things done. You’ll also probably recognize that most of these tools are outdated or not as relevant in 2020. With the rise of the ‘rona, working is something on everyone’s mind, especially working from home in the software industry. Thankfully, since time passes at an alarming rate in tech years, new tools are showing up all of the time. These tools are some of the best free tools that you should be getting things done with.
Notion is undeniably useful. It’s a tool that I hadn’t heard of until a couple of months ago. Now, it’s one I can’t forget about. This wiki-creator, database-maker, note-taking web-app is somewhat a jack-of-all trades, except that you get out of it what you put in. With a structure based on nested pages (which, admittedly, can be awkward at first), your workflow is as you design it.
The built-in templates are a great way to get started. With templates ranging from simple to-do lists and project roadmaps to new hire onboarding, Notion has your job covered. The best part is that all of these templates are fully customizable. Pages are broken into different components, one of which is a full-on database to manage information.
Of course, not every tool is without its downsides. Notion can be confusing to pick up. With so many options, and infinite ways to customize a page, it can be overwhelming to get started on hand-crafting your own workflow. However, their overwhelming choice is partially solved with their comprehensive templates that can help anyone to get started with virtually anything.
Visual Studio Code
If you’re a developer, the chance that you haven’t heard of Visual Studio Code (a.k.a. VS Code) is extremely slim. VS Code is one of those once-in-a-lifetime tools. Using it just feels right. With over 104k stars on its official GitHub, it’s ranked at the 15th most starred repository at the time of writing according to gitstar-ranking.
In my opinion, one of the most important factors in choosing a tool is ensuring that the tool is popular. With great popularity comes great support. This is especially true when dealing with open source software. If a high-demand feature isn’t implemented, the community can take the project, fork it, and add that feature themselves. In the case of VSCode, that process is even simpler. VSCode allows for community-created extensions that allows users to tailor the experience to their needs.Whether you need support for a specific programming-language, linting for said language, or a live server, you can find an extension for these and more in the built-in extension “marketplace.”
I used to be a huge supporter for IDE’s, and in some cases, I still am. However, IDE’s are typically somewhat slow, dedicated to one particular use-case (be it a language, framework, or otherwise), and have limited free features. VSCode is almost the opposite. It’s lightweight, can be used for nearly anything (including markup), and is open-source.
It’s essentially perfect.
This one is somewhat of a gimme. It’s vcs, it’s git, it’s GitHub! Need I say more? Of course I do, this is an article.
Git is universal. Nearly everyone uses it. It’s a tool for controlling versions, rolling back changes, making sure that everything runs smoothly throughout the software development process. Have a feature that needs to be implemented? Create a branch off of main. Done with the feature? Merge it to main branch.
Git keeps developers from creating irrevocable changes and pushing bad code. GitHub allows developers a great place to host their code, maintain repositories, manage branches, users, projects, etc. Recently GitHub has been adding even more features that help developers maintain their product through the development lifecycle such as a built in scrum-style project manager.
GitHub is an absolute must for anyone looking to keep track of their projects, features, and changes throughout development.
When it comes to being productive, it’s important to keep track of what needs to be done. Personally, I don’t think any to-do list does it better than Todoist.
Todoist is feature loaded. Perhaps one of its greatest features is its natural language processing when creating task names. For example, if I put “Take out trash at 8pm,” it’ll automatically set a reminder for 8pm with the title “Take out trash.” It simplifies the task creation process and makes scheduling tasks a breeze.
One of their newest features, though, gives it an even bigger edge for making it onto the list. The introduction of the Board View. Previously, every Todoist project was a list of tasks and not much more. Now, Todoist has introduced a board view akin to that of Trello where there are multiple categories, each with a list of tasks.
This has helped immensely to visualize tasks that are being worked on, need to be worked on, and already finished. But don’t worry, creating a task in board view does not lock it to board view. The view can be changed at any time back to the traditional list view.
Although it’s as simple as a new view, this view is a game changer. It’s the difference between filtering through a list of tasks and visualizing an overarching project structure. It’s completely changed the way I look at to-do apps.