Tools for New Developers-Part 2

Stuart McLean
Star Gazers
Published in
6 min readMar 15, 2021

As you grow, so should your toolset.

You can find part 1 of this series, about tools 1–5 here.

A set of worn and well used hand tools, presumably from an automotive repair shop.
Photo by NeONBRAND on Unsplash

Becoming a software developer requires a deep level of concentration. The more responsibility you can delegate to your computer, the more brain-power you will have available for problem-solving.

Here’s a look at more tools I find indispensable in my work as a professional software engineer.

Tool 6: A good password manager

As a savvy developer, you’re sure to know that using the same password for multiple sites is extremely insecure. If any one of those sites gets hacked and they haven’t well-encrypted your password, someone else will be able to log onto your other online accounts.

It’s much better to have a random password generated for each site you log into. You can store these in a purpose-built password vault (not a spreadsheet, please). Then you can use a single, complex password or a key-file (kept on an external device) to unlock the password vault.

KeePassX is a good free example. 1Password, RoboForm and NordPass are more full-featured.

A good password manager should let you automatically back up changes to your passwords on an external disk or a cloud drive. With most of these services, you can pay a monthly fee for a company to take care of that for you.

Personally, I think it makes sense to pay other professional developers to ensure that my backups are kept as secure as possible.

Your password manager should also provide 2-factor authentication options (such as auto-generated temporary passwords, updated every 30 seconds). 2-factor auth makes it a lot harder for other people to get access to your accounts.

I recommend using 2-factor auth wherever it is available.

Tool 7: A good clipboard manager

A wooden clipboard with paper reading “COVID 19 Measures” followed by empty bullet-points. The clipboard is on a table next to a pen and a laptop.
Not this. Photo by Markus Winkler on Unsplash

Typing is hard. It’s easy to make mistakes. Over the years I’ve gotten into the habit of copying even simple strings to avoid errors.

When you need to copy multiple sections from one file to another, switching back and forth, again and again, is prone to errors and can quickly become tedious. And what about times when you copy text early in the day, forget where exactly it came from and then need to reference it in the afternoon?

Whatever your use case, it’s useful to be able to carry a lot of different strings on your clipboard.

There are many tools available that allow you to search through your clipboard history and even edit and combine parts of that history before pasting.

CopyClip is free but, on Mac, I personally like Alfred which also includes a few other productivity tools.

Most clipboard managers will also allow you to configure a list of apps from which copied values will not be stored in history. So the passwords you copy from your password manager won’t be visible to someone looking over your shoulder. And you won’t accidentally paste them where they shouldn’t be.

My clipboard manager is one of my favourite tools and comes in handy many times each day.

Tool 8: Developer tools in your web-browser

Even if you don’t have to create a web front-end for your code, at some point you will probably need to monitor and debug calls to APIs (Application Programming Interfaces) that you’ve built.

For these cases (and lots of others) it’s important to understand your web-browser’s built-in developer tools.

You can use whichever browser you want, so long as it has a set of developer tools built-in. As I write this, Chrome is the most widely used browser in the world. A good percentage of developers prefer to work with firefox in their day-to-day development though.

Most browsers provide a standard set of tools including:

  • elements, where you can play around with HTML and CSS in real-time.
  • sources — great for JavaScript debugging.
  • a javascript console — for viewing log printouts and for testing lines of javascript in REPL (Read-Eval-Print-Loop) style.
  • network traffic monitoring.
  • performance monitoring.

These components are usually well documented, but you can also poke around and try things without doing any harm that can’t be undone with a full page refresh. On the same note, remember that if you do make changes to your page they will disappear on refresh.

Experiment here, make important changes in your code elsewhere.

If you end up using beta versions of your browser, remember that there might be security flaws present, so it’s a good idea to do your online banking in a different browser. Reserving one browser exclusively for bank logins is overall a good idea.

Your browser is also your fastest way to do research and ask questions. Make sure you become fluent with its keyboard shortcuts and useful plugins.

Tool 9: Balance

Photo by Aziz Acharki on Unsplash

Sitting at a desk all day is bad for your body. Staring at a screen all day is bad for your eyes. Doing either is usually bad for the quality of the software you’re writing.

During your workday, it’s important to move around and give yourself breaks away from any screens. I’ve written more about this in another article.

Whatever job you do, having a balance of different activities in your day will make you healthier, happier, and by extension, better at doing your job.

Here are some ideas for breaktime activities that don’t involve staring at a screen:

  • drink a glass of water while looking out the window.
  • simple exercise (even a few minutes of basic yoga or a 7-minute workout).
  • prepare and eat healthy, nutritious food.
  • rest (meditation is a great way to rest while still feeling productive).
  • read a print book — it could be one on a job-related topic.
  • get outside — even if it’s just sticking your head out of the window and letting your eyes unfocus for a few minutes.

Getting a good amount of sleep is also important. Having less than seven hours of sleep per night can seriously impair your cognitive abilities the next day. Some people need more sleep than that to function properly.

It’s also good to remember that drinking alcohol shortly before bed can disrupt the rhythms of your sleep, preventing you from getting much-needed REM time.

Solving complex puzzles for a living is hard on your brain. You won’t regret prioritising the time your brain needs to rest and letting your subconscious mind do its thing.

You might even find that keeping your eyes off the screen for a while helps you to come up with new solutions to problems that were stumping you before you took a break.

Finding the right tools will allow you to hand off more responsibility to your computer. Taking this load off your mind will improve your ability to focus on the creative problem-solving required of software developers.

A summary of these points (and more) is available in a “github gist” here.

Part 3 of this article is here.

You can handle it. :-)

--

--

Stuart McLean
Star Gazers

I like helping people to discover their own potential. He/him. Full-time parent & software developer, part-time teacher & musician.