Author Archives: Benderson's Blog

Apprenticeship Pattern Blog: Find Mentors

Hello and welcome back to benderson’s blog! This week are going to discuss another apprenticeship pattern from the Apprenticeship Pattern book that my classmates and I have been reading and taking notes from. The pattern that I would like to discuss today is “Find Mentors”, which is a kind of a self-explanatory pattern. It follows the rule of “If you hit a roadblock and need help, ask some to be there apprentice and work under them and learn from them”. You’re not a master at the craft yet and at some points you don’t know what to do next, one of the best things you can do is find someone that has already gone through the process and you can ask them questions on what they did and how you should approach your future. I have a friend actually that graduated from Worcester State with a Computer Science degree, where I plan to graduate this coming May and also graduate with a Computer Science degree, and I asked him a bunch of questions regarding what he did after graduating and what are the steps I should take so I can get a well paying job and be able to be successful for the coming years. He gave me some pointers and what I should know for interviews and stuff so he was very helpful in that sense, still finding internships and job opportunities will be a challenge in them selves but I will cross that bridge when they come.

The pattern itself wasn’t really thought provoking because as I said earlier, finding a mentor is kind of self-explanatory. You got there, find someone you consider to be really good at the craft and you ask them if you could learn from them if you aren’t too intimidated by them. If you’re too intimidated by them, just ask them out to lunch or something and generate questions to find out what you can do to better yourself in the craft. This pattern could honestly be used for many different subjects such as business, teaching or being a doctor. All those jobs have people learning under people that have already mastered the craft and are willing to teach them so they can succeed them when they retire. The pattern has not caused me to change the way I think about my major as I know one day, I will have to find a job such as an internship and learn from my experiences there, hopefully from someone really good at computer science and willing to share information with me. Finding a mentor is just one step in the journey to becoming one of the best computer scientists out there as to become the best, you have to learn from the best. Thank you for joining me this week on benderson’s blog!

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.

Apprenticeship Blogs: Draw Your Own Map

Hello and welcome back to benderson’s blog! On this edition of benderson’s blog, we will be discussing another pattern from the Apprenticeship Pattern book that contains many patterns that influence a computer scientist and how they should approach certain obstacles in their career. The one I chose today is called “Draw Your Own Map” which discusses the problem of your employer not having the career path that you want to do or fits your plan in your career. This really impedes your production to reaching your future goals and becoming the best you can be. The solution that the book provides includes identifying the next step for your career and what you think should is the next stop on your path to becoming the best programmer you can be. If your job doesn’t meet your vision that you have yourself then you should start to seek other opportunities where you feel that it does meet your vision. You should also reassess your map as your journey changes, you may run into obstacles that are too big for you and you want to take detour, or something just isn’t right to you and you want to try something else. There is no map that is always right as changes always happen. The action the pattern suggest is to web storm where each of your jobs go and see if that map is good for you and fits all your goals if not keep trying until you get a map that does.

The reason I choose this pattern for this week is because as a Senior computer science major, I don’t really know what my map looks like right now. I work at a grocery store and I know that doesn’t have anything to do with computer science so once I find my first job in the computer science field, then I will be able to draw a map to see where I could end up. I could draw a map now but I don’t know exactly what I want to do after college yet. Since I’m a software concentration major, I would want to do something with software and software development but will see what happens when I start job hunting. My big goal in life is to create something revolutionary that changes how people perceive technology and apps, another big goal of mine would be working on video games at a company such as Microsoft or Sony. My map hasn’t been fully made yet but for sure one day I will be able to create it and find my journey as a computer science major. Thank you for joining me this week on benderson’s blog!

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.

Sprint Review Blog #1

Hello and welcome back to benderson’s blog! This week I will discuss all the events that occurred through my teams first sprint in our Software Capstone. Our sprint started on February 7th and ends today February 19th. Since it is our first sprint, we were just working out the kinks and getting the basic things done for our food pantry project that we are working on for our school. This week we tried setting up basic slack channels, a trello board and a github group so our group could work together and get tasks done fast and efficiently. There are five members in my group all together and we all are going to give our best to this project. Besides the basics we weren’t able to really do anything this sprint since it is very early on and we don’t really have much to work off of. Actually today we got some specifications from the client that they want in the API of the software we are making so we will be able to proceed next sprint on those tasks. Something that we were asked to do that we weren’t able to finish was creating a REST API. We didn’t really know how to approach this, especially since we were notified that the REST API may become obsolete since the client may have something for us to use in the end.

A couple of sources that we used for the first sprint were: https://catalog.data.gov/dataset/fsis-foodkeeper-data      https://github.com/google/gson

The first link is a link to a food pantry type program that helps their users understand how to maximize the freshness and quality of the food items in their pantries. The reason we looked at this particular application was to get some ideas for our own food pantry software that we are going to have to make for the project and figure out what are the bear minimums we would need to have a successful application for the food pantry at school. Later on, after we have all the bear minimums for our food pantry application, we would add more features that are required by the client that we are working with. The second link is to a github project that will lead us to be able to parse a JSON file that we got from the food pantry client, this will allow us to separate the items and make the JSON file more readable and usable for our application.

This sprint provided both some easy tasks and some tasks that required some research and team communication and even though they weren’t all completed, I’m still happy with the progress that my group is making on our project. Getting the REST API and parsing the JSON file is next on the backlog to complete hopefully by the end of next sprint. Next sprint, my team and I will come out like the bulls in the bull run in Spain and try our best to get the next tasks on the next sprint done as fast and with the most quality as possible. Something I think we could approve on for the next sprint is to maybe stay on task a little more when working in class but other than that I think we did the best we could for this sprint. Something I found cool about this sprint and this project as a whole was the stand-ups that we have to do for our groups in slack which is a very interesting way to tell the members of our group how we are doing on the project and what could be impeding our progress. Thank you for joining me this week on benderson’s blog, I’ll see you next time.

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.

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.

 

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.

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.

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.

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.

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.

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.

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:

https://www.oreilly.com/library/view/apprenticeship-patterns/9780596806842/#toc-start

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.

 

 

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.

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.

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.

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!

Link: https://wordpress.com/read/feeds/39452620/posts/2075090406

 

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.