Learn Real World Engineering skills through Real World projects

A Software Engineers Tool Chest

There’s tools that are industry specific that we take between each job. Start building them up early and refine them over time.

Typing Speed/Accuracy

You need to be able to use your keyboard effectively. This is your main means of performing tasks on your computer, and once you get used to navigating with a keyboard primarily instead of a mouse it’s even faster.

CLI Setup

As a programmer you will spend at least some of your time inside the cli and you can start doing things quickly once you understand it. Being able to have access to a consistent environment with the tools that you use day to day is important. You can do that through the creation of Dot files(.bashrc,.zshrc, …). These dot files are your command line wizard spell books, so start making your own to grow throughout your career.

Code Editor Setup

Vim, EMACs, VSCode or any editor of your choosing will have some kind of configuration files. You will find one that you like that helps you work more efficiently. Save that config somewhere(in git) since you will use it most likely on your current work laptop and anywhere else you go. Also for your current place of work see if anyone has a standard setup for the code editor of choice, if not show off yours and collaborate with the team on it. This is a great way to empower your eng team.

Debugging

Learn how to debug well in your language and editor of choice. Enabling yourself to debug outside of wrapping blocks of code in print functions allows for faster troubleshooting. Learn how to setup your debug tools in your editor and practice being able to step through your code when you run it. If your editor uses a config file to setup your debug environment create that and share it out with your team. Try to level up everyones debugging skills; doing so will help you out at your current gig and the engineering workforce as a whole.

Keyboard bindings and shortcuts

You are using your keyboard everyday. Make sure that you have it setup in a way that is easiest for you to use. Set it up so you can trigger all the sweet keyboard shortcuts that you have learned. If you haven’t learned keyboard shortcuts look them up for your current OS.

Browser and Extensions

Pick your favorite browser and productivity extensions. When you are given a new laptop for work install them. If you need a couple of useful browser extensions checkout these:

Note Systems

Keep track of your daily and monthly notes. Being able to recall what you need to do for the day and what you have done in the past is key. This is especially helpful when you have to remember all that you have worked on in the past 6 months to a year for performance reviews. Also keeping a list of helpful commands or non frequently utilized tasks can help you. Remember to share though in a team setting if these can help other team mates.

I personally keep three types of notes. I have a daily notes markdown file that I keep that holds the following sections: Notes, TODO, In Progress and TODONE. I then have a long running markdown file of both things I have worked on separated my month with a section for my 1:1s below that. The third note type is a reminder note doc for things that are specific to the company, yes this only stays on the company machine. This note type will have nice to have script sections for things that are not frequently run but useful to have.

Diagramming

Learn how to diagram out systems and ideas. You can talk with a team to try to gain an understanding of a problem for hours but in a few minutes you can get concensus with a simple diagram. The ability to create a 10 box diagram to convey an idea or system will save you countless hours over your career. And the ability to gain a cohesive understanding as a team or org will help propel your projects and career forward.

If you have any questions head over to the After CompSci Discord server. For those looking to learn some more real world engineering skills to help get that first job take a look at the After CompSci course as well.

Leave a comment