Author Archives: yesmercedes

Journey into Dig Deeper (An Individual Apprenticeship Pattern)

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 sixth individual Apprenticeship pattern I have chosen “Dig Deeper”.

Summary

Lets say you have a superficial knowledge in a programming language, a problem you’re not even aware of until someone puts you on the spot. This is also a problem because you will have trouble maintaining whatever issues you may come across.  This pattern is an encouragement and gives strategies for you to dig deeper and have a better understanding on your programming knowledge. The way it does this is by telling you to… “Learn to dig deep into tools, technologies, and techniques. Acquire the depths of knowledge to the point that you know why things are the way they are. Depth means understanding the forces that led to a design rather than just the details of a design.”. This approach in learning is important because it gives you a deeper understanding on a topic which can lead you to have confidence that will help guide you to have the strength you’ll need to guide you in new areas. “Another advantage of digging deep into a technology is that you can actually explain what’s going on beneath the surface of the systems you work on. In interviews, this understanding will distinguish you from other candidates who can’t describe the software they’ve helped build in a meaningful way because all they understand is one little portion.” Having deep understanding is an advantage because it will differentiate you from those who are just building rubble to those who are building cathedrals, which will open up many doors for you. In order to be considered a cathedral builder you must really know how to debug, reverse-engineer and be willing to “read the specification, RFC, or standards for the technologies you use”. An action to take will be to find books, open source resources, and anything else that will help you gain a deeper understanding.

My Reaction

This pattern stresses the importance of digging deep in order to have a deeper technological understanding of your programming language that would help you stand out in your team. I agree with this idea. I found this pattern interesting but also useful and thought-provoking. This pattern has definitely changed the way I think about my profession and the way I think because it has made me realize that I need to dig deeper in order to be beneficial to my team.

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.

Sprint-2 Retrospective Blog Post

This semester for my Software Development Capstone course we are working on a AMPATH project working on a point of system by Ampaths Clinic. For this semester I will be working on this with a team. This blog is actually Sprint-2 Retrospective blog post. As part of our assignment we are assigned to complete a Sprint Retrospective blog post at the end of each sprint. As of Today, March 7th, 2019, we have completed Sprint-2. During this second sprint we were able to get everything we intended to get done during this second sprint cycle.  For sprint-2 everyone in the team had the same task except they where more individual kind of task. These task were:

  1. As a developer working with ng2-arms I need to set up my development environment so I can build/run ng2-amrs.
  2. As a developer working on ng2-amrs I need to learn about testing in angular. In order to be able to write test for our new code.

From the list of task above I was able to complete both task listed. Although, there is more to learn about testing in angular I was able to at least learn the basic of it. I learned about testing in angular by following the karma and protractor tutorial. These tutorial were very informative and straight forward. In my opinion, from the task of this week… learning about karma and protractor was not as complicated as trying to build/run ng2-amrs. Trying to build/run ng2-arms on my PC took a lot of researching and configuring in order to be able to successfully build/run ng2-arms. During this sprint I had better luck… where I was able to get the ng2-arms project to successfully build/run on my PC.

During sprint-2 I learned about testing in angular using karma and protractor. Karma taught me how to unit test on angular, and protractor taught me about end-to-end testing and its basics. These are testing tools that are going to help me test the code develop by my team and I. During this sprint I also, learnt a lot of different ways to handle problems when trying to build the ng2-amrs and the different ways to fix a problem when trying to build/run ng2-arms. I also realized that not everyone might run into the same problem when trying to build/run ng2-arms. What worked for me was opening Git bash in the ng2-amrs file typing “npm install”, I then “ng build”. When I did that came across a problem that stated I did not have “@angular-devkit/build-angular” so, I had to type “npm i @angular-devkit/build-angular” on the git bash command prompt. I then was able to “ng build” and “ng serve” successfully. I had a few error I did had to fix and things I needed to install. However, I don’t remember all the error and problems I came across. For this sprint I found a lot of useful information and help on the ampath slack channel, and on stackOverflow with the help of Google.

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.

Journey into Concrete Skills (An Individual Apprenticeship Pattern)

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 fifth individual Apprenticeship pattern I have chosen “Concrete Skills”.

Summary

Although you may have the skills to learn quickly, it is important to acquire and maintain concrete skills. This is because when you demonstrate that you have certain ability with specific tools and technologies it will increase your chances to be trusted enough to contribute with minor task until you start gaining stature, where at that point you will be able to contribute more directly. The concrete skills pattern suggests you to acquire the type of skills that would reassure your prospective team that they do not need to babysit you because you have skills that could be put to good use. It states that an “Examples of concrete skills include writing build files in various popular languages, knowledge of various popular open source frameworks like Hibernate and Struts, basic web design, JavaScript, and the standard libraries in your language of choice”. These concrete skills shows how you can benefit the company because it shows what you can bring to the table and be able to do on you first day of hire. According to the book a way you can show this by having “A deep understanding of Your First Language“. These skills are important in the beginning because as you “transition to the role of journeyman you will become less dependent on these skills, as you start to be hired on the basis of your reputation, your portfolio of previous work, and the deeper qualities you bring to a team”. Action to take are:

  1. “Collect the CVs of people whose skills you respect.”
  2. Identify five discrete skills on the CV for each of the people you chose, and then determine which one is useful for the kind of team you want to join.
  3. “Put together a plan and a toy project that will demonstrate that you have acquired these skills. Implement the plan.”
  4. Make sure you go through your own CV and separately list the concrete skills.

My Reaction

This pattern stresses the importance of developing concrete skills that would help you get hire in a job market. I agree with this idea. I found this pattern interesting but also useful and thought-provoking. This pattern has definitely changed the way I think about my profession and the way I think because it has made me realize that I need to sharping up my concrete skills in order to show how I can be beneficial in the work place environment.

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.

Sprint-1 Retrospective Blog Post

This semester for my Software Development Capstone course we are working on a AMPATH project working on a point of system by Ampaths Clinic. For this semester I will be working on this with a team. This blog is actually Sprint-1 Retrospective blog post. As part of our assignment we are assigned to complete a Sprint Retrospective blog post at the end of each sprint. As of Today, February 20th, 2019, we have completed Sprint-1. This first sprint was a pretty good sprint where we got a lot of work we needed to do done. However,  there were a few bumps on the road where we didn’t get to do everything we intended to get done during this first sprint cycle. For sprint-1 we had a total of 8 task we were hoping to get done. These task were:

  1. Come up with a name for our team.
  2. Set-up a sprint-kanban board to keep track of our “Product Backlog”, “Sprint Backlog(stories)”, “Sprint Backlog(task)”, “Doing” and “Done”.
  3. Set-up our development environment by installing insomnia, gradle, and a typescript IDE.
  4. Create an organization for our team on github
  5. Fork ng2-amrs and etl-rest-server repository to our organization and then clone the ng2-amrs and etl-rest-server repository from our organization into our computers.
  6. We had to read the readme.md section for instructions.
  7. build and run ng2-amrs.
  8. Learn about testing in Angular to be able to write tests for our new code.

From the list above I was able to complete all the task except for the last 2. When it came down to trying to build and running ng2-amrs I ran right into a wall. Trying to build or run it feels nearly impossible. I have been trying to do everything possible, and just when I feel I got it going I have more errors appear. Trying to get this going is pretty important since, the purpose of doing this is to make sure the system is running correctly and have it ready for you to modify and update it with your code. For the next sprint I am hoping I am able to build/run the system.

From this sprint and activities I have learned that if I am stuck on something to make sure that I do not wait until last minute to ask for help. I have also learned that if your stuck on something try working on the next task and come back to it when your done with that new task. With that in mind going forward I will make sure that I ask for help after struggling for 3-4 days or less. Going forward I will also make sure that if I am stuck. I will take a break from that, move on to the next task, and return the old task after completing the new task. That way I am not wasting too much time on something I am stuck on for too long. Come to think about it these are actually good idea that can be applied in other situations.

For this sprint I did not find any useful information or help. I did manage to go on the slack channel where my team mate kat was successful  and she gave me a few good suggestions I will work on the next sprint to try and get the system build/running. I am certain that for the next sprint I will have better luck!

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.

Journey into Practice, Practice, Practice (An Individual Apprenticeship Pattern)

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 forth individual Apprenticeship pattern I have chosen “Practice, Practice, Practice”. I will first summarize the pattern and then I will state my reaction of this pattern.

Practice, Practice, Practice summarized

It is important that you take the time to practice your craft in a comfortable stress free environment where you can make mistakes and learn from them. It is just as important to have constant feedback in order to avoid developing bad habits. According to the book, “The key to this pattern is to carve out some time to develop software in a stress-free and playful environment: no release dates, no production issues, no interruptions. As Dave Thomas says of practicing, “It has to be acceptable to relax, because if you aren’t relaxed you’re not going to learn from the practice.””. This pattern tells you about a good tool to use. That is a coder’s dojo, which is a place where people can perform code katas regularly and publicly within a tight-knit community of craftsman. This tool is also good because it allows constant feedback. Another good tool to use is one of your old programming books. Pick an exercise from the book that is not too easy for you. Then, try to solve it from scratch for once a week for about a month. By doing this it will allow you to see how much your solution has improved and sharpen up your skills.

My Reaction

This pattern shows you that a good craftsman, must constantly practice in order to sharpen his/her skills. It also, tells you to constantly receive feedback of what you practice because it helps prevent you from forming bad habits. Personally, 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 because it has made me realize that I need to “practice, practice, practice” on this long road of Software Craftsmanship.

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.

Journey into “Why Doctors Hate Their Computer”

On this Software Development Capstone journey part of this week assignment is to read an article about  “Why Doctors Hate Their Computers” by Atul Gawande, from the November 12, 2018 issue of The New Yorker. For this blog rather than writing a summary of what I just read with my reaction of it I would be doing a Q&A that was assigned by my professor. If you are interested in the story click on the link above to read the article.

What did you find interesting, useful, thought-provoking about the reading?

I found the idea that the Electronic Medical Record System should be more adaptive interesting. Meaning it should have the ability for mutation and selection. That way it could weed out bad ideas or practices. This is useful and thought-provoking because when developing software I should try to allowing my software to be able to some how have the ability of selection and not just mutation. I also, found what Greg Meyer said “If computerization causes doctors some annoyance but improves patient convenience and saves lives, Meyer is arguing, isn’t it time we all got on board?”, what he said was interesting, useful and thought-provoking. I another thing I found interesting a thought-provoking was the fact that doctors would spend a lot time behind a computer screen rather than with the patients.

What tensions caused the system to make doctors’ lives harder, rather than easier?

The system had a lot of things that made lives for doctors’ harder rather than easier. It did this by making simple things such as “viewing test results” difficult. This was done whenever searching for one thing a column of other identical terms would be showed on a tab to the left of the screen. Another thing was, the system tools made entering information more difficult and often made doctors irritable. The doctors’ found these tools requirement to be a nuances and time-consuming. The system also, increase work for physician causing them to spend extra time doing computer work. This system made finding patient history difficult. Once patient history was found there were often times where there was a lot of useless reading to do… since, some doctors would just copy and paste information. When it came to diagnoses the system would allow doctors to give patients the same diagnoses with different names. The problem list would be redundant and useless. The relative details would not often be posted. A lot of the things the system provided was either useless, pointless, and time-wasting causing doctors’ lives to be a lot harder.

Who do you feel was the real customer for the system? Why?

In a way I feel that the real customer for the system was the patients. The reason being that the system made it easier for the patient to view their own charts and receive better care. However, the system in some ways made work more difficult and more time-consuming for the medical personal such as the physician.

Do the lessons from the implementation of this system apply to only Electronic Medical Record systems?

The lessons from the implementation of the system does not apply only to Electronic Medical Record systems. It apply to many other type of system.

Has the reading caused you to change your opinion, the way you think about the topic, or how you work?

This topic did not really changed my opinion or the way I think about this topic. The only thing I might had changed would be the way I work. Since, I would try to make sure that when ever developing a software it must be efficient for everyone using it.

Do you disagree with something in the reading? And why?

There is honestly nothing disagreeable about this reading. The system talked about in this article has its flaws but it is outweighed by its advantages.

This article was pretty informing and pointed out problems that I honestly was not aware of. This sums up My reaction the article “Why Doctors Hate Their Computers” by Atul Gawande. 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.

Journey into Sustainable Motivations (A Individual Apprenticeship Pattern)

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 third individual Apprenticeship pattern I have chosen “Sustainable Motivations”. I will first summarize the pattern and then I will state my reaction of this pattern.

Sustainable Motivations summarized

Sometimes we are hit with the harsh reality of the “real world” you will run in to overwhelming programming projects. These programming projects would have you in all sorts of negative feelings more often then not. Other times there would be just about anything in your job that would have you feeling all sorts of ways as well. This pattern is guided to helping you get through these hurdles and preventing your programming motivation to be stump. That is why ” it is crucial that your motivations to program are aligned with walking The Long Road” [1]. In order to be able to achieve that you must ” it is crucial that your motivations to program are aligned with walking The Long Road“[1]. Otherwise “you will find yourself trapped in a Golden Lock”[1]. This pattern advises you to first make a list of at least 15 things that will keep you motivated and then after waiting a while add 5 more to the list. Then you are to answer the following question to help you with the eliminating process… “How many of your motivations are about what other people think rather than what you feel? Are the percentages different between your first 15 and the final 5? How many of the motivating factors can you do without?”. Your final step is to list, the 5 most important goals that would keep you motivated.

My Reaction

This pattern guides you with the ability to narrow down your goal to 5 things that would keep you motivated. It also, makes you aware of the danger of being too complicit by not desiring for mastery could lead you to being trapped in a Golden Lock. 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 because it has made me realize that I need 5 important motivation that will keep me motivated on this long road of Software Craftsmanship.

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

 

 

“Some programmers become inadvertently trapped by their motivations. In More Secrets of Consulting, Dorset House, Jerry Weinberg describes this phenomenon as the Golden Lock: “I’d like to learn something new, but what I already know pays too well.” “[1]
[1] Quote is from the book Apprenticeship Patterns by Adewale Oshineye, Dave Hoover from the Sustainable Motivations pattern chapter.

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.

Journey into Drawing Your Own Map (A Individual Apprenticeship Pattern)

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 second individual Apprenticeship pattern I have chosen “Draw Your Own Map”. I will first summarize the pattern and then I will state my reaction of this pattern.

Draw Your Own Map summarized

An employer might not have career path that fits you best. You should also, “Understand that it’s not up to your employer, your career counselor, or your professors to give you a hand up. Arriving at your next step and charting the course to ultimately arrive at your ideal destination is your responsibility.” It is important for you to draw you own path. That way you will be able to follow the path you want to be on and be in control of your own future. This pattern first suggest you to start out simple when drawing your map by first writing small achievable goals. These small step are important because they help you build your confidence and even allow you to be able to tweak your map. As you follow the map you have drawn up you should know that when needed it is okay to consistently modify your map to fit your mindset as you grow and change. The map you draw is for you and sometimes it might seem like your on the same path with everyone else around you or your on a lonely path either way it okay. As long as you are following your goal and remain motivated  in the long road it will lead you to great success.

My Reaction

This pattern guides you with the ability to draw up a map to your own goal. It also, reminds you that you are solely responsible for your own future and the path you take is ultimately up to you. 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 realize that I am in control of my destiny because as a software craftsman I will have a set of quality that will last me 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.

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.

Apprenticeship Patterns Chapter 1 and Chapter 2-6 Introductions

As a first assignment blog post for my Software Development Capstone course we are assign to read the Apprenticeship Patterns Chapter 1 and Chapter 2-6 Introduction with the purpose of understanding “what it means to be a Software Craftsman and the stages of becoming a Software Craftsman” and to also, “get a feel for what the patterns in each chapter cover” from Chapter 2-6. In this blog I will first cover my reaction to the reading and then I will do some Question and Answer format of my reading of Apprenticeship Pattern by Adewale Oshineye, Dave Hoover.

My Reaction

From what I have read from Apprenticeship Pattern Chapter 1 Introduction and the introduction of Chapter 2-6. So far, my reading has been insightful on what exactly I will be learning and what Software Craftsmanship is. I like that it explains when they are referring to words such as apprentices, journeyman, master, and craftsmanship it is different to those medieval terms. Although they slightly resemble, they are redefined differently in this book. Reading the introduction to each chapter was insightful because it helps clarified that the Apprenticeship Pattern are different to other patterns in particularly Design Pattern. That is because Apprenticeship Pattern are a set of patterns believe to be beneficial for individual beginning a career in Software Development as appose to Design Pattern which is a solution to common design patterns. Each Chapter from 2-6 breaks down the different Apprenticeship Patterns and each of their introduction gives you an idea of what you will be learning and how the pattern will help you in your journey from Software Developer Apprenticeship to becoming a Master Software Developer.

 

What did you find interesting, useful, thought-provoking about the reading?

I found the following paraphrase from Chapter 4 Accurate Self-Assessment interesting, useful, and thought-provoking… “You must be willing to let go of your perceived competence and allow yourself to recognize that you have traveled only a short distance on The Long Road. Your goal isn’t to become better than the “average developer.” Your goal is to measure your abilities and find ways to be better than you were yesterday. We’re all on the same journey, and comparing ourselves to others is useful only when it allows us to find ways to help each other improve.” Phrase from the book Apprenticeship Pattern by Adewale Oshineye, Dave Hoover. The reason this phrase caught my attention is because it helped me understand that being the best you can be each day growing new skills and new knowledge in order for you to be a better Software Developer on each present day. Which is something I will apply to my life.

Has the reading caused you to change your opinion, the way you think about the topic, or how you work?

This reading has not changed my opinion on what I think about the topic because it is pretty similar to my thinking except, I feel that once I read more it will help me with common problems new Software Developer face.

Do you disagree with something in the reading? And why?

I do not disagree with anything from the reading because there was nothing, I read that I didn’t like or understood.

Which chapters seem most relevant to you?

I will say that Chapter 4 Accurate Self-Assessment because it will help build my self-confidence through this journey as a rookie Software Developer.

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.