DEV Community


What apps, software, or tools do you use and why?

juanferr profile image Juan F. ・1 min read

What are some of your favorite/useful/recommended application, software or tools used to program or stay productive or are just plain awesome.

Discussion (45)

Editor guide
jamesj profile image
James J


Slack: Work/team based communication
Discord: General chat with other colleagues and friends
Skype (I know..): Communications with 'legacy' clients


IntelliJ: Java work, IntelliJ works so much better than Eclipse/NetBeans (I believe so anyway)
WebStorm: any web based work (NodeJS, React, HTML, etc).
Notepad++: General file editing on Windows
Sublime: General file editing on Mac


mRemoteNG: Server management
FileZilla: (S)FTP
ShareX: Screenshot & Screen-recording (GIF & MP4) management

And probably some other stuff that I use without even realising...

shajorjita profile image
RJ • Edited

Background: I am primarily a java developer.

*Android Studio

*Notepad++ (on Windows)
*Vim (on Linux, since I have no choice)

Remote connection:
*mRemoteNG Connection manager
*Windows Remote Desktop


*Pidgin (provided by office, have no choice)
*(We are moving to slack soon)

thomasthespacefox profile image
Thomas Leathers

I use many tools to program, but primarily i use:

  • GIMP - image editing and general graphics work. such as user interface graphics, logos, and so on
  • LibreOffice - vector graphics, user manuals, and so on.
  • geany - my preferred IDE. geany is fast, powerful and i like it.

though often, i find myself writing tools, sometimes for fun, other times because i need a rather specific tool to do something or other. when you start getting into things as complex as virtual machines that are not even binary, you start running into needs for quite specific applications...

nelruk profile image

I found the perfect replacement for GIMP and it's Affinity; don't get me wrong, I like GIMP but it's limited in some features. Affinity is a one-payment software. Worth every penny.

Oh, first time I see geany.

legolord208 profile image

Goddamnit it's not for GNU/Linux

juanferr profile image
Juan F. Author

first time hearing about Geany.

chinmaykunkikar profile image
Chinmay Kunkikar

I love geany too

skdomino profile image
Steve Domino • Edited



  • Chrome
  • Atom editor (one dark) - Amazing text editor
    • minimap
    • pigments
    • file-icons
  • Nanobox (Docker/VB) - App development/deployment
  • ngrok - Sharing localhost dev links

Working Remote:

  • Slack - Group chat
  • Discord - Group voice (not just for gaming!)
andy profile image
Andy Zhao (he/him)

Second company I've heard of using Discord for work. Do you find using voice on Discord better than Slack?

skdomino profile image
Steve Domino

We started using Discord before Slack had voice available. I would say that the voice quality is probably comparable, but Discord offers a lot more features. It's basically the "Slack" of voice (very comparable in design and features, just centered on voice).

Thread Thread
andy profile image
Andy Zhao (he/him)

Hmm interesting, Slack recently baked in screen sharing and it works just fine for us, but it's great to hear Discord works really well. Cool to hear companies are using software intended for gamers.

bowedcontainer2 profile image
Matthew Pineda • Edited

Discord feels like a teenage version of Slack, lol.

val_baca profile image
Valentin Baca • Edited


JetBrains Complete Suite (IntelliJ, etc.) - I love love love coding in IntelliJ and I just finally splurged on the complete the suite

Vim & MacVim - for editing everything else that JetBrains doesn't, or when I'm working over ssh

Spotify - I play this playlist nearly every day to "prime" my brain into work mode

Simple invaluable tools:

iTerm - Strictly better than Terminal, assigned a global shortcut

CopyClip - Keeps a running history of items copied to the clipboard. I don't use it every day, but when I do use it, it's a lifesaver

Spectacle - Makes putting windows side-by-side and maximizing windows easy.

Global New Tab Shortcut (Chrome plug-in) - assigned to Cmd+0 for super fast web access

Vimium (Chrome plug-in) - power of vim + Chrome

git-number: Allows you to use numbers in git instead of full path names. Really useful for java projects where the folders are deep.

juanferr profile image
Juan F. Author

spectacle is awesome

juanferr profile image
Juan F. Author

I use the following:

  • Flux - good on your eyes
  • Sublime Text 3 - editor
  • Trello - keeps me organized
  • Slack - communication
  • Zapier - automate some task
  • Ulysses - note taking, writing. up until it started being subscription based.
jacoby profile image
Dave Jacoby

Ubuntu: I am a Linux guy, preferring command line stuff, and there are some very personal things about Ubuntu/Unity that I prefer, including how it implements Notify-OSD so I can use it to notify me of events I care about, and how I can use Upstart to tell if the screen is locked or not, so I can send notifications to my phone if I'm not there.

Perl: I am willing to try other languages if that's what the idea is built in, if it's easier to do a task in that language or if you just can't use anything else. I do a lot of JavaScript for that last reason, and for some things related to Google Calendars and FitBit, I found it easier to work in Python than anything else. But for most thing, I have built enough that I can tie all the things I want to do together using Perl, and my mind's pseudocode has always exported near-executable Perl.

Bash: I started out as a tcsh user, because that was what was default on the Solaris machines at the time, but having the same syntax between your shell and your shell scripts is good.

Reply: A friend used a Python REPL as his primary shell. I don't know how, and I don't really want to do that, but on occasion, being able to type some code and get your short-term answer is good. Reply is Perl's REPL.

Chrome: I use Firefox for diagnostic purposes and occasionally play with some new ones, but my daily driver is Chrome. My main thing is common bookmarks and history between all browsers, so I can look up things I saw on my phone when I get back to the office.

Session Buddy: A Chrome plugin that saves your tabs, because one too many times, a Chrome crash took my n open windows with m open tabs each down.

Dropbox: The "cool" thing I do is have my bin, lib and dev directories in Dropbox, so I have my same commands (mostly) on every machine which has a shell, which actually includes my Windows computers.

Pushover: This ties back to Perl and Ubuntu, because Perl is how I send the notifications, and if I'm not at my desk, I use Pushover to get them to my phone.

JuiceSSH with Hacker Keyboard: Trying to do Linux stuff on a phone or tablet sucks, but having a good SSH client and a keyboard that works like a desktop keyboard, with all the special characters you need to do all your Linux stuff, like using esc to get out of write mode in vim, is crucial.

Twitter: For some things, it's accountability. I send FitBit stats and my daily coffee intake to Twitter. I'm the computer guy in a biology lab, and I'm a developer in a campus full of admins, so Twitter is also my Slack/IRC, where I can pick up info and ask questions about topics I need to understand but have no way to find in my normal social circles.

3-D Printed Fixes to my Desktop: Using ASCII to describe, most keyboards and trackpads are set to go like this / but really should point like this \. I printed a few things so my trackpad and keyboard point the way that's best for my wrist, but still remember, wrist rests are bad for you; keep them arched, like a piano teacher would yell at you about.

Standing Desk: I've done so just over four years. As coder/admin/helpdesk in my lab, my job is to stay here, so my daily steps is embarrassingly low, but I maintain decent leg tone by standing all day. It works for me.

curl and jq: These are new additions to my workflow. We're working with a new third-party API at work, and if I work out how the API works (and doesn't) with curl rather than Perl, that makes the commands I send to their help desk more transferable. Once I know I can do a thing, I enshrine it in my language of choice.

Spotify on Linux, plus DBus: I can pause, play and skip to the next via command-line tools, allowing me to pause when people come to bother me without having to go to the far virtual desktop. Also,

Virtual Desktops: So I can segregate my projects.

git and github: Surprisingly, mostly for side projects and things not directly connected to my work, because our workflow was built to actively hinder before the widespread use of version control. But I keep side projects in it, because it's good and useful, and someday...

Teensy, and...: I use an IOGear KVM to switch between my two desktop computers, Windows 10 and Linux. (I don't use the V part.) I also use a Logitech Unifying Desktop to cut down on the number of wires on my desk. But my keyboard won't talk to my KVM, so I use a Teensy microcontroller in a Staples "Easy" button to send the keystroke I need to switch to Windows, mostly for Admin functions.

Baby Mirror: The mirror-on-a-mount that parents of infants put up so they can check on their children while driving. I put it up so, when people walk into my area, I can see them.

White Board: GTD tells us to use external memory, and for me, my to-do and repeated tasks go on the board so I don't have to always keep them in mind, and back-burner items don't go down the memory hole, like the clown in Inside Out.

igormp profile image
Igor Moura

On Linux:

  • Urxvt with zsh/oh-my-zsh
  • Sublime text 3
  • Chrome Canary
  • Picocom for easy serial communication
  • Arduino IDE for those quick hacks
  • Postman whenever I need to mock HTTP requests
  • gdb (I'm all ears for a better/easier debugger recommendation)
  • KVM + libvirt
andy profile image
Andy Zhao (he/him)

I use MacDown for writing in Markdown. Love Alfred as my replacement for Spotlight search.

Also, I love Tomato Timer, which basically is a timer for the Pomodoro technique.

monicag profile image
Monica Granbois

It is cool to see everyone's recommendations! The programming and desktop apps I use have already be mentioned. But one app I use that hasn't been mentioned is the Hemingway app. I use it when blogging. After creating a first draft I use the Hemingway website to edit my complicated sentences. I find it helps clarify my writing and thinking.

defman profile image
Sergey Kislyakov 🇷🇺 🇺🇸

Other stuff:

  • Ruby with rbenv.
  • Docker with docker-compose.
  • Git with a bunch of custom aliases.
sethmlarson profile image
Seth Michael Larson

PyCharm is single-handedly the greatest tool invented for working on Python. I've used all other IDEs designed for Python work in the past until I switched to PyCharm. If you're doing Python work and you haven't tried it yet you don't know what you're missing. :)

soundstruck profile image
Dina Gathe • Edited


iTerm2 + zsh/oh-my-zsh

  • emmet
  • vim-mode-plus
  • sync-settings
  • minimap
  • stylus Paw for api testing Git, GitKraken (for visualization sometimes), Bitbucket SQLPro Studio

Chrome w/:

  • Vue DevTools
  • OneTab
  • Vimium
  • JWT Debugger
  • Wappalyzer

Polypane (show mobile/tablet/desktop viewports simultaneously)
VirtualBox + vagrant/ansible


Quiver for dev notes
Gmail w/Sortd
RescueTime keeps me honest!
Alfred w/powerpack
Flexiglass (window mgmt)
Slack for longer projects
various apps from Setapp subscription (

Design-y stuff:

Astropad (use my iPad as graphic tablet)
Affinity Designer/Photo
Capto/Snagit (captures)
Shotty (screenshot mgmt)
Gif Brewery
I still use Fireworks sometimes because I haven’t figured out an easier way to do “path to marquee” or “marquee to path”! :-)

niorad profile image
Antonio Radovcic

I use Notepad to edit my Winamp-Visualizations and Paint Shop Pro for creating Skins. ICQ for collaboration. For edits on my Myspace-Theme, I use the editor in Netscape.

Ok this is what 2001-me had to say. Now-me uses Emacs and iTerm all the way on OSX (which are even older, haha). Alfred, Moom and Bartender for productivity.

mattbidewell profile image
Matthew Bidewell

My IDE/Text editor:
First choice is Atom for anything where I dont need a complex editor. However since I develop Android apps then my first stop for that is Android Studio, general Java I use IntelliJ. Used to use Netbeans however moved over when I started using Android Studio.

Photo manipulation:
Bitmap: Photoshop- Have CS6 (Cracked version) I will purchase the full suit one day, however this will do for now.

Vector: Inkscape, I want Sketch or Illustrator however money is the main issue.

iTerm2 for terminal stuff.

Any sort of application to help the eyes too, at the moment im using f.lux. I'm more of a morning person and start developing around 545am so anything better on the eyes helps stop headaches etc.

Communication: Slack and Hangouts for the win!

Music: Spotify, I can just hit play and not worry too much.

Organisation: Google Keep and Trello.

l4p1n profile image
─ 502 l4p1n ─►

I use many applications / tools or whatever:

  • Discord with a custom theme set with BeautifulDiscord for communication
  • Some JetBrains IDEs which are fantastic (I guess I can use Geany with some plugins)
  • Visual Studio Code for quick editing and small projects
  • Vim for editing on SSH (I know a few commands)
  • Git for versioning and git-radar to have a nice HUD in the prompt

I sometimes also write stuff with Libre Office and use GIMP for graphics.

Terminal-wise, I use Terminator because of it's ability to have multiple shells in one window. Speaking about shells, I stick with Bash.

In terms of browsers and extensions, I switched to Firefox. Before, I've been using Chromium. Here are the extensions: Enpass for managing passwords, uBlock Origin and finally HTTPS Everywhere.

Finally, I write random tools for fun or there's a need for a specific one.

rhymes profile image


  • iTerm + oh my zsh + z
  • screen (tough rarely locally, basically always on remote servers)
  • jq to manipulate or display JSON in the console

Editor: Sublime Text 3 until super recently, though I'm loving Visual Studio Code more and more.

Chrome extensions:

  • Lastpass for personal and work logins
  • HTTPS Everywhere
  • Full page screen capture, useful if you have to send screenshots of a scrolling page to someone

Various tools:

  • Slack
  • Tomighty desktop timer for the Pomodoro technique
  • Postman for API

Not much else...

karn profile image
Karn Saheb

Jq is actually fantastic.

iTerm is definitely a staple. My only gripe is that the text select + scroll is completely broken. Makes searching logs difficult.

legolord208 profile image

OS: GNU/Linux Debian Ubuntu KDE Neon
Browser: Google Chrome
Password Manager: KeePassXC
VPN: Private Internet Access
Email Client: Thunderbird
Image Editor: GIMP
Chat: Discord
Virtual Machine: VirtualBox

Terminal: Konsole
Shell: Fish Shell
Editor: NeoVim

scheidig profile image
Albrecht Scheidig

On my private computer I use Ubuntu with Awesome Window Manager (
It takes time to "own" it, but then it raises productivity enormously. Recommended if you work a lot with the terminal.

For Java development I use IntelliJ IDEA. Profiling with Yourkit Profiler.

mattlancaster81 profile image
Matt Lancaster

Here's a not short but not full list of things I use:

-GIMP & Inkscape for Free Image and Vector creation & editing
-NotePad++ for JS and Log Files
-Eclipse for Java
-XCode for Swift
-OneNote for notes & other information sharing
-DropBox for any file transfers
-Google Hangouts for communication

damcosset profile image
Damien Cosset

I guess it goes as a tool but I have a good old whiteboard. I like to solve the problem there before writing my code.

dueppecn profile image
Christian Dueppe

Thought I add tools not yet mentioned or mentioned not so often.
Shifting to Visual Studio Code for my small projects. I like that it is intuitive and powerful.
Whenever there is a repetitive editing task, I switch back to emacs and its ability to record keyboard macros, because it is so much faster than writing a text processor with sed, awk asf.
I like umlet for sketching software designs.
I use snagit for screen captures.
Sometimes I use autohotkey for tasks that I can not automate any other way.
Powershell is a crazy language, but its access to the complete windows environment is worth some pain.
git bash when I get homesick for the good ol Unix days

stoicperlman profile image
Sam Kleiner • Edited

A lot of good tools in here, but a lot of the same. Two apps I don't see here but use every day:

Patterns - When I need to work out some tricky regex.

Code Runner 2 - When I need to work out a tricky function. Nice because you can run just that function and hard code some test values without the rest of the app you are working on.

julesmanson profile image
jules manson • Edited

I am just a hobbyist so I Vanilla the dogshit out of everything -- PHP, MySQL, JavaScript (OO and functional), CSS, HTML, Fortran, Visual Basic, etc. I use no libraries or frameworks not even templates. But I do use some time saving tools like AutoPrefixer and Normalize and I always do the basic stuff like minimize, lint, gzip, etc. The way I see it all those libraries are primarily for professionals who need to be efficient and at cutting edge technology. Besides over-bloated libraries and frameworks take the fun out of challenging yourself to find a solution. Often a small well coded solution is all you need not a overweight cholesterol filled library that does everything including ordering Starbucks online. Think jQuery when all you really need is light DOM manipulation and AJAX in an age where CSS3 and JavaScript has matured to a very efficient coding language whose most important features are now supported by all mainstream browsers. Of course my apps are always based on best practices and I always compare what I create with similar open source tools or standard practices.

For developer apps I am also minimalist. When I create client-side mini-apps or tools or UI's I do a test run on CodePen (for example) and larger apps on GitHub or on my own personal PC with Brackets, my editor and mini IDE of preference. If I am doing server-side programming I use DreamWeaver and WAMP. For client-side debugging I find the browser consoles to be more than I need. I don't do Node or Webpack.

limbojohnes profile image

I had a similar problem with applications, they were not synchronized, and when I started using the service, all problems disappeared, the forms worked correctly. Also, they give me a lot of space in their cloud storage. It’s very convenient because on my Google drive for a long time, there is no place for my files.

lp1eu profile image
Jérémie (Lupin) • Edited

I use the following on ArchLinux and Debian:

  • Redshift or Xflux: as someone previously said, it's so much better for your eyes
  • Emacs: I can use it without a X server, through SSH, and it has a plugin for everything you can think of
  • i3: Because tiles. I know it might seem quite hard to use at first, but once you learned the few main shortcuts OMG IT'S SO FAST AND USEFUL
  • dpg as my main password manager : It doesn't stores anything, you don't need to copy/paste your keys when you reinstall your OS and there is an Android Client
  • ZSH with oh-my-zsh: Oh my ZSH makes a very good use of ZSH's power, once you tried it you won't use another shell configuration
  • Chromium or Vivaldi as a browser
mangemonderp profile image
Le giov
  • Sublime text 3, before I used Atom but I think Sublime text is better
  • Slack, for communication
  • gitKraken, to have a graphic view of the git repot
  • Mantis bug tracker, for tickets and organization
willemw profile image
Willem Wollebrants

I'm a self-employed fullstack-but-mainly-php programmer. I'm productive using:

  • phpstorm. I used netbeans before but their php7 support came late, so I paid for phpstorm and never looked back.
    • adobe creative cloud: the complete package.Mainly for photoshop and illustrator.
    • vagrant for local development boxes.
    • the default osx-terminal
    • sass with compass
    • git with github or bitbucket, depending on what client I'm working for
    • chrome for stackoverflow and twitter browsing and reading e-mail (gmail)

And for the plain awesome:

  • Garageband for song-idea's
  • Ableton for messing around
rapidnerd profile image
George Marr

IntelliJ from Jetbrains (Java)
and sometimes I'll use PyCharm if I need to work in Python.

And of course the essential, Spotify!

netanelravid profile image
Netanel Ravid

I'm a backend software developer.
My environment tools are:

  1. Terminal - Tmux
  2. Shell - zsh
  3. Code editor - VSCode
  4. Notes - Evernote
  5. OS - Ubuntu
gokulkrishh profile image
jsgaonac_78 profile image
Juan S. Gaona

I use:

  • Fedora 26
  • Gnome Terminal
  • Fish shell
  • Tmux
  • Visual Studio Code
  • Firefox Dev Edition
mgussekloo_63 profile image
mgussekloo 👓

Sublimetext, Sequel Pro, Panic Transmit, Laravel Homestead, 1Password, Vue-devtools Extension, Things 3, Github Desktop.

I'd be interested to see how others optimize their development env!

sarmis profile image
Thomas Sarmis

SQL Server & Management Studio
Visual Studio Code
Source Tree & Git

michalbrost profile image

I use PhotoViewerPro It's easy to use. Awesome software!