In-Depth Blog Post #4

Hello! This is my fourth blog post for the In-Dept project, and in this week’s post, I will be discussing some progress that I’ve made on my skills, and how I’ve been using “How to Have a Beautiful Mind” by Edward de Bono to host more interesting conversations with my mentor!

Progress Update

In the 2 weeks since my last blog post, I’ve met my mentor once again, and in our most recent meeting, we discussed something called “unit testing” within programming.

My mentor explained to me that unit tests are basically tests of “units,” which are individual components of the software program or application. The main purpose of unit testing is to check that all the individual parts of the program/software are working as intended, which helps to make sure that their code works correctly. This process ultimately helps to detect and protect against bugs in the future.

I’ve also completed the PluralSight course my mentor assigned to me, and I believe with that, I have achieved my goal of gaining what I deem to be a “basic understanding” of C#, which I am very proud of.

Here’s a small snippet of my code that I created via the PluralSight course:

This is a small snippet of the code I created following the PluralSight course

I’ve also started on my “choose your own adventure game,” though I would like to find a way to not use lines upon lines of “if,” “else if,” and “else” statements because I think it’s just very inefficient.

How did I listen to my mentor?

In one of the chapters of “How To Have A Beautiful Mind,” de Bono discusses “how to listen.” In this section, de Bono states that unless you are going to be talking all the time, you are going to have to listen for most of the time. Due to this, he suggests the idea that in these cases, listening carefully and attentively will give you more value from simply listening than talking would, which is especially true in In-Depth as you will be mostly listening to your mentor instead of engaging in conversation until later on. De Bono states that there are two foci: what is the speaker trying to tell you and what are you hearing and is it relevant to what the speaker is trying to say?

In my recent meeting with my mentor, I did my best to listen to them well and with respect, keeping in mind the two foci that de Bono had stated. At some points, however, I wanted to dive deeper into that particular topic. So, I used questions to probe further into the topic so that I could learn more. For example, during our discussion of unit testing, I had already learned a great deal about how to make a unit test, but I wanted to learn more about why programmers unit test, so I asked my mentor (when he had finished speaking of course) “why do programmers unit test though? Couldn’t you just test your code in the main program itself?” With that question, I was able to probe further into the topic, earning further information regarding the subject. What I learned from listening to the following conversation allowed me to write a simple definition of unit testing up in the progress update, which I’m very proud of. Though, I am still having some trouble creating my own unit tests, which is something I might need to work on later.

How did I ask questions to my mentor?

In the next chapter of the same book, de Bono states that in addition to listening, another important aspect of having an interesting conversation is to ask questions! Conversations are how people generally generate interaction within conversations, and de Bono states that a question is simply a method of directing attention. In the book, the CoRT programme is referenced, and it makes a distinction between “fishing questions” and “shooting questions.” Shooting questions are yes or no questions, in which there are only 2 possible outcomes for an answer. However, on the opposite end are the fishing questions, in which the question is left open-ended, and the questioner does not know what answer will be given. Questions allow oneself to check on the source and the truthfulness of the information being shared, ask for more details, offer alternatives and possibilities, state multiple-choice options and clarify values. All of which can improve the current conversation. Asking about the basis of someone’s thoughts, feelings, decisions, or even proposals will clarify the conversation.

In my recent meeting with my mentor, I asked a ton of questions, because I’m still at a basic level of understanding of the skills I wish to learn. Though, I felt I gained the most from the conversation when I asked for explanations for a certain project I was in the process of doing. For example, when my mentor told me about the “choose your own adventure” game he said I could do, I asked “Why do I need to make a choose your own adventure game? Wouldn’t that just be a bunch of ‘if’ and ‘else’ statements?” My mentor promptly explained to me that I should make a “choose your own adventure” game to use as a side-project when I start learning Unity so I could still keep practicing my C# skills in the meantime. They also pointed out that at some point, I would figure out that I couldn’t just use “If/Else” statements for everything, and I would need to figure out how to make my code more efficient then, which would be a fun and interesting topic for me to learn on my own. I thought about it, and those reasons seemed very appropriate and reasonable to me, which along with my desire to start making games made me say yes to the idea. Like I said in the progress update, I’m currently working on it, and I think it’s been going great! Though I do think I will need to start tackling the “If/Else” statement problem because I’m getting close to the point where it’ll start becoming a slight problem.

Once again, thanks for reading, and come back in two weeks for my next In-Depth blog post!

Thanks for reading!
Dylan