Apprenticeship Patterns Blog: Confront Your Ignorance

Hello and welcome back to benderson’s blog! This week we are discussing a different pattern that is found in the book Apprentice Pattern called “Confront Your Ignorance”. Confront your ignorance talks about identifying gaps in your skillset that is relevant and will affect your everyday work. The book talks about a common problem with most people trying to master computer science and that is where to start. There is so much in computer science that you don’t know where to begin, you got to decide on a language to learn, what to program, etc. There are too many pathways just to choose one. The solution though is to pick one skill/technique that will help you actively fill the gaps in your knowledge, and you can do this in many ways as well, some suggestions that book has is to look at overviews or FAQs of different computer science topics. Either you eventually master it, or you get good enough in the skill and you move onto other gaps that you need to fill. To find the gaps in your skillset, you need to do another pattern known as “Expose Your Ignorance” which confronting your ignorance attacks.

Confronting your ignorance is a challenge of mine as I want to be proficient in other programming languages other than java, but I don’t know which one to choose half the time. I have tried python and a little C but I always get caught up in something else and never finish learning all the ins and outs of the languages. I feel like I’m familiar with all my ignorance’s, so I’m passed the exposing my ignorance’s phase and I just need to confront them. As I have said before, I’m worried about getting into my first job and not being able to work efficiently enough so getting experience and filling my gaps is something that I need to do to gain more confidence. I probably will start learning another programming language soon that most workplaces use just so I’m ready to use the language right when I get into the job. Eventually though, I will do my best to fill all by gaps and get the job I need to succeed. Thank you for joining us this week on benderson’s blog, make sure to comeback next week for more patterns.



Why Doctors Hate Their Computers Response

Hello and welcome back to benderson’s blog, today is a very special day as I’m uploading a second blog but this blog has nothing to do with the patterns that I have been discussing lately, this blog will be about an article I read that talks about why doctors hate their computers. I know this sounds weird but it is a common occurrence with doctors, I actually go to a doctor who constantly talks about how she hates her computer and that it annoys her when it doesn’t work how it is supposed to. Anyways this article was very long but also a good ready and I would like to share my opinion on the article with you guys.

The article had a lot of thought provoking ideas and explained how the computer systems had pros and cons to them in the medical field and how the doctors used them. I found it interesting that doctors were spending about double the time putting information into the computer for their patients. I also thought it was interesting and sad that family physicians were experiencing depression and suicidal thinking after having to do eleven and a half hours of a day of work. When the article was talking about scribes, I thought that was a good solution to a time consuming problem because that would save a lot of many hours copying and putting information about a patient into the system. As the software was being upgraded, simple tasks that would only take about two clicks were jumping up to eleven clicks to complete the same task which is weird since a system update is supposed to make things usually quicker and easier. The tensions that made the doctors lives harder rather than easier from the system were the things that I previously stated which were that the software made things that used to be easier difficult to put into the system and more time consuming. This caused the doctors to become more stressed out and made their days longer than usual, it did make getting to medical records most of the time faster, just a couple of clicks instead of going through a whole bunch of papers but for other things, it made them way harder to do.

The real customer for the system was for the patients and not the doctors. The reason I think this is because the problem for the doctors is implementing all the symptoms and medical problems that the patients have and it is a very patient centered system where the only thing a doctor really needs about themselves is who they are taking care of and their credentials. This system is basically a “all you know about” your patient, so the system is for doctors but the real customer’s are the patients.

The lessons from the implementation of this system do not only apply to Electronic medical record systems as this happens with basic databases that contain information about a work place and their clients. A business could have a very similar based framework for the clients with certain attributes like a patient would have for a hospital, and implementing these certain attributes could be as a pain as a butt as it is for a doctor to do it for their patient. The reading has made me more aware of the problem with computer systems and doctors but doesn’t really change my opinion of the topic as I think it is useful in the long run to have everything stored in a system, just that it may need some tune ups to make it faster and easier for the doctors. One thing I would say that would be a problem with a computerized system is that if the computers go down for a period of time, you would have to revert to the physical form to make sure you have everything on a patient before hand. All in all though, “Why Doctors Hate Their Computers” does have some interesting points on why doctors hate their computers and very reasonable ones at that but in the long run, having a computerized system is beneficial for more efficient and faster help for patients.

Apprenticeship Patterns: Concrete Skills

Hello and welcome back to benderson’s blog! This week we are discussing another pattern in the Apprenticeship Pattern book called “Concrete Skills”. Concrete skills discusses the problem of wanting to join a team that will lead you to a big learning experience but they probably won’t let you join do to you not having the credentials to work on the project therefore being a rock in a bag that they got to carry across the finish line, in other words you would be holding them back instead of helping them move forward with the project. The book provides the solution of maintain your concrete skills as it may influence them to trust you and let you on the project. Some of examples of concrete skills they provided were; writing build files in various popular languages, knowledge of open source frameworks and standard libraries. This still may not get you hired to the job as managers would have to take a leap of faith on you but having these skills will make that leap of faith a little bit closer. The book also suggests collecting the CVs of the people you respect as you can learn from their CVs and pick out certain things that they do well with and learn from it, this will allow you to create something to show that you have learned and may get you on the team.

The pattern “Concrete Skills” is intriguing as it is how every job usually works that has high end problems with it and needs the best workers on it. The most knowledgeable will always be working on those projects as the people who need the experience and want to learn will have to sit out on it as they can’t hold the team back from completing the project on time. Now the goal of the person that has to sit out of the high-end projects has to become the most knowledgeable to be able to work on the next high end project or join this one. This pattern talks about the ways you can do that and it’s through learning from outside sources, online research or even your colleagues are a couple of outlets you can use to become the one of the most knowledgeable in your workforce. Acquiring a CV from one of the people working on the high-end project would be a great way learn and be like that person which will greatly increase your chances of being hired for the job. Concrete skills is exactly what you need for the baseline but you need to rise to the occasion to improve those skills and become one of the best.

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!

Apprenticeship Patterns Blog: Part 1

Hello and welcome to Benderson’s blog, this week I will be discussing my opinions on the Apprenticeship Patterns book that discusses important topics regarding computer science. Here is a link to the document:

The reading was really long but had some very interesting parts to it. Explaining each of the roles and what it means to them was a good way of doing it and showing the reader how the journey goes and how you’ll feel at each of the different checkpoints that you approach. The one that stood out to me the most was the journeyman because its the middle man between the apprentice and the master, its the position that seems to contain the most work and require you to be focused on your work and want to succeed later in your software career. The journeyman isn’t tied to one master and goes as he wants which is pretty interesting as well, the journeyman finishes one job for one master and moves on to other masters and finishes other jobs for them. Eventually through the craft, the journeyman will slowly become the master which really caught my intention as it reminds me of the hero’s journey that is in every movie known to man where the journeyman becomes the master.

The reading didn’t really change my opinion on the topic as I knew that finding a job and getting work experience would be a long and rigorous experience. I also have read many articles and other sources of computer science jobs that you start off with one language you know decently well, which for me is Java and I prefer to use that for any problem solving that I need to do. I know eventually I may need to dabble in other programming languages if its for a job or specific task but I know I don’t have to cross that bridge know and that I should focus on what I know best at the moment to get me a software job. Again most of the things stated in this blog didn’t change my opinion on how I see the topic but instead enhanced my beliefs in ideas and made me more sure about it.

I really didn’t disagree with anything in the article as it was pretty much all backed information and had very good stats and facts about the information that makes it more agreeable and more informative. There was one point in the article though where they discussed about how you should focus on being a solo guy and less about the team which I think is true but I think working in teams is important to the work life as working in teams makes getting the job done faster and easier.

The chapters that seem most relevant to me are chapters two and three mostly because for chapter two it discusses learning your first language and how you will grow from there. It also discusses picking a language to master as I discussed before which I think is the best method in becoming a master. For chapter three, it resonated with me because I want to be one of the best programmers, I want to make something that revolutionizes the way we think and use certain technologies. People will call you crazy until you act on what you say and that seems like where the chapter is going towards which makes me intrigued by it.

Thank you for reading benderson’s blog this week, come back next week for more information on this article and more computer science opinions.



Welcome to Benderson’s Blog!

Hello and welcome to Benderson’s blog! Some of you have been tuning in to my blogs for many semesters now but for you new comers, thank you for joining and reading my content. This spring semester of 2019, I’m taking my final computer science class called software development capstone (CS-448) which basically is a accumulation of everything that I have done in my four years of being a computer science major. My blog basically focuses on computer science related topics such as software, databases and any other news that pops up in the computer science world that is worth discussing. I will be graduating in the spring of this year getting my bachelors degree in computer science and a minor in communications. It will be a bitter sweet end to my college life as I’m glad to finally be done and go out and make money but also sad leaving behind the friends and relationships that I have made when attending Worcester State University. Hopefully once I leave college I can find a job fast and get cooking immediately and I will be able to meet different colleagues. Again, thank you for joining my community and reading my content, I can’t wait to provide more computer science content to you in the future.

Post #8: Cross Browser Testing

Hello and welcome back to Benderson’s Blog, this week we are going to take a look into cross browser testing using a technique that is talked about in a Software Testing Class blog. You can check out the link to the full blog at the bottom of the blog if you want to learn more about it. There are some pre-requisites to perform cross browser testing, they are selecting the number of browsers and the proper browser OS device combination, check for browser incompatibility for the browsers and lastly fix the issues and perform regression testing. If you have all those boxes checked that you are good to go in cross browser testing.

Now that you have checked all the pre-requisites you got to select a browser and operating system combination. To figure out what combination you should use, you can use analytic tools or you could create a testing matrix which is described in the blog by Software Testing Class. Now that you have a combination you can use LambdaTest to exectue cross browser testing wiht your website. There is a list of combinations you can use also in the blog that will be helpful for you to be able to begin cross browser testing your website. At the end of testing you hit the end button to end the testing session, you can also hit the switch feature to change configuration without ending the session you’re in. Lastly, you got to fix the bugs you find in your website after cross browser testing and just get assured and you’ll be set.

The reason I chose this blog is not only because the course I’m taking is about testing and this is a testing blog but it did seem interesting to me considering a goal of mine is to actually make a website that is successful. To have my own successful website, I need to be able to test my website for bug and being able to cross browser test my website would be a great tool to have on my belt for when my goal is achieved. The browser that I would use to test it would probably be Google Chrome because I’m so used to it but I would probably find another browser that is better if I actually had a website to test on. In the blog they discuss actually that Google Chrome and other browsers like Mozilla Firefox use a lot of space and may not be that good for cross browser testing so I might have to figure something else out. The other cool thing about this blog is when they discuss using LambdaTest to execute the cross browser testing. There were many combinations that someone could use to execute the LambdaTest and they give you steps on what to do such as “Start running cross compatiblity tests of your webstie” and “capture screenshots if a bug is detected”. Which is helpful for someone who hasn’t done any cross browser testing. Well thank you for joining me this week on Benderson’s blog, see you next time!