My Favorite Tools & Resources for Day to Day Software Development
I bet we all have a bunch of tools we use to make our lives easier, and resources we use regularly to stay up to date with the world. I figured, I could share mine so that others could go through the list and maybe pick something up for themselves too. I would also love to learn what you use, so please feel free to share in the commentary section below.
Operating System: Ubuntu 20.04. I’ve been using Ubuntu since version 8.04 Hardy Heron, and couldn’t be happier. In the beginning, coming from Windows XP, I was missing some things, but that was mainly due to not knowing the alternatives on Ubuntu. Now, sometimes I feel the opposite when I have to deal with Windows.
Web Browser: Chrome. I hate being tracked and giving my info to Google, but for web development the developers tools in Chrome are closest to my heart. I try to tame those heretic tracking requests with uBlock Origin on desktop, and Blokada on my Android phone.
IDE 1: For PHP development, I use PHPStorm. It’s by far the best IDE for PHP development out there. I really like the integrated Git management tools.
IDE 2: For Javascript / Svelte, Elixir, I use VSCode with the right extensions. I like how fast this one is, compared to PHPStorm.
Code fonts: I use Fira Code with font ligatures enabled. This font is simply gorgeous, and a pleasure to work with. I highly encourage you to give it a try.
Image editor: Gimp. Gimp has a evolved a lot over the years, and although it might be inferior to Adobe’s Photoshop, for my needs of cropping, resizing, and color adjustment – it’s just perfect.
Color picker: Gpick. I love colors. Sometimes I’d see a color on a site, or in an app and I want to save it. Gpick can pick a color from anywhere!
Cloud storage: Dropbox. I like that it has apps available for all my devices, which means I can access my files from anywhere. For this convenience, I am willing to pay the yearly premium.
Communication: Slack / Email / Github Issues / Google Meet. I use Slack because some of my clients use it, but I am not a big fan of it. I use email because I like the feeling of writing (digital) letters, because I enjoy formality, and because it is easy to search. I love using Github Issues for project specific communication, and it’s my number one pick. I like Github Issues so much, because I value written documentation. Discussing something over video Slack or Google Meet, might feel like you can cover more, easier and faster, but written information is golden – you can always return to it, it doesn’t become vague, and anyone can read it even after you’re no longer around (and we as developers should care about providing legacy documentation to future maintainers).
Bookmarking and Content Sharing: Telegram. This chat application is so smooth and aesthetically pleasing, that I figured a way to keep it on my devices, despite the fact that I have virtually no interaction with people through this app. But one thing that I like, is saving pages, images, or transferring links and content among my phone and computer, by simply using the “Saved Messages” feature (which is essentially a chat with yourself).
API Development: Insomnia. I love that it has everything I want, and nothing more. The design is pleasing, and it is very smooth and launches fast.
FTP Application: FileZilla. I still use FileZilla to deploy small sites, don’t judge 🙂
Eye protection: Redshift. Rarely when Redshift crashes at night and the monitor suddenly turns blue, I feel like my eyes are burning and I’m entering a space jump lol. Just do your eyes a favor and use any of the night color tools that works on your devices, phones included.
Tunneling: ngrok. How do I quickly make a website or API I developed locally, available externally as a demo to a client or colleague? That’s right, ngrok is the answer!
Diffing: Beyond Compare. I use this tool quite often to look for changes in files, in functions, in directory structure, and so on. It helps a lot especially when dealing with 3rd party plugins and themes (I’m referring to WordPress here) updates, and you want to see what changed to ensure that nothing breaks when you hit the update button.
Screenshots & Annotations: As a standalone application, I use Flameshot to take screenshots anywhere. If I need to take a screenshot of a website inside Chrome, I use the convenient Nimbus extension.
Web page monitor: Distill Web Monitor. This amazing Chrome extension lets you create monitors to watch for changes on web pages, and alerts you when something’s changed. It even keeps a history of changes. I use it to monitor legislation changes, software updates, price changes, you name it!
Resources: Hacker News and Habr for IT related news. Reddit for news, and Coub.com for entertainment.
I really hope that you found at least one thing from this list that you want to try out (let me know which one, I’m curious). I’ll try to keep this list up to date with what I discover and what I recall using, but I welcome you to share your toolstack and resources in the commentary section down below.