Essential Tools & Technologies for New Developers
Tools and Technologies every beginner developer should start using.
Table of contents
When starting to code for the first time, you are kind of lost on what the best tools or technologies for productivity are. So today, I am going to share all the tools and technologies I use on a daily basis that keep me productive.
Working Environment
Before we dive into the technical staff, we need a proper environment to work in that will fulfill all of our needs.
Brew
Before we start installing anything, if you are a Mac user, you need to install homebrew, a package manager for Mac that will help you install software quickly and easily from this article.
Terminal
For Linux users, your default terminal is just fine. The only thing I would install is oh-my-zsh with the autocomplete plugin. For my Mac friends out there, iTerm is an amazing software that works well with oh-my-zsh as well.
IDE
For beginners, the best code editor is Vscode.
If you later become more advanced, you can try JetBrains. If you buy a JetBrains subscription, you can install Toolbox, a software that lets you manage all your projects and IDEs in one place.
Having a password manager is important to keep all your passwords safe and also compartmentalize all your logins. Having the same password everywhere can make you really vulnerable to hacker attacks, and in the long run, if one of your passwords is leaked, you are screwed.
CLI Software
Now let's move on to more specific software that you will most likely need.
Every developer has git installed to his computer. I don't think there is a question for that. It doesn't matter if you are using Github or Bitbucket Git is the go-to version control software.
Databases
Every time I buy a new computer, the first thing I install is the servers for MySql and Postgres, the two most common databases. This way, I can start the databases with a simple command like this:
mysql.server start
pg_ctl -D /usr/local/var/postgres start
You can also install other databases if you want, like MongoDB. I don't like software like XAMPP or MAMP; I find them too boring.
Database Managers
Now that we've talked about databases, we are going to look at some software for connecting and managing your databases. DBeaver is a good free software that works on all platforms. But for those who are using JetBrains, you can also use Datagrip.
There are more alternatives as well but these 2 are my favorite.
Technologies
Next.js
Next.js is a powerful React framework that enables developers to build server-rendered applications, static websites, and more. It's designed for production and provides features like automatic code splitting and optimized prefetching.
Offers a suite of unstyled, accessible UI primitives for building high-quality, customizable design systems and web apps.
Lastly, Tailwind CSS is a utility-first CSS framework packed with classes like flex, pt-4, text-center, and rotate-90 that can be composed to build any design, directly in your markup.
Together, these technologies provide a robust toolkit for creating modern, responsive, and accessible web applications.
Final words
In conclusion, setting up a productive development environment as a beginner can seem daunting, but with the right tools and technologies, you can streamline the process and enhance your coding experience.
From essential software like Homebrew and Git to powerful frameworks like Next.js, each component plays a pivotal role in building a robust and efficient workspace.
Thanks for reading, and I hope you found this article helpful. If you have any questions, feel free to email me at kourouklis@pm.me, and I will respond.
You can also keep up with my latest updates by checking out my X here: x.com/sotergreco