Software I Use

ยท 960 words ยท 5 minute read

I share with you all software I use as a software developer. Here is the list of all programs, apps, .. all software products and services.

Web Browser ๐Ÿ”—

I use Google Chrome, Google Chrome Dev, Mozilla Firefox, Firefox Developer Edition, Apple Safari, Microsoft Edge and Brave. As a full stack web developer I need to use them all for testing websites.

I striked out the web browsers I uninstalled from my main work machine/laptop.

But I mainly use Chrome and Firefox for my daily tasks, follow up and surfing the internet.

Operating System ๐Ÿ”—

I have an old Macbook Pro laptop, so I use MacOS 70% of the time. I use Ubuntu Linux as my chosen Linux operating system. I rarely use Windows OS.

Programming Languages ๐Ÿ”—

Programming languages I used but I do not use any more:

  • Visual Basic 6

Programming language I checked out or semi-learned but do not use for software projects:

  • Rust
  • V
  • Zig
  • Jai
  • Mojo
  • D

Programming language I use to maintain legacy software but intend to not use for new software projects:

  • C
  • Java
  • Swift
  • Lua
  • Python

Programming language I used and I intend to use for future software projects:

  • Go
  • PHP (in Laravel framework)
  • Javascript (in frontend; browser only; DOM-only)
  • Kotlin (for Android development)
  • Dart (in Flutter framework for cross-platform dev)
  • Bash (for local scripts and CI/CD scripts)

Programming Frameworks ๐Ÿ”—

I used Laravel โ€” the PHP-based full stack web framework.

I used Flutter - the Dart-based cross-platform framework.

So, I like Flutter for mobile app development, and Laravel for full stack web development for small and medium size projects.

But I prefer Go for heavily customized web projects and big/huge web projects.

Package Manager ๐Ÿ”—

I use Homebrew on Mac OS as my package manager of choice to install and uninstall programs, apps, packages and programming libraries.

I use APT and Snap on Ubuntu to install and uninstall programs, apps, packages and libs. They are the default on Ubuntu Linux.

Terminal Shell ๐Ÿ”—

I prefer FISH shell as it provides a better user experience than ZSH and Bash. I use the default shell as a fallback if I need it. The default shell on Ubuntu Linux is Bash, and on Mac OS is ZSH.

Code Editor ๐Ÿ”—

All plain text editors can get the job done, but it is always about developer experience and ease of use. I actually do not have a hard choice here. I tend to stick with visual studio code for now because no code editor is better yet.

I use Zed, VS Code, Lapce, VIM, nvim (neovim), Android Studio and XCode. Everyone of them is better is a specific use case. I see VS Code as a somehow good choice for most cases.

I hope Zed or CodeEdit can outperform VS Code in developer experience soon.

Note that I can not try CodeEdit as it require macOS 13+ and I stuck on macOS 12.7.3 but I hope they get better as I love native optimized blazingly fast software .

Terminal Emulator ๐Ÿ”—

I use the default terminal emulator on Mac OS and Ubuntu Linux. I see them as good enough.

Video Editor ๐Ÿ”—

I use Final Cut Pro X as my video editor. I plan to migrate to DaVinCi Resolve soon.

Screencasting ๐Ÿ”—

I use the native screencast program in Mac OS as my screen capturing/recording app. I see it as good enough in 95% of cases.

I use OBS Studio on the other 5% cases on Mac OS and Ubuntu.

Photo Editing ๐Ÿ”—

I use Adobe Photoshop on Mac OS to edit photos for my social media and website. I use GIMP on Ubuntu to do the same tasks.

SVG Editing ๐Ÿ”—

I use Adobe Illustrator and Inkscape for basic vector image edits. I use those programs less and less as I prefer to edit the SVG code manually.

Remote Access/Control Software ๐Ÿ”—

I use AnyDesk, Teamviewer, Zoom and sometimes Google Meet. I mainly use them for meetings and tech support for colleagues and friends.

Database Browser ๐Ÿ”—

I use Sequel Ace as a browser for MySQL and MariaDB databases. And I use DB Browser for SQLite as its name says. Sometimes I prefer using sqlite3 in the command line.

Local Development Environment ๐Ÿ”—

I prefer Docker as a local dev env for all my software. I use Laravel Sail for my local dev env for full stack web projects developed in Laravel. Laravel Sail is built on docker.

Mac OS utilities ๐Ÿ”—

  • LuLu : app firewall.
  • AlDente : set max charging percentage to preserve battery life.
  • Macs Fan Control : edit the logic that controls my macbook fans. I usually make them kick earlier as I live in Upper Egypt which tends to have a hot weather.

Video Player ๐Ÿ”—

I rarely play videos from my storage. But when I do so, I use the default video player or the famous VLC media player.

Torrent Download Tool ๐Ÿ”—

I use qBittorrent on Mac OS and Transmission on Ubuntu Linux.

I do not know why I stuck with qBittorrent on Mac OS while Transmission is availabe too. I need to change that.

Word Processing ๐Ÿ”—

I use Microsoft Word, LibreOffice Writer and Google Docs. I tend to use Google Docs more.

Spreadsheets ๐Ÿ”—

I use Microsoft Excel, LibreOffice Calc and Google Sheets. I tend to use Google Sheets more.

Presentations ๐Ÿ”—

I usually use Google Slides but sometimes I use Microsoft PowerPoint and sometimes LibreOffice Impress.

I hope this post helps you. If you know a person who can benefit from this information, send them a link of this post. If you want to get notified about new posts, follow me on YouTube , Twitter (x) , LinkedIn , Facebook , Telegram and GitHub .