Long time no see! A mixture of uni and life commitments as meant I’ve not had a whole lot of free time to keep this blog up to date. Nevertheless, I have come up with the personal goal of updating this blog at least once a month.
In this post, I wanted to share what tools I use regularly. I believe that every developer should have a small ‘go-to’ selection of tools on their tool belt. Knowing all the commands, shortcuts and features of a few programs is better than knowing a little in a lot of programs. This is because a developer working with a tool that they know all the functionality of will be much more efficient than a developer using a tool they kind-of know. Here’s my small selection of tools that I use regularly.
While not every programming language benefits from a IDE, as a Java developer, I find that an IDE increases my productivity massively. The IDE that I use is JetBrain’s IntelliJ. It’s got a hefty price-tag (although students/teachers can grab it free), but the features it contains are unrivaled. Great code completion, an amazing inline debugger and a sleek dark theme are only some of the features that I love.
Previously, I have used Netbeans. I would find it hard to go back to, but has similar (if lacking) features compared to IntelliJ. It’s also completely free, which is a big plus.
Based on my last post, it’s not a surprise that I use Vim as my primary text editor. Vim, for those not in the know, is a modal, keyboard-controlled text editor. What these means is that it has different ‘modes’ that serve different purposes. You start in ‘normal’ mode, which is the mode you spend the most time in. It allows powerful text manipulation commands. For instance, typing ‘dd’ will delete the current line, ‘daw’ will delete the current word and ‘dt)’ will delete until the first closed bracket. Other commands allow you to copy, paste, replace and change to your heart’s content! Insert mode is another commonly used mode which controls pretty much the same as a normal text editor (like notepad).
Although Vim has an extremely high learning curve, the pay off is great. As it is completely keyboard controlled, it means that you’ll be able to reach for your mouse much less often, increasing the amount of work you’ll be able to do.
Note taking is something I’m trying to utilise more of. I had a look at Evernote, but they recently changed their pricing plan to favour paid users. I’m currently sticking with Google Keep, which is a web based service connected to your Google account. Text formatting is quite limited, and I feel like the presentation is quite messy as it shows all your notes on the home screen. I would much prefer having a small selection of ‘home’ notes that link to other sections of notes. Despite these shortcomings, I do find it useful to jot down ideas and things I need to remember.
To know what I have to do and to keep me on track, I use KanbanFlow. KanbanFlow is a web app that allows you to track process in tasks by putting them in categories ranging from ‘new’ to ‘done’. I find this great for university as I can easily see what work I need to prioritise. KanbanFlow also has a Pomodoro timer feature, which I use a lot.