Apprenticeship Pattern – Expose Your Ignorance

The apprenticeship pattern “Expose Your Ignorance” refers to the scenario in which you’re assigned a project but you are unfamiliar with some of the technologies that are required. Under the expectations of your colleagues, you may feel pressured to hide your ignorance so as not to seem incompetent as a developer. The best course of action, however, is to tell people the truth.

I can see why people might be uncomfortable with the idea of exposing their ignorance. However, I think that anyone who is more interested in actually becoming a better developer rather than focusing on what kind of developer they’re perceived as would be able to agree with this pattern. Sure, you could choose to pretend that you have the knowledge to complete any task already and then try to learn those technologies on your own, but there’s no guarantee that you’ll be successful. If you promise to deliver something and then later have to admit that you’re less knowledgeable than you initially let on, then you’re going to end up worse off. By admitting that you’re inexperienced with certain required technologies and asking questions, you’re able to show that you’re capable of learning while also being able to learn much faster with the assistance. One common phrase that I see commonly used is to “fake it till you make it”. I don’t doubt that there are some people who will look down on you for exposing your ignorance, but as long as you continue to focus on learning as effectively as you can, then you’ll be much better off in the long run.

One of the things I found interesting in the excerpt was to write down five things that you really don’t understand about your work and to put it where others can see it. This is definitely an extreme way of exposing your ignorance, but if people who see it are able to answer your questions and cross off an item on the list, then you’ll improve far faster than if you were to try to do the research alone. I’m not saying that you shouldn’t try to solve problems on your own, but it’s in everyone’s best interest to seek advice whenever they feel like they lack knowledge.

From the blog CS@Worcester – Andy Pham by apham1 and used with permission of the author. All other rights reserved by the author.

Why Doctors Hate Their Computers: Thoughts

My blog post will be a bit different from the usual for this week. I recently just listened to the audible of an article titled, “Why Doctors Hate Their Computers” by Atul Gawande. Throughout the whole entire time of listening to this article, a number of thoughts went through my head. The first was how amazed I was by the number of issues from the software that made it harder for the doctors. One of the first examples Gawande used was from his colleague, Sadoughi. Sadoughi is a primary care physician who hoped that with the new changes with the technology would in the long run help her, not hurt her. Sadly, with this new technology, she was spending multiple hours on the computer, even after scheduled work time. Another issue she had was that when she would look a patient’s problem list, it used to be easy to see what was there, for her to change things, whether that be getting rid of something or updating it. Now it had become a hoarding stash where everyone across the organization could edit it, and change it and had now become completely useless. One of the biggest problems and themes that was mentioned throughout this article was the amount of time just spent on the computer compared to before. Before many of the doctors, nurses, clinicians, etc. could spend all of their time on the patient. Now a days man of them spend time writing in useless information that before was not necessary. They have to take more time clicking things, and inputting data that is not useful. This in hand spends less time with the patient and their needs. As it can be seen from the article, the real customers for this new software was not the doctors, and nurses, but the patients. This was discussed heavily with Gregg Meyers. While the doctors may be having trouble figuring out how to use everything, he emphasizes that this new technology is for the patients. This is something that had me thinking a lot, and something I struggle with, especially as I have gotten older. This new software has helped patients in a number of ways, from keeping track of their medicine to their next appointment. Gawande states that it is honestly always been the case, with anything that a new system is always in favor of those receiving it, to better them, while making it even more miserable for those providing it. While it is extremely true that this can help thousands of patients, it is also true what Gawande stated. It is always the case, and in the end makes the one supplying miserable.While this is good, is it morally right? Everything that is decided for a company, is to help the customer, but in a lot of ways ends up hurting the employee. These tasks that are to be expected from colleagues and employees can be strenuous and demanding.While this article focused on doctors, nurses, clinicians, etc., the implementation of this system does not only apply to the Electronic Medical Record systems. Like Gawande mentioned in his article, this happens to scientists, police, sales people and even people like Cameron, who is a construction site supervisor. THe overall topic of this article was something I had never thought about before. What really interested me was the ending of this article. With Gawande’s personal experience with a patient, Cameron. He was stuck between a rock and a hard place when it came to his interaction with Cameron. He wanted to help him, but he had spent so much time on the computer, that when there should have been time for questions, all that was left was stress for Gawande to finish his report and not make his next appointment late. He emphasized the inability to find a equal middle when it comes to technology and human contact. It will never be possible to find that middle, but it is important to acknowledge it and to take steps to better it. Overall, I loved this article, and even shared it with my family members, who I both think would benefit greatly from.

From the blog mrogers4836 by mrogers4836 and used with permission of the author. All other rights reserved by the author.

Unleashing Your Enthusiasm

For this week’s blogpost I will be talking about Unleashing your enthusiasm, a apprenticeship pattern written about in the Apprenticeship Pattern Book. Like the previous blogpost that I had written about, I felt that this was a really informational and useful one to read for when I will be working in the future. When it comes to working on new projects and getting things started I tend to get really excited about what we will be able to do and achieve. Thinking about the new environments I will be in when I start working is very scary and having an idea of what I should be prepared is very useful. The last thing that I really want to do is hold back on the type of person I am too. When I read that I will need to find other ways to nurture my passion, I found it unfair at first for me to find others means or outlets to express my excitement. Just because I like to be excited and everyone else doesn’t, shouldn’t mean that I need to change who I am. After giving it some thought though, I did realize that a lot of my work will consist of projects and working with a wide range of personalities. This means that there will just have to be times where I will need to sit down and consider the team dynamic. There will be groups and projects that I will be involved in that will welcome my enthusiasm and unique thoughts and those will be the ones I know I will really shine. I think that this post is also important for further down the road in my career. When I am on the other end of the spectrum. When the group I am in will be receiving a new apprentice with enthusiasm and unique qualities that I had. It will help me to understand and help the other apprentices feel like they can express themselves in the way they want to. This article was very thought provoking for me and was very helpful for when I start working. It is very insightful and get me to think of things at a more mature and level headed stance.

From the blog mrogers4836 by mrogers4836 and used with permission of the author. All other rights reserved by the author.

Apprenticeship Pattern: Breakable Toys

Hello and welcome back to benderson’s blog, this week we are going to discuss an apprenticeship pattern discussed in the Apprenticeship Patterns book called “Breakable Toys”. This apprenticeship pattern discusses trying to find ways to learn when your work environment doesn’t allow failure to occur even though failure is key in learning in computer science as we learn from our mistakes most of the time and find solutions to fix them. This environment doesn’t allow the worker to learn which really impedes the knowledge that a computer scientist can gain. The solution that the book provides to fix this problem is doing simple at home projects that will help you learn and keep your brain thinking as a computer scientist would. Some examples of projects that you could do were making your own calendar from scratch, making a wiki, or an address book. They suggest making your project something that is useful to your everyday life and will improve your skills as an apprentice. The reason you want to build something is to learn from it and learn new things while creating your project that will make you a better computer scientist.

I’m glad I picked this apprenticeship pattern first because I can relate to this as one of my biggest fears of when I get a job is “what if I fail at doing something? Am I going to get fired after one mistake?”. Failure is a big part of learning, lots of scientists, especially some computer scientists, have made some mistakes and that has led them to create bigger and better things and makes them better at their profession. No one in this world is perfect and will get something right 100% of the time but that doesn’t mean that you can get a lot things wrong and expect to have a job at the end of the day. Creating projects and working solo on your own objectives will make you learn and influence you to keep going and figure out how to get over certain obstacles. Problem solving skills is huge in work environments as finding the solution as quick as possible is always key in a job and the solutions that the pattern reading provides are great in making you better at that specific trait. “Breakable Toys” is a great title for the pattern as that is exactly how it is, as a child you play with a toy and figure out what it can do and the many ways you can use it and it’s like you grew up and you’re translating that exact principle to computer science and what you can create with your knowledge. Thank you for joining benderson’s blog this week!

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

The Long Road

When we start thinking about the future we should know that the journey will be long. In the software development field things are a little bit more challenging. This field is full of information that gets updated frequently and to many technologies to learn. If we want to develop strong skills in software crafts it … Continue reading The Long Road →

From the blog cs-wsu – Kristi Pina's Blog by kpina23 and used with permission of the author. All other rights reserved by the author.

Practice, Practice, Practice

Hi everyone and welcome to another blog post for CS 448. Today topic is going to about the first pattern I’m going to discuss from the apprenticeship patterns which is Practice, Practice, Practice. I choose this to be my first pattern to discuss because I feel like this is what I need more than anything to consistently do to become a better my programmer. This pattern makes me think about how I am practicing programming. I feel like I am practicing just to get better at it which feels more like a chore but after reading this I think I must find a way to fall in love with the practice. The pattern talks about that mostly practice is usually done in work and that’s where we make most of our mistake and we should find ways to separate the two. I couldn’t really relate to this because I never work for a company before, but I feel more confident and less scared when thinking about working for a company one day because it seems like many are learning as they are working in the field. I like that they said that beginners learn from doing and not through lecture because I feel like I am still a beginner and I been practicing the wrong way because I would be listening to lectures more than I should be coding. The pattern gave some great tips on how to practice that change the way I perform now. I will now code more and try to find an environment to code more relax so I can get the most benefit from the practice. I agree with mostly with this because when I first started programming most of the problems that I was doing stress me out because I was trying to meet the deadline and I didn’t really feel like I was learning that much. Everything felt like a blur but when I wasn’t in class no more and started to do and read the book in my own free time, everything started to click so I think is somewhat true. I think the problem is for me is that I not choosing interesting problems or project to practice on, and I will now try to find something I passionate and start working on and develop good techniques. I will also after this to code in an environment where I won’t develop bad habits. All in all, this after this pattern, it changes the way I program now. I learn that I should love practice and not just don’t because I must. There’re many projects that I have in mind that would be to work on. I think this was probably the most important pattern to read and understand.

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

Beyond the point of no return?

For the second week of reading, I chose to read the pattern, A Different Road. This is a continuation off of Draw Your Own Map and discusses an issue. The issue is when you have followed your own path as a software developer and hit a road block. This road block is not about whether or not you could become better and rather that of a change in interest. It details the possible outcome of leaving the industry to pursue another interest and what could happen upon returning. There is a chance that the gap from working in different industries could work against you in the end. It is said that some organizations will deem the inactivity from the field as suspicious and will question your return. The risk is big, but it is still important to follow your road map where ever it leads.

What I found useful about this pattern is that it encourages others to follow their hearts or road map that led them up to the decision where they might be leaving the profession. Everyone only has one life, and usually the saying is to do what makes yourself happy. Sometimes, people need a change of pace and it’s important to recognize that. However, I am not surprised that some organizations will question your absence from the profession if you chose to leave for a while. I’m sure many of us who chose to study computer science has realized the type of field we are going to throw ourselves into. Another interesting part of this pattern is about the work experience between two different jobs can sometimes be used effectively. Depending on the context of course, one experience in a separate field may be used to fix or provide a solution to a problem in a different field. This also goes back to the organizations who might disregard any experiences that an individual has that isn’t related to the experience needed to fill the desired position. I feel that the only choice after leaving the long road for a while is to work twice as hard to get back in. Lastly, I do believe there are probably plenty of ways to accomplish that and it’s not a lost cause overall.

From the blog CS@Worcester – Progression through Computer Science and Beyond… by Johnny To and used with permission of the author. All other rights reserved by the author.

Reflecting on “Apprenticeship Patterns” – Be the Worst

As I mentioned in my last blog post, I have a bad case of impostor syndrome and oftentimes get discouraged when comparing myself and my work to more experienced developers. This week’s apprenticeship pattern helped me understand that being farther behind on a stronger development team with intent to catch up (a small fish in a big pond) can be more beneficial than being more of an outgrown member of a team that doesn’t challenge me as much (a big fish in a small pond).

“Be the Worst” describes the problem of plateauing in new knowledge, as the apprentice continues to work in a team that doesn’t push them to challenge themselves. As a result, the apprentice may start to grow out of the team. The solution is simply for the apprentice to look for opportunities in stronger teams. By establishing themselves in such a group, the apprentice should be more motivated to work harder to catch up to the level of their teammates. While this poses a risk of potentially falling even farther behind, it has the immense reward of learning more, at a faster rate.

This section definitely reassured me that even if I am farther behind than my team members, it just means that I have more room to improve, as long as my teammates are supportive of my growth, in spite of me not being as strong of a team member (yet). I’m sure that initially, I will have difficulty removing the feelings of intimidation of working in a more challenging group. One of the additional risks of joining this kind of group is the possibility of feeling incapable or under-performing. However, as the section explains, I would be able to recognize how much I have truly advanced in skill when self-assessing.

This section also changed my thinking regarding comparing myself to other developers. With my current mindset of impostor syndrome, it may not be best for me to compare to those who are more experienced than me. But, as my attitude towards my own skill improves, it’s not a bad thing to look up to those people as an example of what I can also achieve. By seeking out more challenging opportunities, this comparison to other developers is also necessary.

Thanks for reading!

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 Pattern – Your First Language

The apprenticeship pattern “Your First Language” is a pattern that specifically focuses on people who are just starting out and only have a shallow understanding of one of two programming languages. For people in this situation who don’t feel like they have very in-depth knowledge in any particular language, the solution is simply to pick a language and become fluent in it. However, what language should you choose?

I think that this pattern pretty interesting and still somewhat relevant even to people who are comfortable in a specific language. For me, even though I feel that I’m pretty comfortable with writing in Java, I can say without a doubt that I’m still very inexperienced and will run into problems that I’ve never encountered before. According the the pattern, one of the most fundamental ways of improving your experience with a language is the solve an actual problem with it. Being able to encounter roadblocks naturally and discovering a solution to it is something that you won’t be able to effectively recreate through learning from small, self-contained examples in learning resources.

One thing that stood out to me in this pattern was what was considered the most important factor in choosing your first language. It states that you should choose a language that someone around you is an expert in. By having someone with that expertise within reach, you are able to learn at a much faster rate than if you were trying to learn it by yourself. Preferably, you would be able to work on a project with them using the language regularly, but as long as you can get feedback from them, it will still be immensely helpful. While I think that this should definitely be the major factor in your decision, I’m sure many people may not know an expert of a language that they would feel comfortable enough working with or seeking feedback from. For those people, it’s important to seek out those opportunities and expand your network, but I suppose that’s easier said than done.

Overall, I feel that for those in that situation, this pattern is something that should definitely be followed if you want to learn as quickly and effectively as you can.

Source: https://www.oreilly.com/library/view/apprenticeship-patterns/9780596806842/ch02.html#your_first_language

From the blog CS@Worcester – Andy Pham by apham1 and used with permission of the author. All other rights reserved by the author.

Confront Your Ignorance

Learning is something that you should never stop doing. The more you know the more you will feel the independence in you workplace. As you go through the college you learn e lot, but nothing compared to what your career needs. It is instinctive to show more than you know when you stand in front … Continue reading Confront Your Ignorance →

From the blog cs-wsu – Kristi Pina's Blog by kpina23 and used with permission of the author. All other rights reserved by the author.