This week marks the second week of my pairing tour. While I didn't get much coding time in today, but I did get some good practice and feedback for creating a presentation. I was given the task of creating a talk about Software Craftsmanship for another mentor of mine to give at a Code School.
Basically my mentor went to a whiteboard and drew a couple diagrams and then asked me to create a few slides based on what he drew. What he drew was the road to mastery, which is the road that I am on right now as an apprentice.
The roadmap to mastery consists of being an apprentice, then a journeyman, and eventually a master. Being an apprentice is only the start of this path. This is the stage where spend the most time learning a trade, and in this case, it will be software. Before my apprenticeship, I didn't really have much of an organized workflow. Now that I have been an apprentice for a while, one of the biggest things for me to learn was the process of creating software. This mean things like TDD, Git Workflow, and learning good coding practices.
The next stage of the road to mastery is the journeyman stage. This stage of mastery involves deepening your knowledge of your skillset. For me, I knew a little about a lot of various software related subjects. In the journeyman stage, you will spend time deepening your personal knowledgebase.
Finally, once you hit mastery, you will focus most on your skills rather than the process. By this time, you should know how to follow TDD in any language domain. As a master, your responsibility is to further the industry with experiments. With your expert knowledge, you should be creating new software that helps the industry or trying new coding styles or implementations to find better ways to do things. Even if you don't succeed, you will always learn from your failures.
Even though I wasn't giving the talk this time, I thought it was cool to create some presentation slides about something that I was personally experiencing. Often times when I'm creating a talk, I'm not sure how technical my audience is or how familiar they will be with the subject that I will be talking about. When I give a presentation, I want to make sure that everybody can follow along and understand what I'm talking about. I believe being able to construct a talk that even non-technical people could at least follow along is an important skill to have as a software developer.
All in all, practice makes perfect. Throughout my apprenticeship I had to give a few talks on various technical topics. With each talk I gave, I felt a little better and more comfortable getting up in front of people and explaining it in a way that is simple and organized.
🙏🙏🙏
Since you've made it this far, sharing this article on your favorite social media network would be highly appreciated 💖! For feedback, please ping me on Twitter.
Published