DEV Community

Cover image for ✌️4 core developer tools I use in my daily life πŸš€πŸ˜Ž
Shrijal Acharya
Shrijal Acharya

Posted on

✌️4 core developer tools I use in my daily life πŸš€πŸ˜Ž

TL;DR

This article lists my top 4 tools that I use in my daily life as a developer in 2024. βœ…

These tools are aimed at improving your editing skills, terminal navigation, note-taking, and utilizing Docker beyond the containerization of applications. Also, I have a small surprise for you at the end. πŸ˜‰

If you are not using at least 1-2 tools mentioned in this article, let me tell you, friend, you are missing out. Definitely give at least some of these a try. You'll thank me later. 😎

Swag Man


1. Tmux - Terminal multiplexer

ℹ️ I don’t think there is any reason not to use Tmux. As long as you have to work in the terminal, believe me, this is going to make your life much easier.

Terminal Multiplexer - Tmux

Are you opening up new tabs every time you need to work on something else in the terminal, and your current terminal window is occupied? Believe me, this thing is going to blow your mind. 🀯

You can split a tab/window into multiple panes. Also, there is the concept of a session that allows you to have multiple windows open, completely independent of other sessions, making it easy to work on multiple projects at a time.

See in the image? I have my notes in another window, and dotfile configs in another. Switching between them is very easy and convenient.

Spoiler alert: You will never want to use your mouse when working in the terminal. πŸ˜‰

It hasn't been very long since I started using Tmux, but now it's become my main core utility that I cannot live without. πŸ”₯


2. Neovim - Preferred Code editor

❓ Do you love working in the terminal? If yes, then this code editor is probably what you didn’t know you needed. Give it a try.

Neovim Code Editor

I was a very big fan of VSCode, and still, I am. I knew nothing about Vim and Neovim just a few months ago. But now, believe me, in all these months, I have not touched VSCode even once. 🫠

Maybe you are a very big fan of VSCode as I was, but try switching yourself to Vim motions. That is the best thing you could do for yourself to increase productivity. Once you shift your editor to the terminal, you will slowly start to live in the terminal itself.

Although the editor in the terminal might not be to everyone's taste, at least try to use it once and see if it is something of your choice.


3. Obsidian - Great Note Taking

🧠 My second brain, and if you start using it right now, it will be yours too.

Obsidian Note Taking Tool

I know you might be using some cool note-taking tools such as Notion, Evernote whatever. But, do you remember the last time you opened up these note-taking apps to actually reference something you wrote a few months earlier? πŸ€” See, most of you don’t have an answer. So uninstall these, and do it right now!

Just do it GIF

This is exactly what Obsidian solves. Think of it as your second brain. This tool is so good that I have the GUI open all the time on my virtual desktop, or I open it in a Tmux window so that whenever I am writing code and need to reference my notes, I can easily do so with obsidian.nvim right from my editor. πŸ”₯ Read more on obsidian.nvim.

I also switched from Notion to Obsidian. Believe me, it was one of the best switches I made, one that I am going to cherish for the rest of my life. Don’t worry, you can import your existing notes from your note-taking tools to Obsidian pretty easily.


4. Docker - Beyond Containerization

🐳 Do you use it for more than just containerizing your application? If not, I guess it’s time to.

Docker

Mostly when we think of Docker, we think of it just as a way to containerize applications. We know there are tons of ways to use Docker, but we simply ignore them. But, think of it more like your daily driver, not just for one purpose.

Recently, I wanted to try using Arch so I could say, β€œI use Arch, BTW!” πŸ˜‰ But I didn’t want to install a completely new Linux distribution from scratch just to find out if I don’t want to move forward with Arch. For that, I simply spun up a Docker container with the Arch image and started using it. If I don’t like it in the future by any chance, I will simply remove the darn image with its container. And that’s it, I am back to normal.πŸ”₯

⁉️ Why not use a VM for that use case?

In a VM, you have to allocate all the resources, and it will feel more bloated, to be honest. But with this approach, you have a complete, fully buttery smooth OS without having to do anything manually from scratch.

Also, recently I had to deal with connecting to a remote server via SSH, and my key-based authentication was not working. To debug if the problem was on my side, I simply spun up a Docker container with Alpine, set up my SSH keys there, and it connected successfully. The main problem was with the ssh-daemon wrong config of not accepting key-based authentication on the server itself because of PubKeyAuthentication no in the /etc/ssh/sshd_config file.

Docker is so beautiful 😻, try to use it very frequently.


Surprise Just for You! πŸ˜‰

Microsoft is offering FREE Certification Courses on Cloud, DevOps, and Development! βœ…

No payment, no subscription, and no registration is required. Just start learning! πŸš€

⚠️ NOTE: You will be redirected to the Official Microsoft Website.

https://learn.microsoft.com/training?wt.mc_id=studentamb_366508

Thank you for reading! I hope you try out some of these at least. 🫑

Top comments (67)

Collapse
 
ori_dcr109 profile image
Oriliana D Cruz

I don't usually comment on listicles, but the tools you've mentioned here are definitely something many should use or are already using. Props to you

Collapse
 
shricodev profile image
Shrijal Acharya

Thank you, @ori_dcr109 🫑

Collapse
 
shradhhu_53 profile image
Shraddha Khattar

Yes, I love that he mentions Obsidian and I have been using it for more than 2 years now.

Collapse
 
shricodev profile image
Shrijal Acharya

@shradhhu_53 πŸ™Œ

Collapse
 
shradhhu_53 profile image
Shraddha Khattar

But won't docker take up my cpu and memory usage in the background. I always have a bad experience with docker, TBH.

Collapse
 
fatimamazhit profile image
FatimaMazhit

FYI You can always set cpu and memory limit for Docker docs.docker.com/desktop/settings/l... :)

Collapse
 
shricodev profile image
Shrijal Acharya

Thank you for sharing! ✌️ It's usually good to allocate resources manually based on the computer's specs and requirements.

Collapse
 
yogithesymbian profile image
Yogi Arif Widodo

greats

Collapse
 
shradhhu_53 profile image
Shraddha Khattar

Wow, I did not know I could set up resources like that. thank you @fatimamazhit

Collapse
 
shricodev profile image
Shrijal Acharya

Do you use it in Linux or Windows? It's not very normal to hear such things about Docker. πŸ™

Collapse
 
shradhhu_53 profile image
Shraddha Khattar

I use Ubuntu 22.04. I have followed this official way of installation docs.docker.com/desktop/install/ub.... Is it stable for you?

Thread Thread
 
shricodev profile image
Shrijal Acharya

Yes, I use a Docker desktop. I have no such issues with it so far. πŸ™‚

Thread Thread
 
scottstensland profile image
scott stensland

I simply use a linux laptop/desktop with normal command line docker and have never needed to install docker desktop ... its simply not needed or missed while developing on a Ubuntu laptop ... I have never installed docker desktop as I do not use osx or windows on my dev box

Collapse
 
marcelomazza profile image
Marcelo Mazza

I didn't know some, I'm curious about Obsidian, can you clarify better what you mean with:

This is exactly what Obsidian solves

? I'm curious about what Obsidian solves? Didn't understand, sorry.

Thanks!
Marcelo

Collapse
 
shricodev profile image
Shrijal Acharya

But, do you remember the last time you opened up these note-taking apps to actually reference something you wrote a few months earlier? πŸ€”

I meant this. Sorry if this wasn't clear to understand. :)

Collapse
 
marcelomazza profile image
Marcelo Mazza

Oh got it! no worries, I did understand that, but then I couldn't understand:

how do Obsidian solve that?

Collapse
 
krzemian profile image
krzemian

I also switched from Notion to Obsidian. Believe me, it was one of the best switches I made, one that I am going to cherish for the rest of my life.

+1. Done that 2+ years ago and never looked back. Obsidian's blazing fast fuzzy search vs Notion's online-only, lagging search is a dealbreaker. The only thing I'm missing is tables, since Dataview never did it for me & the new built-in tables are still quite simple (and will likely stay that way)

Collapse
 
shricodev profile image
Shrijal Acharya

For me, everything feels perfect, especially with the Zettelkasten principle. I haven't used Dataview frequently yet, so I can't say much about it.

Collapse
 
Sloan, the sloth mascot
Comment deleted
Collapse
 
shricodev profile image
Shrijal Acharya

Thank you so much, @hosseinyazdi. I'll definitely check out this cool tool. πŸ™Œ

Collapse
 
hosseinyazdi profile image
Hossein Yazdi

You're welcome buddy! πŸ˜‰

Collapse
 
valentiniljaz profile image
Valentin IljaΕΎ

I can vouch for all the above tools except for Neovim. But I'm hearing so much great things about it lately, so I must try it.

Have you ever used something like onlinetools.com/ or webacus.dev/ ? I find it convenient that you have all these micro tools collected in one place. I use one or the other almost on a daily basis. What do you think?

Collapse
 
shricodev profile image
Shrijal Acharya

Definitely give Neovim a try. Yo, this is a gem. Straight-up bookmarked both. Thanks for this. Appreciate it. πŸ™Œ

Collapse
 
patzi275 profile image
Patrick Zocli

Thanks you for sharing πŸ€œπŸ½πŸ€›πŸ½.
I already started by using vim but I'm not sure it can replace vscode. It's torture! 😹

Collapse
 
shricodev profile image
Shrijal Acharya

I assume you mean Neovim. What feature do you miss the most from VSCode that isn't in Neovim? For me, I only miss the smooth scrolling of VSCode. 🀩

Collapse
 
patzi275 profile image
Patrick Zocli

I mean some libraries and frameworks only support VSCode and configuring Neovim can be tiring and time-consuming (funny though)

Thread Thread
 
shricodev profile image
Shrijal Acharya

Yes, that's true. Configuring it for each language can sometimes feel hectic.

Collapse
 
danielcristho profile image
Daniel Pepuho

Great post. But i want to know your neovim setup btwπŸ˜…

Collapse
 
shricodev profile image
Shrijal Acharya

Here you go: github.com/shricodev/dotfiles/tree...
Do let me know how you like it. It's completely built from scratch. :)

Collapse
 
danielcristho profile image
Daniel Pepuho

thanks

Collapse
 
rudransh61 profile image
Rudransh Bhardwaj

Nice
Thanks for sharing

But
Whats your os ?
Arch ??? (ifeel)
or Ubuntu

Collapse
 
shricodev profile image
Shrijal Acharya

Debian is my main OS. I'm using Arch in my container to become familiar with it.

Collapse
 
ricardogesteves profile image
Ricardo Esteves

Nice article, thanks for sharing it!

Collapse
 
shricodev profile image
Shrijal Acharya

Glad you found it helpful. πŸ™Œ