Codementor Events

Pro Tip - Errors: Recommended tool for Logging & Tracking

Published Nov 11, 2019

I highly recommend documenting all errors you experience as you work with various technologies in the field.

Why?
(Reason #1)
In my experience, I've often worked with technologies that have very little documentation and sometimes none at all which leaves you to figure some parts out on your own and experience errors as result.

(Reason #2)
The error messages displayed are often vague and difficult to determine the cause right away. Tracking down what caused the error and why has taken entire work days to figure out or forced a hack as a workaround due to time constraints.

(Reason #3)
In the case where a hack was applied as a workaround, I often found that the solution is found at a much later point in the project. This could be weeks or months later. Remembering exactly what happen, why it happened and the steps to reproduce has proved challenging.

(Reason #4)
The errors I've seen when doing any of the following:
onboarding | setting up a project on my computer | any project configuration | any build configuration |
Documenting these are important because they only happen once during this phase and you may not ever see these until you have to either get a new computer or setup another project. So having this documentation handy saves time and prevents future headaches trust me. By the way I would note steps for all setup and configurations because again when you have to do this a some later point it can be a pain and takes even the most senior engineers an entire day or two.

The tool I recommend
I recommend using Confluence.

Why?
(Reasons)

It has useful templates such as How to's template
you can make your notes modular and decoupled for example:
I can create a page labelled Errors
I can create child pages under Errors, for example, a child page labelled Swift Errors.
Under Swift Errors I can create a child page labelled Swift Runtime Errors and here I can create child pages for the various runtime errors I experience
Errors
-Swift Errors
--Swift Runtime Errors
---when adding project dependencies

Now I can create a page labelled Swift
I then create a child page labelled How to's
Next I create a How to's child page labelled Adding project dependencies where I list steps to do so.
-Swift
--How to's
---adding project dependencies

Here's the cool part, in this page I can add a section to this page labelled 'Errors to look out for & what to do if encountered' and then insert either an excert of 'Errors/..when adding project dependencies' or the entire page into this page.
Any page can be inserted into multiple pages. Now if I make an update to 'Errors/..when adding project dependencies' child page, everywhere this page is used will reflect the update also.

Why does this matter?
well, when recording notes, the rule of development can apply. when developing we only want to update something in one place and not track down every instance of the thing and then copy paste those changes in each instance. especially with notes right, because note taking is already a time consuming process.

Over the years I've stored my accumulation of software engineering knowledge in Confluence. Check it out here https://elaminc.atlassian.net/wiki/x/F4. Please use the following creds
user: softwareengineer@elamenterpriseltd.com
pw: P@ssword*1234

Discover and read more posts from Tony Elam
get started