DEV Community

Cover image for 5 open-source tools every developer should know
Programming with Shahan
Programming with Shahan

Posted on

5 open-source tools every developer should know

🔑 Key Concepts

Every programmer needs some efficient tools to help them write code, test it, and work with others.

Some of these tools are open-source, which means anyone can use them for free.

In this article, we’ll talk about the top 5 open-source tools every developer should know.

1. Git 🗂️

Imagine you’re drawing on a whiteboard and want to go back and see what you did earlier—Git helps you do that.

It’s a version control system, which means it helps track changes in your code, allows you to see older versions, and makes it easy to work with other people on the same project.

  • 🔥What makes it great? You can try out new ideas without messing up the old version. If you don’t like the new version, you can just go back and start over.
  • 🧯Why do you need it? Because it keeps your work safe and helps you manage different versions of your project.

2. Visual Studio Code 📝

Visual Studio Code (or VS Code) is one of the most popular code editors. It’s an open-source code editor that helps you type faster, catch errors, and even test your code.

It works on Windows, Mac, and Linux, so no matter what kind of computer you have, it’ll work for you.

  • 🦹‍♂️What makes it popular? You can change how it looks and add features with extensions.
  • 🔫Why do you need it? It makes writing and fixing code easier and more fun.

3. Docker 🚢

Docker is a container where you put your application along with everything it needs to run, like the language, libraries, and settings.

When you use Docker, you can move your application from one computer to another, and it’ll still work exactly the same!

  • 💉What makes it mandatory? You don’t have to worry about the “it works on my computer” problem. Docker makes sure it works everywhere.
  • ⛓️‍💥Why do you need it? It saves time and avoids compatibility issues.

4. TensorFlow 🧠

TensorFlow is a tool used for teaching computers to learn, like how your brain learns new things.

It’s mostly used for machine learning, which is how computers can learn patterns and make decisions. For example, writing a block of code to teach a computer how to recognize pictures or understand text.

  • 🔥What makes it great? You can create really smart programs that can learn from data.
  • 🤖Why do you need it? If you want to get into AI (Artificial Intelligence) and make machines that can think a bit like humans, TensorFlow is your go-to tool.

5. Selenium 🧪

Selenium is like a robot that tests websites for you.

If you build a website and want to make sure all the buttons work and no errors pop up, you can use Selenium to do the job automatically.

  • 🔥What makes it best? You don’t have to test everything by yourself—Selenium can do it faster and more accurately.
  • 🐛Why do you need it? Because it saves time and helps you find bugs quickly.

Why You Should Learn These Tools 🍂

All these tools—Git, Visual Studio Code, Docker, TensorFlow, and Selenium—are completely free to use, and they have huge communities of people who keep improving them. Knowing these tools will make you a better and more efficient developer.

Thanks for reading this article. Make sure to follow me on 𝕏 for the latest updates.

Read more: skills to become a backend developer in 6 months (roadmap)

Top comments (17)

Collapse
 
oussamabouyahia profile image
Oussama Bouyahia

thanks , I never used Selenium , please is it used to test only hosted web sites or even apps in local environment.

Collapse
 
codewithshahan profile image
Programming with Shahan

Welcome... Selenium can test both hosted websites and local applications. It doesn’t need the website to be on a server.

You can use Selenium to test local HTML files or apps running on localhost or any local server.

Collapse
 
thomas_britton profile image
Thomas Britton

Selenium is good to know if you're going into the more QA/Testing aspect of the industry but if it's not, then I would suggest learning tools such as Cypress and Playwright instead

Thread Thread
 
saurabhshcs profile image
SAURABH SHARMA

Yeah, similar thoughts I have here, usually according to current trends of Microservices and fast development process.

Companies are expecting from from developer to be professional n full stack skilled (Frontend+ Backend+ Devops) where it is expected to write the test scenarios from backend to the DevOps scripts.

I have worked in live several projects where there was no QA and developers usually write all the Frontend test scripts in jest, mocha, Cyprus, JUnit etc.

It's sometimes easy for developer to learn n work quickly on Cyprus.
Happy to connect and talk more...

Collapse
 
gleeson_joseph profile image
Gleeson Vargese

Only websites, it is an automation tool which testers use for frontend automation. it can also be used to automate mundane task too.

Collapse
 
shouryan_bharote profile image
Shouryan Bharote

Please provide resources and courses for tenserflow

Collapse
 
codewithshahan profile image
Programming with Shahan

You will find it on google

Collapse
 
scadreau profile image
Scott Cadreau

PyTorch is also great for AI

Collapse
 
codewithshahan profile image
Programming with Shahan

Yep

Collapse
 
pam99070929 profile image
Pam

thank for those advices.

Collapse
 
codewithshahan profile image
Programming with Shahan

You're welcome

Collapse
 
hosseinyazdi profile image
Hossein Yazdi

Thanks Shahan!

To add on, here's another selection of the top dev tools:
440+ Best Developer Tools

Collapse
 
codewithshahan profile image
Programming with Shahan

Thanks for sharing with me.

Collapse
 
meta38net profile image
David

Stack overflow, to get advice?

Collapse
 
codewithshahan profile image
Programming with Shahan

not a bad idea

Collapse
 
lenic_amini_7f7074b29d1b3 profile image
Lenic Amini

I have never use selenium

Collapse
 
codewithshahan profile image
Programming with Shahan

try it once :)