DEV Community

Cover image for Essential Tools & Technologies for New Developers
Sotiris Kourouklis
Sotiris Kourouklis

Posted on • Originally published at sotergreco.com

Essential Tools & Technologies for New Developers

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.

Bitwarden

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.

Git

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.

Radix UI

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

Top comments (0)