Be the Worst (week-2)

This pattern, “be the worst” to my understanding means, we should surround ourselves with people who are very clever or know more about the subject or field you are in.

From the readings under “be the worst ” which says “what do i do when my rate of learning has leveled off?” You have taken the time to learn something new, immersed yourself in the subject matter, practiced diligently for a period of time and look up and see that you are ahead of those around you. Now what? There are only so many books, blogs, and other resources you can learn from until you reach a point where you must learn new skills from other humans. We are social creatures, by nature. We rely on each other to survive and part of that survival involves learning from each other. It’s difficult to imagine a world where we all had to learn everything on our own and couldn’t benefit from the knowledge and insight of those around us. So for us be connected with the world we need to learn from others. And also the is a saying not everything that we know, we learn from each other and by that we grow. So the more we learn from other developers, there more we grow as a developer. We can look for people who know more than we do and learn from them. We can also be in a team were you a the least among them. Knowing you are the least, you tend to work harder to keep up with them and also you get to learn new skill from them too.

From the readings “weakest member of the team, you should be working harder than anyone else”. There are risks associated with this strategy. You will be the least effective developer or person around the team. This also means your contributions will not be sufficient whereby dragging the team down. Because of this situation, team members may not put up with you very long. So not putting all these risks into consideration, if you are really determined to learn, you will have to strive harder. In other sense, the only choice for you to stay in the team is to learn harder. That also means extra work for you.

Apart from all the risk involve, being the worst is a great way to improve your effectiveness in a given subject area quickly

Reading this pattern has made me know that in my own world i may feel i know everything till it get out of my world to see i really know everything or not. which knowing everything will never be the case. We all learn from each other. And knowing this idea, I will have to surround with people who are more challenging or better that me. Through that i get to learn new skill and better my self.

From the blog CS@worcester – Site Title by Derek Odame and used with permission of the author. All other rights reserved by the author.

CS-448 Introduction

I am Joshua Farrar and I am taking CS-448 during the Spring 2019 semester at Worcester State University.

From the blog CS@Worcester – Joshua Farrar's Blog by jmfarrar1 and used with permission of the author. All other rights reserved by the author.

Journey into A Different Road (A Individual Apprenticeship Patterns)

On this Software Development Capstone journey part of my assignment is to choose 10 Individual Apprenticeship Patterns out of 35 patterns among Chapters 2-6 from the book Apprenticeship Patterns: Guidance for the Aspiring Software Craftsmanby Dave Hoover and Adewale Oshineye. For my first individual Apprenticeship pattern I have chosen A different road. I will first summarize the pattern and then I will state my reaction of this pattern.

A Different Road summarized

After using Draw Your Own Map pattern and creating the map which you been following. You come to realized that the map you drew has led you away from the long road or the road your on is no longer the one for you. Even if you decide to take a detour and do something different from software development your software craftsmanship will always benefit you no matter what. Also, if you do leave and then decide to come back you will be bringing back with you new set of skills that will be beneficial because it will be a fresh new set of eyes with a new prospective. Although sometimes when you take a break some software organization might make you jump over a few hoops and ask you over 21 question seeking justification from you for leaving for a while and then deciding to come back.  The key is to no worry because you are a software craftsmen and everything you have learned will always be with you. An action you should take whenever you no longer want to be a software developer or you’re wondering what would/should you do? This pattern suggestion for you is to list the kind of jobs you would like to do and then find people who matches your jobs list and who also loves their job. Once you found that person you are to “Ask them what they love about it and compare that to the things you love about software development.”

My Reaction

This pattern helps you not worry and be confident that the road although different is not entirely different. It also, reassure you that its okay to take a different road. I agree with this idea. I found that this idea is not just interesting but also useful and thought-provoking. This pattern has definitely changed the way I think about my profession and the way I think I will work because it has made me less worry and more confident in knowing that I should not be afraid to go on different roads because as a software craftsman I will have a set of quality that will last a life time.

Thank you for your time. This has been YessyMer in the World Of Computer Science, until next time.

 

 

 

 

 

 

From the blog cs@Worcester – YessyMer In the world of Computer Science by yesmercedes and used with permission of the author. All other rights reserved by the author.

Reflecting on “Apprenticeship Patterns” – Chapter 1, and Chapters 2-6 Introductions

Over the next several weeks, I will be posting my reflections on different sections from the book, “Apprenticeship Patterns,” by Adewale Oshineye and Dave Hoover. This book is a great resource for soon-to-be computer science graduates, like me, who are preparing to transition into the field of software development.

The first chapter explains what it means to be an apprentice in the context of a software development career, as well as the specifications that each step along the journey to becoming a software craftsman would entail. As I was reading this chapter, I enjoyed the imagery of a medieval setting that the authors created. This certainly helped me better understand the expectations of someone in each role, especially the apprentice. The descriptions of higher-level roles (the journeyman and the master) were also very well done, because they gave me a vivid picture of what I am aspiring to work my way up to.

The concept from the chapter that took me the longest to understand was that these tiers not only reflect my growth in position while in the software development field (like receiving more tasks from a boss or just having more responsibility in the workplace), but also the growth in mindset. I was initially confused because I was under the impression that the book would describe the type of work that I would be expected to complete as a new graduate and later. However, I feel that explanations of the attitudes and mindful habits that I should use are just as beneficial, if not more so, because each work environment isn’t the same!

With this new expectation of the book contents in mind, the introductions to the remaining chapters of the book made a lot more sense. Each of these brief sections made me more excited to learn more about how to solidify good apprentice practices.

While I intend on reading through the whole book, there is one chapter that I will need to spend more time going over. Chapter 3, titled “Walking the Long Road,” discusses how long our path to mastery really is. It also puts into perspective that all software developers travel on the same path, whether some are farther along than others. I tend to get easily discouraged when examining the work of others who have done more in the field. So, hopefully by spending more time on that chapter, I will become more focused on my own progress, rather than implicitly comparing myself to other developers.

There is also one chapter that I feel like I won’t have as much trouble working on. Chapter 5, titled “Perpetual Learning,” goes over the importance of keeping up with new knowledge in the field. This can be achieved by reading more on the subject or practicing skills, to name a couple of strategies. I love to learn new topics related to computer science; in fact, I have bought several online courses to go through when I have the time to get to them. So, I have some confidence that I will find the apprenticeship patterns described in that chapter easier to implement in my own life.

This book looks extremely informative and has been very well-written from what I’ve already read, so I’m excited to dive in further!

From the blog CS@Worcester – Hi, I'm Kat. by Kat Law and used with permission of the author. All other rights reserved by the author.

Apprenticeship Patterns

This week I was tasked with reading a few different excerpts from a Apprenticeship Patterns: Guidance for the Aspiring Software Craftsman by Dave Hoover and Adewale Oshineye. The first chapter talks about software craftsmanship and compares it to how many trades are set up; apprentice, journeyman, and master levels. I think this is a really neat comparison because when you think of software development as a trade, and as a craft, it makes sense to apply the idea of starting out as an apprentice, working up through the journeyman rank, and finally reaching the level of master at the end. For each tier you increase, you retain a certain amount of information that makes you capable of doing many different things in your trade. From there the perfect transition into a description of the apprenticeship pattern is given, and I personally thought that was fantastic. I enjoy a good pun but I really enjoy a seamless transition between subjects. One thing I found interesting is how these patterns are found. Like, who actually thinks of these design patterns and figures out how they work? I like the idea that they are “borrowed” from working frameworks and tweaked to fit the application needed. For example someone has a framework made up for purchasing movie tickets online, but a live music venue wants to sell tickets to shows online. By using the functioning framework from the movie ticket application, they can borrow the framework and tweak it to fit their needs, which in this case is selling concert tickets rather than movie tickets. The book goes on to talk about different points that make someone a “great” software developer. One of these points that really stuck out to me was in chapter 3, which is easily my favorite chapter just because of how relatable it is. The story that was told was of a guy named Dave who had a multitude of certificates on programming (in this case it was Perl but it really doesn’t matter because this applies to all languages). The certificates reassured him that he was “properly trained” and “knew what he was doing” and was a “coding master” or a “software craftsman”. However after he did some socializing with other “masters” of his certified programming language, he realized that the well is a lot deeper than he could have ever imagined. At this point he realized he was not a “master” of software development or any of the other previously mentioned attributes. He was still just a guy who had a lot to learn about software before becoming a master. I think this point resonated with me the most because approaching the end of my college career and almost having a bachelors in computer science and software development, I thought that I was a pretty decent coder. Maybe not a “master” but definitely more than novice. What I know now is that there is a lot more information out there and the sea is ever expanding and growing with new knowledge, and I have so much to learn still. I thought that this reading was very thought provoking and gave me a new appreciation and understanding in my work and what I know, as well as what I want to learn in the future.

From the blog CS@Worcester – The Average CS Student by Nathan Posterro and used with permission of the author. All other rights reserved by the author.

Apprenticeship Chapter 1 Blog

This blog post is about the first chapter of Apprenticeship Patterns: Guidance for the Aspiring Software Craftsman, in which the authors talk about what makes an apprentice and how you can move on and up from that position, eventually to the point of Master if you are determined enough. The author looks to define what is software craftsmanship, and while other people have written similar ideas close to that, none have actually explored what it means to be that craftsman. A point that stuck with me was when the author talks about lessons learned from the Agile Development Movement. They state how when just telling people to do things by a set of rules they would eventually be lost, but when those same people learned the values that underpin said rules, they were able to grow and create new rules for new contexts. The way that the author decided to define software craftsmanship was with the roles from medieval times, that of the Apprentice, Journeyman, and Master, all of which having their own roles in the industry. One thing that stuck out to me personally was when the author began describing what it means to be an Apprentice, in that as an Apprentice it is important to understand there are people much smarter than you which can be resources of knowledge for you. “…-By teaching them to value learning over the appearance of smartness, to relish challenge and to use errors as routes to master” (Self-Theories, pg. 4). As an Apprentice it is also very common and smart for you to be focused inward, focused on growing your knowledge and resources that will eventually be how you transition to a Journeyman.  I feel the way the author described the transition into a Journeyman was basically, “one day you just are”, but goes on to describe how it involves more than just the inward focus on growing yourself. As a Journeyman you begin to be more concerned on growing the teams that are around you, and mentoring those around you who are Apprentices working themselves to become the Journeyman. Finally, the author talks about what it means to be a Master software craftsman. This, for me, was one of the most important part of this entire summary of how being a Master software craftsman was more than just your knowledge. Being a Master was more about bringing up those who are around you, some to the point of surpassing your knowledge. “Mastery involves taking that skill and turning it into a magnifying glass that can enhance the skills of others by orders of magnitude”(What Does It Mean to Be a Master?). Overall, I feel the explanation of the Apprentice, Journeyman, and Master of software craftsmanship was very spot on, in that Apprentices are focused on growing themselves. Someone is a Journeyman when they start trying to mentor those around them, as well as growing and developing the team that is around them. Finally, Masters are not just Masters because of their knowledge, but rather how they distribute and spread their knowledge, as well as trying to help grow the industry as a whole.

From the blog CS@Worcester – James' Blog by jdenesha and used with permission of the author. All other rights reserved by the author.

Apprenticeship Patterns Chapter 1 and Chapter 2-6 Introductions #CS-448

In short as I read about the apprenticeship, to my understanding, it is the first step in craftsmanship. An apprentice, is responsible for the outcome of his or her apprenticeship. At this time the apprentice focuses on inward and intent on growing his or her craftsmanship. Through that he or she will benefit the attention of his or her peers and gain more experience as a worker. While reading about the apprenticeship, I notice the old way of apprenticeship was not working very well. So because of that a new way was made, which was made to make technique of apprenticeship effective on making the craftsmen fresh and also from my point of view, this strategy will keep the costs down for clients.

The next stage of the craftsmanship is the journeyman. In this stage, you are getting close to becoming a master. Your work load becomes more and you have close relationship with the master. As a journeyman, you will be handling big projects and more responsibility is given to you. From my understanding, the journeyman is like a mediator between the apprentice and the master. Or a supervisor at the work place.

The next or last stage of the craftsmanship is the master. At this point, he or she has learned all that he or she needs to know about the job. At this stage, he or she uses the skills learned to bring something new to the world. The master contributes by bring new things to the industry or creating a new company, where all this cycle of craftsmanship start all over again.

My favorite part of all the introductions is “emptying the cup”. From my understanding of it, it all about the master and the student, if you are a student or someone who wants to learn from someone whom you know knows much about the field, you should be ready to fully listen to him. In order words, empty yourself of what you know or be fully ready to submit to the master. Because, if you already know what you are about to be trained, why then do you need a master to train you. All what you will be getting from the master will be waste of time since the cup is already full. In short, this story talks about submitting to the master to teach you to become a master.

Also from other part of the introductions about which talks about “accurate self-assessment”, got me interested, knowing that I should not be okay with the current state I am in. But always try to be better than what I current am. Even if I have to compete with others, I should do it for my own benefit that is to better myself.

The whole readings have made me know and learned a lot about craftsmanship. It will help me through my future career by making me understand the basic and things that will be required from me.

 

From the blog CS@worcester – Site Title by Derek Odame and used with permission of the author. All other rights reserved by the author.

Introduction Post for Capstone (CS-448)

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.

Nurture Your Passion

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.

Apprenticeship Patterns Ch 1 and Ch 2-6 Introductions

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.