Hello,
My name is Matthew DePalo and this is my first blog post for my Capstone class this year!
From the blog CS@Worcester – Matt's Blog by mattyd99 and used with permission of the author. All other rights reserved by the author.
Hello,
My name is Matthew DePalo and this is my first blog post for my Capstone class this year!
From the blog CS@Worcester – Matt's Blog by mattyd99 and used with permission of the author. All other rights reserved by the author.
I understand there will be a point in time where your team will be assigned a project that does not necessarily excite you. Sometimes it becomes quite difficult to work on something that you are not passionate about or the environment surrounding you is too hostile. From this chapter I learned that by working on one of your passions outside of work, you are in fact nurturing your passion and giving yourself a sense of fulfillment.
The author illustrates the important of setting clear boundaries that define the environment you are willing to work in. Steer clear of settings that disrupt your good mood; always try to stay positive.
I agree with this pattern because things may get overwhelming at times and this is the time where you have to take a step back and breathe. It allows you to connect with yourself again. I actually am not looking forward to experiencing times where an outside source impacts me and my work negatively and am curious as to how I will handle it.
From the blog CS@Worcester – Life in the Field of Computer Science by iharrynguyen and used with permission of the author. All other rights reserved by the author.
The book Apprenticeship Patterns by Adewale Oshineye and Dave Hoover is written for software apprentices who have experience in developing software and want to take it to the next level but need some guidance. The concept of the book is based on the medieval craft model where there are apprentices who are inexperienced/beginners who help the journeymen and the masters do their work.
After reading the first few paragraphs of the introduction chapter, I thought to myself, this system of apprenticeship is similar to what we have right now. You have the apprentices interns/new hires, the journeymen or the people that are already working are experienced, then the master or the manager but in a different way. Since now, you do not have to go through years and years of training to be able to do what someone in a higher position is doing. Sometimes people are hired as a manager right away.
I really like the part where they talk about what they meant by software craftsmanship cause they talked about the different core values not just in software development but also in life. They said that it is a “community of practice united and defined by overlapping values”. One of the values that they talked about was a need to always be adapting and changing. This applies to everything. The world is constantly changing and we need to adapt to it or else we would be left behind. They also talked about the belief that it is better to share what we know. This is really important in the software industry. You can see how most Open Source Softwares are successful because it is made for the community so there are more people who are willing to work on it. These are just some of the values that were listed in the book.
The introduction in each chapter of the book was also enjoyable and insightful. It was full of philosophical stories. The first one was about “emptying your cup”. It talks about how you should open up yourself to the different approaches of a more experienced colleague. It is often hard to get rid of our habits. I think that even though we think we know what we are doing, it is important that we respect and acknowledge that others are more experienced than us and that we should be open to new things.
The introduction of Chapter 3 was the most relevant to me. They talked about how if you think you are good at doing something, there is always someone better than you. In high school, since I did not know much English and the school system here in America, they put me in classes that were easy. After a few months, I lost interest in school and studying. I was not learning anything. This puts me in a state of mind where I think I am better than my classmates and that I do not have to go to school. But then, the year after, they put me on more advanced classes and I was challenged but, at the same time happy to know that there are way more people who are better than me.
I really enjoyed reading the introductions to each chapter. It seems to prepare us and set our mindset in the right direction before we learn the different patterns that are in the book.
From the blog CS@Worcester – Computer Science by csrenz and used with permission of the author. All other rights reserved by the author.

From the blog mrogers4836 by mrogers4836 and used with permission of the author. All other rights reserved by the author.
Draw Your Own Map is a pattern that discusses how you must forge your own path in terms of your career and not let yourself be boxed in by your employer. This pattern is relevant for everybody who wishes to advance their career as there is only a limited set of career paths that any employer can offer. It is not up to anybody but yourself to decide what the next step in your career should be. When you figure out you want your next step to be, you should visualize the smaller steps that you need to take to get there. Taking the first step will help propel you to achieve your goals. If you discover that your vision for your future is not compatible with your current employer, you should start looking for other opportunities. Draw Your Own Map is all about not getting stuck in one place that doesn’t provide for career advancement.
I think that this is a very useful pattern to follow. It is common for people to grow comfortable in a certain role which makes them unwilling to look for other opportunities. It is also unlikely that any company will provide you the exact path that you want your career to follow. It’s important to remember that your employer is not invested in you advancing the exact way you want to. Even though you may work for a particular company for a long period of time and feel like you should have some level of loyalty, it is better to examine other opportunities when your company’s ideas for you are not aligning with your own. This is the only way to truly draw your own map.
I thought that the two example stories given were interesting to read through. Reading real life examples helps to drive home the point of the pattern and shows that this type of thing is not uncommon. It was also interesting to learn about two actual career paths that have been taken by people in the industry. Overall I think that this pattern is applicable to everybody and is important to remember for people beginning their careers.
From the blog CS@Worcester – Computer Science Blog by rydercsblog and used with permission of the author. All other rights reserved by the author.
The White Belt Pattern, as defined by Dave Hoover and Adewale Oshineye, is an apprenticeship pattern with the goal to learn new concepts or information. The way the pattern achieves this is by having the user abandon their previous knowledge and conceptions regarding the topic, and look at the topic from a fresh perspective with a willingness to learn, despite the potential difficulty and inefficiency of doing so. This comes in handy if you are trying to learn a new programming language or if you need to solve a problem using a new or unfamiliar algorithm.
I definitely can recognize times in my life where use of the white belt pattern would have been helpful. Often times when I’m working on a puzzling programming challenge, I try to think of it in terms of challenges I’ve had before and previous problems I’ve overcome. If I can apply a previous solution to this problem, wouldn’t that be the best way to do it? While I personally do still think this kind of thinking can be useful in reminding yourself of your steps to reaching a previous solution, it can also be distracting and push your mind in the wrong direction. Sometimes the best way to solve a problem is to approach it from a totally new angle and abandon anything you think you know about how to solve it. Some times it’s the knowledge you think is helping you that is actually getting in the way.
I can absolutely see me reminding myself of this pattern and its intentions in the future. If I find myself overthinking something, or trying to shoehorn a solution to a problem that doesn’t fit, I will try to forget what I know and open my mind up to new solutions and ways of doing things. Even outside of programming, freeing up some of my preconceptions on the ways I think things work could be very healthy. It’s important not to let our accumulated knowledge cloud our judgement and prevent us from learning even more. After all, if our goal is to learn, we should approach it from the most practical way possible.
From the blog CS@Worcester – Let's Get TechNICKal by technickal4 and used with permission of the author. All other rights reserved by the author.
The Apprenticeship Patterns book explains how to understand the ideas of modern software development by using a simple vocabulary and a relatable lens. The first chapter goes through the importance of understanding how Software Craftsmanship is defined through the experience of real developers. The ideas of trying new things and experimenting were constantly brought up as well to enforce the mindset of individual growth. It explains that through various interviews and personal experience, they were able to understand the individual growth of various software developers and share their experiences through their years for a better understanding of the industry of today. The book delves into these ideas further by saying that the reader’s mind should be fresh and patient when learning. Many developers stick to certain practices once they learn master a specific language that they carry over which hurts their learning ability in the future. This comes into play with the self-assessment portion of the book where it explains that risks and learning curves are to be expected when tackling difficult languages but understanding personal strengths and weaknesses are key. These ideas help keep the idea of perpetual learning fresh and easier to tackle which can greatly affect how someone learns information on their own. The book continues to talk about the abundance of information through the internet and books that allow anyone access to information if they truly need it. It further pushes the idea of self-learning by talking about how many developers started by teaching themselves through constant reading and media platforms while also applying these skills into their daily software development lives.
I found the reading to be very interesting through the use of personal experience from other developers as they went through their own hardships of learning how to compete in the industry. I specifically found the analogy of emptying the cup to be thought-provoking and useful as it seemed very relatable to me. Understanding and master a programming language feels incredible and makes the user want to apply what they learned to various other languages in hopes of learning them faster using the first language as a basis of knowledge. This can work sometimes however; many languages have their own twists which can be aggravating to learn due to the fact that it seems more complex than the first language that you originally learned. The idea of “emptying” the cup makes much more sense here to make sure that there is frustration when moving from one language to another. I found the analogy of not being able to “drink” from the cup if it’s full to be insightful because it points out the importance of letting go of some knowledge from other subjects to retain focus on the current learning objective on hand. The reading has caused me to understand how to learn from my mistakes and failures much better after reading how other developers also struggled with difficult programming terms. It’s changed my opinion of learning other skills for software development and how I would have originally tackled it which I now completely agree with. This ties into Chapter 6 which talked about constructing your own curriculum which resonated with me much more than the other chapters. As I empty my cup, I realize that my limits lie within how I intake my information and how I organize this intake to make it as easy and smooth as possible.
From the blog CS@Worcester – Student To Scholar by kumarcomputerscience and used with permission of the author. All other rights reserved by the author.
For this post, my assignment was to read chapter 1 as well as the introductions for chapters 2-6 of Apprenticeship Patterns by Adewale Oshineye and Dave Hoover. We weren’t required to read anything in addition, but I was interested, so I read the first model from each chapter as well.
This book models a framework for someone to master the discipline. Mastering something can be challenging, and it is easy to give up when faced with some obstacles. Fortunately, this book looks like it will provide a good framework for someone like me.
I liked all the values presented in the introduction. These are a few of my favorites. (1) “Having a growth mindset.” Like many things I can glean from this book, this is a good quality to adopt for all of life when faced with any obstacle. (2) “Share what we know.” I believe that we are stronger when we work together over getting ahead by trampling others to get ahead.
(3) “Willingness to experiment and be proven wrong.” This perhaps was the most important thing that I learned working in groups last semester. Invariably I would go into a project with a range of quality of ideas. Some were good, but many were not. I had to have the humility to admit when an idea I was defending was not a good one. I grew as a person because of that.
For the “emptying the cup” metaphor, I related to the young philosopher quite a bit. I try hard not to be this way, but I find I can have the tendency to give my two cents when in the presence of someone who knows a lot more than me. I should be a lot more willing to listen and learn over speaking what I know. Usually what I have to say is nothing compared to what I can learn.
The advice to “be the worst” made me feel more at ease at the prospect of getting an internship or a job. I am overcoming a fear of being the worst developer at a company. This advice makes me think of it in another way, which is that I will grow so much more as a developer if I surround myself with people that are better than me
I appreciated the C.S. Lewis quote about seeking knowledge “while conditions are still unfavorable. Favorable conditions never come.” This struck very close to home for me, coming from a vacation where I had set maybe a dozen goals for myself. I ended the vacation only finishing a couple of them. I should have forced myself to set aside the time before the fall semester was over to start to accomplish these goals. If I had excuses during the semester, I should have foreseen that I would have excuses over the break.
I am excited to read more about each section. These topics that we will explore truly seem like they will be enjoyable to learn.
From the blog Sam Bryan by and used with permission of the author. All other rights reserved by the author.
Hey guys, here’s to another (and my last) semester of this CS series of blog posts!
Hopefully you will HIIT–or should I say reach–all of your professional and personal goals for this year. There’s so many things to always keep improving on but it’s always easier when you break things down to smaller changes or achievements.
Here’s a picture of one of my personal goals as can be seen in my university’s Wellness Center:

One day I will be able to get up there without being lifted…alright I’ve gotta get back to practicing my jumps.
Best of Luck,
Sami
From the blog CS@Worcester by samanthatran and used with permission of the author. All other rights reserved by the author.
For this Spring ’19 semester, I’m going to be delving into an Independent Study of the MINIX 3 operating system under the guide of my professor, Karl Wurst. My goal is to dissect and tinker with the underlying systems of an operating system — Processes, I/O, Memory Management, and File Systems. I’ve already gone ahead and installed MINIX 3 on a virtual machine using VirtualBox. Next step is to delve into the MINIX 3 book and see what’s going on under the hood. MINIX 3 actually has a really great wiki with a section catered towards hacking the OS as well, so I’ll likely be drawing a lot of my information from there, too.
As part of the Independent Study I will be writing a weekly blog post here to discuss what I’ve done every week, as well as a paper that I will finish as a summary of my work at the end of the semester.
Here’s to lots of learning and a great final semester!
From the blog CS@Worcester – James Blash by jwblash and used with permission of the author. All other rights reserved by the author.