Category Archives: 2024

Exposing Ignorance

While sometimes difficult, I found the practice of “Exposing your Ignorance” to be extremely important in many aspects of life, and naturally it makes sense that it applies to software development the same.

Understanding what is left to be done/improved upon is a core part of development and this rings true for anyone’s apprenticeship. If one cannot see what needs to be improved in their craft, they can subtly become too comfortable with one expertise causing them to never be able to achieve true master craftsman status by holding themselves back due to their complacency.

By asking yourself and figuring out what you are good at and what you are bad at it will allow for the greatest improvement along the apprenticeship journey. Having humility when learning is essential, you may try to fake it until you make it but that will only take you so far before too many errors or issues arise putting your overall proficiency and potentially your position in question. Accepting you are not going to know or understand everything allows for one to learn more efficiently and quicker by choosing to reach out for help when needed rather than forcing themselves to “figure it out”.

I also found it interesting that this practice shines importance on displaying your learning ability to your team. It’s important that if you don’t understand something it’s okay to speak up and let that be known since the team you’re a part of is most likely going to be understanding of your inexperience. One must remember, that their team members had to be in your shoes at one point to get where they are currently.

From my own experience, I learned the hard way that struggling alone is so much harder than just swallowing my pride and asking for help. It seems like obvious advice but generally, I can be stubborn and sometimes I can feel reluctant to ask for help. Sure there can be lots of gratification in solving hard problems on your own, but sometimes it takes way longer than it should to make a seemingly “easy” change. This is because an “easy” or routine task for the team you’re a part of might not be “easy” or routine for a new inexperienced member.

By asking questions I can and have avoided misusing my crucially valuable development time by not being afraid to admit I need help. Struggling alone is always going to be worse than reaching out since there are many more meaningful uses of said time instead of being drained unnecessarily. If you don’t take the steps to become informed and more well rounded then you will continuously bottleneck your development as a craftsman.

From the blog CS@Worcester – Eli's Corner of the Internet by Eli and used with permission of the author. All other rights reserved by the author.

Apprenticeship Patterns Introductions

After reading the apprenticeship pattern introduction and each of the chapter introductions, I found myself intrigued by the advice offered to newcomers entering the software industry. It fascinated me how the medieval craftsman model can be applied, and the concept of “seasons” of expertise can aptly describe the stages of one’s software development journey. I had never viewed the different stages of an individual’s career in the software industry as distinguished apprentices, journeymen, and masters. However, after reading the explanation for each stage/season, it makes a lot of sense and appears more applicable to the field than I had previously thought.

While not being identical to say a blacksmithing apprentice, individuals who are educated or have little experience within the industry are still apprentices with much to learn in the ever-expanding and diversifying field of computing. Understanding and recognizing this could potentially go a long way in aiding one’s development into becoming a journeyman and, eventually, a master craftsman.

I also found it interesting how Pete McBreen offers a specific distinction, he views being a Software Craftsman or Engineer as two mutually exclusive things when, from my perspective (and pointed out later in the introduction), the line between engineer and craftsman remains quite blurred. It is difficult to dictate exactly where being a software engineer or craftsman starts and/or ends.

While briefly looking over each chapter and reading their introductions, I felt reassured since I had encountered some of the advice I was reading before, reinforcing that previous mentors were knowledgeable in what they taught me. I was also struck with a feeling of my eyes being opened to new ideas or practices that I could employ to further my journey and hopefully help others in the future who may view me as a mentor, aiding them in their learning journey.

A particular part of the introduction (chapter 1) resonated with me deeply. Carol Dweck is quoted stating “effort is what makes you smart or talented,” a value I hold dear. I maintain the belief that anyone has the potential to excel in anything, but only those who put a lot of effort into learning and building their expertise are considered “smart” or “talented” in any field/profession.

Overall, I am looking forward to delving deeper into the good practices that will aid in furthering my learning and personal development, as well as contributing to the development of my peers, by being equipped with tools to help everyone succeed.

From the blog CS@Worcester – Eli's Corner of the Internet by Eli and used with permission of the author. All other rights reserved by the author.

Libre Food Pantry & Thea’s Pantry

I found the Code of Conduct from Libre Food Pantry interesting/useful as it provides a great framework for meaningful collaboration that is inclusive to as many people as possible. I chose to write about the Code of Conduct because I believe in the importance of moral coding/development and the Code of Conduct sets quite a few good standards for all contributors to follow. I also like how each level of conduct enforcement is clearly stated so if necessary, any individual may return to the Code of Conduct to clarify why or what may have caused a certain disciplinary action to come about.

I was looking through the Architecture section of Thea’s Pantry and I found searching over the full architecture of the Pantry interesting. I know that we touched upon mostly the GuestInfoSystem side of Thea’s Pantry last semester but relooking over the full microservice architecture was eye-opening since while being comprised of a couple of major systems I know my future may hold even more complex and interesting webbing of microservices. This makes me want to utilize the experience I will gain from this course to further prepare myself for any future projects or ventures I choose to embark on. By attempting to better familiarize myself with the architecture of Thea’s Pantry now, it will potentially help me and my team in the future by building a more robust understanding of the systems comprising Thea’s Pantry.

From the blog CS@Worcester – Eli's Corner of the Internet by Eli and used with permission of the author. All other rights reserved by the author.