Developers always should understand the tools they use. With the right tools, you can achieve your job easily and efficiently. In this article, I’ve listed all the tools I use in my daily job.
1. Ubuntu Linux
Over the last 4 years, I’ve been using Linux as my main operating system. The first distro that I used was Ubuntu 12.04 LTS back in 2012. I’ve tried so many Linux flavors. Kali, Debian, Pirot, Mint, etc. I found Ubuntu a developer-friendly distro packed with so many developer tools. I’ve been using Ubuntu 20.04.1 LTS focal as the main OS in my Dell Vostro 5590.
I’ve been using vim as my main text editor for about 2 years now. Life becomes much easier when you master vim. When you know its capabilities, or what you can do with it, your work becomes faster. You can find my dotfiles in my Github here.
Another text editor that I prefer is VSCode. It is lightweight. One of the cool things about VSCode is you can tweak settings in so many ways and vim can be integrated with VScode. It also comes with an integrated terminal. And there are so many extensions available that makes developers life much easier. Some of my favorite extensions are AWS Toolkit, ESLint, Live Server, Live Share, Prettier — Code formatter, YAML, Live Sass Compiler, Docker, etc.
Docker is a set of the platform as service products that use OS-level virtualization to deliver software in packages called containers. Containers are isolated from one another and bundle their own software, libraries, and configuration files; they can communicate with each other through well-defined channels.
Docker has gained so much popularity in a short period of time. Containerization has changed the way we ship software and everything is now moving to automation. I use docker almost every day.
Git is a free and open-source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.
I use Github and Gitlab for remote code repository.
Postman simplifies each step of building an API and streamline collaboration so you can create better APIs — faster.
I use Postman for API development, request, API debugging. Besides Postman, I also use Insomnia and Insomnia designer for API documentation.
7. Swagger Editor
The swagger editor helps to design, describe, and document your API on the first open-source editor fully dedicated to OpenAPI-based APIs. The Swagger Editor is an easy way to get started with the OpenAPI Specification (formerly known as Swagger), with support for Swagger 2.0 and OpenAPI 3.0.
I use a swagger editor in my local machine on a docker container. You can download it from here.
8. Lucid Chart
As software engineers or developers, we love the visual representation of complex systems that we are going to build. Lucidchart is my goto tool to draw UML diagrams and AWS architectures.
At work, we use slack every day for communication. Communication is super important in dev jobs. Especially, during this WFH situation, slack is playing a vital role.
I use zoom for official meetings, scrum, daily stand-up meetings, and 1–1 meetings.
Thunderbird is a free email application that’s easy to set up and customize — and it’s loaded with great features! It is an open-sourced secured email client from Mozilla.
12. Discord (Programmer’s Hangout)
Discord is an American proprietary freeware instant messaging and VoIP application and digital distribution platform designed for creating communities ranging from gamers to education and businesses. Discord specializes in text, image, video, and audio communication between users in a chat channel.
I use discord to reach people like me who love technology. One of the best channels I found is Programmer’s Hangout.
Figma is a vector graphics editor and prototyping tool which is primarily web-based, with additional offline features enabled by desktop applications for macOS and Windows. The Figma Mirror companion apps for Android and iOS allow viewing Figma prototypes on mobile devices.
I use Figma for prototyping UI and preparing for website mocks.
htop is an interactive system-monitor process-viewer and process-manager. It is designed as an alternative to the Unix program top. It shows a frequently updated list of the processes running on a computer, normally ordered by the amount of CPU usage.
15. Chrome DevTools
Chrome DevTools is a set of web developer tools built directly into the Google Chrome browser. DevTools can help you edit pages on-the-fly and diagnose problems quickly, which ultimately helps you build better websites, faster.
So these are the top drivers I use every day in my job. Languages, tools, frameworks come and goes. The important thing is to stay up to date with industry-standard tools and using the right tools for the right job.
Happy Learning! 🙂