Around two years ago, I was asked to complete a personality assessment that included DiSC®. DiSC® is a personal assessment tool used to help improve teamwork, communication, and productivity in the workplace on four behaviors: dominance, influence, steadiness and compliance. High compliance scores are associated with analytical, detail oriented, and
cautious learners. Low C’s tend to be independent, unsystematic, and less concerned with details.
When I took that assessment, I found out that on a 100 point scale, I test 8 for compliance.
Why am I telling you this? My lack of detail-orientation has slowed my development as a software engineer.
Since the beginning of this year, I have made the commitment to become a software engineer no matter how long it takes. My company let me take a sabbatical to study at a coding bootcamp – (which I ended up quitting but that’s a story for another day) because I came across the Launch School.
Launch School focuses solely on mastery based learning – it isn’t interested in peddling platitudes of become a software engineer in 3 months or less’ – it prides itself on creating detail-oriented Core and Capstone graduates that know the inside and out of a language. So when I joined, I thought my journey would be easier since I came from a scientific background and some coding background to boot. Nope.
I completed Javascript 101 in June. I just finished the written portion of my JS109 assessment in early December because of my lack of attention to detail.
Details make perfection, and perfection is not a detail.
Leonardo Da Vinci
While I can plainly say I’m at least averagely smart, I have struggled in paying attention to detail and processing what questions ask of me because I have thought that if I *kinda* understand what is being asked, I understand the whole question. This is not the case especially in software engineering.
Here are some examples modified from resources Launch School provides. (NOTE: NOT from the EXAM)
Take the following code snippet and look at the question.
//Will the code below raise an error?
let numbers = ['a', 'b', 'c'];
numbers[6] = 5;
numbers[4]; // what will this line return?
During practice sessions, I would get this answer wrong again and again. Here’s an example of the answer I would give
No this will not raise an error as array length is mutable; it will assign the variable 5 to the index 6 and “fill” the spots with values that will return
My Half-a**ed explanationundefined
.
Though this is partially correct, I did not consider the whole context of the question. I did not name the ‘spots’ that return undefined
and why they did what they did. The following explanation gives better content:
No this will not raise an error; it will assign the variable 5 to the index 6 .
Full explanationnumbers[4]
will outputundefined
, but the slot is empty. The JS engine will treat array slots 3 through 5 as empty slots. Empty slots do not have a value, though they will returnundefined
ifconsole.log
()’ed
The full explanation for Code Snippet 1 delves deeply into how JS functions as a language while my explanation, doesn’t. Did I understand that elements 3 through 5 are empty slots? Yes, but I didn’t think that level of detail was needed. Take for example another thing:
//What will be output?
console.log(false == '0');
console.log(false === '0');
Line 1 will output
Partial credittrue
and Line 2 will outputfalse
.
Line 1 will output
Full explanationtrue
because==
tests for loose equality. The==
operator coerces the values to the same type before comparing them. Line 2 will outputfalse
because it tests for strict equality where the values must be of the same type and value.
Here, again, I did not focus on the details associated with the question and would have gotten partial marks. I also have issues reading the whole problem and solving it alongside my explanations.
Going forward in my Launch School journey, I realize that it is not enough to simply ‘know’ a lot about a topic. Applying said knowledge correctly, detail by painstaking detail will get me further in my journey. I see and will continue to challenge myself to read slowly and closely before even considering answering the question.
Overall, I am thankful for this experience. Even at the JS101/109 level, I have a better understanding of how JS frameworks work and why they sometimes give kooky results. As I prepare for my next assessment I’ll keep my eyes peeled for every last detail.
Leave a Reply