On the importance of mistakes.
Everyone makes mistakes. That is a fact no matter where you are and where you might end up.
So I've been working since the middle of July along with some students in my cohort on a project called "ASCII-art" from the Zone01 curriculum. I'm not going to delve into the specifics of this program at the moment, but the result is a program written in Go that creates ASCII art of what you write of it.
One of the exercises in that project was to add the ability to add a color flag inside the command that runs the program. Meaning that it would be like this:
go run . --color=<color> <substring> "the phrase that you want to made as ASCII art"
The
I wasn't sure which colors I would get into the program, so I've added the basics:
ANSI Code | Color |
---|---|
\x1b[30m | black |
\x1b[31m | red |
\x1b[32m | green |
\x1b[33m | yellow |
\x1b[34m | blue |
\x1b[35m | magenta |
\x1b[36m | cyan |
\x1b[37m | white |
Before I continue, I would like to explain to you the audit system:
- So after someone is done working on a project or an exercise, 10 students are being selected at random.
- The developers of the project, need to contact and arrange 3 audits with 3 out of the 10 students, that are being asked to complete it as either passed or failed.
- After 3 auditors are selected, are referred to a specific set of questions regarding the project or the exercise. The questions are usually "yes" or "no" that have to do with specific input and output through the program in audit.
- In order to proceed to the next projects of the curriculum, the program needs to get passes from all three auditors.
- If not, in order to be able to re-upload the corrected version of the project the program needs to receive three fails, so the developer can upload the corrected version, and the team leader to arrange anew another three audits.
One of the questions was this: "Try passing as arguments --color=orange GuYs "HeY GuYs", in order to color GuYs. Does it display the expected result?"
The issue was that I've never added orange, even though I've been an auditor to this exercise for other students. I don't know what happened there. I forgot, I didn't pay enough attention, I was not sure what to think at that moment.
Likewise, I've been contacted by the leader of our development team of students, since this is the person responsible to arrange the audits. He informed me of the problem and I thought very hard of it. I became very judgmental of myself, almost immediately. Opened my code editor and fixed it, in about two to three minutes since the phone call. I needed to add another key and value on the map of colors above: |"orange" | \x1b[38;5;208m|
Long story short, I realized that while I was being judgmental of my abilities as a student and questioning my mind if I understand what I'm doing, even though I'm not even a junior developer yet, I was able to pinpoint the issue in this instance, fixed it and re-uploaded in an online platform so it could be available to test with full commit comments of what I patched in less than 5 minutes(!) on a project that I needed five to ten days to fully create.
In conclusion, no matter the mistakes you do, apart from very specific types, as long as you have the intention, the ability to use critical thinking and the tools you have at your disposal in efficient ways to get to the desired outcome, you shouldn't become critical of yourself.