The "Muses" in My Software Engineering Toolbox

The "Muses" in My Software Engineering Toolbox

William Cheong Weelau's photo
William Cheong Weelau
·Apr 23, 2022·

5 min read

Subscribe to my newsletter and never miss my upcoming articles

Table of contents

These are the sets of tools, software, and hardware combination that I'm currently working with. I would call them my Muses in Software Engineering. These tools give me the inspiration to continue coding and sustaining my professional interest. Let's jump straight into the list:

The Toolboxes of Software, Editor and Terminal

  • Visual Studio Code, with the GitHub AI Copilot
  • Sublime
  • iTerm with PowerLevel10k, Fig; Warp

The Visual Studio Code with GitHub Copilot is a staple

I believe nowadays with IntelliSense is the bare minimum, and having an intelligence code suggestion, its like having a co-pilot pair programming experience. Although at the time of writing it's in technical preview. work checking out the awesome offered by GitHub copilot.github.com

Sublime Editor - the 'Scratchpad' - for any simple texting and formatting

sublime is not my main driver for programming, however, it's great in terms of note-taking, formatting the text, running some macros, or just any kind of quick text processing stuff. I think the greatest benefit is that it launches in splits second. Be sure to include the Package Control in the Sublime too. packagecontrol.io

sublime

iTerm and Warp both are great command-line tools in my view

I replaced the default Terminal on Mac with iTerm and surely enhanced it with the PowerLevel10k that adds a lot of interesting flavours. Another customizable enhancement would be the 'Autocomplete' to the terminal with Fig

recently I also embarked on the newly announced tool Warp as shown in daily.dev articles. I'm still evaluating it, which looks promising, maybe.. it could be replacing my current workflow with iTerm warp.jpg

Complimentary Booster Tools

  • Obsidian Notes with Sync
  • Todoist
  • GitHub & Fork
  • Telegram
  • Authy

These are secondary to the program, but they offer me a number of perks. starting with Obsidian note obsidian.md it serves as my 'second brain' for everything I have learnt and keeps my information and knowledge in a structured manner that I could always refer back to. What's more, doing notes in the markdown is very efficient. Think Hashnode blogging is in Markdown, Obsidian in Markdown, and GitHub documentation also in Markdown, it's easily reusable in many contexts for note sharing, documentation sharing, potentially creating a kind of mini-wiki.

Todoist and GitHub Project are great for managing the tasks, and development notes. Besides, I do recommend Todoist for managing personal matters too. thanks to the intuitive user interface, an amazing date feature that you could put it says in 7 days,in 2 weeks,ev! Sunday that kind of smart date filtering makes it great for planning. To maximize the usefulness of the tool, I'll recommend blending it with productivity management workflow from the internet, check out tips from Youtube, by Carl Pullein

GitHub is now my current favourite VCS platform. I have tried a number of others from BitBucket, and GitLab, which are great and served me well in past for various scenarios. For now, I decided to stay with GitHub for its simplicity and due to a large number of Open-Source projects there, moreover, also aligned with my professional work. Nonetheless, in the Git Client part, I'd highly recommend going with Fork Git Client I could also do everything I need with it, multiple remote, rebase-interactive, cherry-pick, to all kinds of branching, and stash, commit, push operation. I'm totally happy with the kind of simplicity and intuitive design it gives. besides it also become the de facto standard for me to share with fellow Developers how to work with Git Source Control.

fork.jpeg

some may wonder why Telegram on this list.. in my case, I appreciate what Telegram offers as a collaborative platform in my workplace, and also running a simple Bot to help put up the Pull Request/Code Commit from GitHub to the conversation. it's a great tool to assist me in work. Besides, there is an innovative use-case, such as making good use of the 'Saved-Message' function for quick note-taking and transferring quick notes and files between computers and devices using telegram. To further make it greater, I created a temporary channel with an auto-delete message feature, to upkeep /cleanup my 'temporary' notes, and files on telegram. There are just many ways one could hack it out from telegram, using it more than a simple communication tool

Authy gotta be another stapled in my workflow. Due to various security concerns, each platform requiring 2FA, I'm glad that almost 90% of the things I used were able to work with Authy, that I could centralize all the tokens with it. This is a lifesaver I'd recommend to many people

Hardware Choices

last but not least, if anyone is ever curious about what kind of hardware preference, I'm looking at the following. Once you explore development with macOS, most probably you'd never want to turn back to Windows.. except.. sometimes, I'm back to Windows mostly for gaming needs. Additionally, I'd recommend a good keyboard. Although I started into the external keyboard with the intention to prevent myself from damaging the MacBook keyboard.. (yea over time, for a machine used for years, I do notice keycaps on my mac did wear out..) Hence I strongly recommend an external keyboard to work with.

  • macOS with a Shortcuts & Rectangle, the Unarchiver, Lunar, DaisyDisk
  • Keychron K3 - Low Profile - optical brown switch mechanical Keyboard

Perhaps share with me what works best for you! :)

 
Share this