Category Archives: CS448

Sprint 4 – Learning Reflection

To start our fourth sprint we divided the NGPOC-185 issue into distinct parts so that everyone on our team could dig their hands into the issue.  We broke the task into six parts and everyone picked a piece they thought they would do best.  I was going to take everyone’s individual piece and combine them into the final solution.  Unfortunately, we were mistaken.  Our solution was incorrect because our approach was all wrong.  Over Spring Break one of the members of our group determined that the solution was much more simple than what we were attempting.  Once I returned from Spring Break, I had a chance to review his approach.  Apparently we were looking at the wrong thing and once we received some clarification the solution came together in a couple of days.

Screen Shot 2017-05-08 at 9.54.16 PM

Screen Shot 2017-05-08 at 9.54.30 PM

With our solution complete, we determined that these issues were not as complicated as we originally thought, and broke our group into groups of three.  This way we can complete twice as many issues per sprint.

From the blog cs443 – TayNock's Blog by taynock and used with permission of the author. All other rights reserved by the author.

Sprint 3 – Learning Reflection

This past sprint our class was assigned four issues on JIRA, an issue-tracking software. AMPATH set all of us up with our own login information so that we could view, assign, and comment on the issues.  The issue we wanted to work on was given to another group, so we ended up getting our second choice, called NGPOC-185.  The title of NGPOC-185 was “Logout not working when editing a form” and had the description “if you are in the middle of editing a form, but you decide to cancel and logout (may not be a practical case) , after accepting to cancel, it should log you out.”

As a team we determined that the issue was asking us to have a confirmation window pop up when a user tries to logout while they are editing a form.  So we figured our first step would be try to recreate the issue.  We booted up our local server and determined what the issue was describing.  Our next step was to find the code the corresponded to the issue.  After some searching we think we figured out where to begin.  We decided our best course of action was to read up on Materialize CSS and then attempt the issue next sprint.

From the blog cs443 – TayNock's Blog by taynock and used with permission of the author. All other rights reserved by the author.

Software Craftsman ( Chapters 13 & 14)

Chapter 13 is all about creating a culture of learning at your company. Here are some of the things that the author thinks can be done to improve the morale and create a culture of learning:

  1. Start a book club.
  2. Have a tech lunch.
  3. Have group discussions.
  4. Conduct group code reviews.
  5. Have hands-on coding sessions.
  6. Start internal communities of practice.
  7. Encourage pet-project time.
  8. Engage with external technical communities.

Creating a culture of learning and motivating developers is important for a company as it directly impacts the code developers write. Ultimately, this depends on the developers; hiring passionate developers and providing them with a good environment would improve the innovation of the company.

Chapter 14 is about how to convince skeptics into adopting new practices or changing the culture. The first step according to the book is to identify the type of skeptics. The following are the types of skeptics the book talks about:

  1. The uninformed.
  2. The herd.
  3. The cynic.
  4. The burned.
  5. The time crunched.
  6. The boss.
  7. The irrational.
  8. The indifferent.
  9. The wronged.
  10. The inept.
  11. The ivory-tower architect.
  12. The insecure.
  13. The fanboy.

The chapter goes on and on about how to convince these skeptics to adopt something. Overall, what I got out of this chapter is that I must be good at what I do, I must communicate clearly, and I must establish trust to drive change.

From the blog CS448 – The blog about software by Sudarshan and used with permission of the author. All other rights reserved by the author.

Sprint 6

Here it is, the last and final sprint of the semester and man, did it fly by. Our issue was rather tricky, because we spent the majority of the time trying to track where the files were only to find out that there was nothing that we could do ourselves to change it. After  asking for help, the nice people of the OpenMRS community reached out to us and told us that they would have to reach out to another party in order for this issue to be fixed. All in all, this issue was out of our hands and there was nothing we could do about it, but to inform the original developers. Next week we have a presentation and I’m very excited to talk about Team Loadings experience with this assignment.

 

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

The Software Craftsman (11 & 12)

I found this chapter 11 really interesting and useful. Most of the scenarios that the author describes I have experienced.

Chapter 11talks about what a developer should be aware of when it comes to accepting a job offer. One must think about the financial offer, working environment, how passionate other employees are and the purpose of the company. The author then goes on to talk about the anti-patterns of interviews. Some of these patterns consist of don’t use brainteasers, asking questions you don’t have the answers to, don’t code on a piece of paper and don’t conduct phone interviews.

Chapter 11 talks about one of the most important aspect of a team. It’s morale.  High morale within a team can lead to great achievements, but with low morale, nothing will get done and if it does, then the product won’t be high in quality.

 

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

The Software Craftsmanship (9 & 10)

This blog post will revolve around chapters 9 and 10.

Chapter 9 discusses on the topic about how to recruit the best developers. The author goes on and talk about the flaws that he sees with the recruitment process and gives us solutions on how we can better this process.

One of the main flaw with recruitment is that companies use keywords in order to select their candidates. Keywords on a resume has become the cream on the crop when it comes to the tech world. It doesn’t matter if you have 1000 years of experience in a certain programming language, but more important if you have a million of those keywords that these screen readers pick up.

How does a recruiter know how passionate a developer is? It’s simple, you can ask a developer if he knows any of the latest technologies and trends, a github to display code and or projects that he or she is involved in.

Chapter 10 talks on the interview process of a software developer. There will always be problems and you as a interviewee candidate must display your best knowledge in order to solve and impress the recruiters.

 

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

Learning Reflection (Sprint 6)

We picked four issues to work on this sprint. We made some progress into fixing them, but it turned out that the AMPATH team had fixed them. At the end of the sprint we decided what needs to be done to complete the presentation. We plan on meeting somewhere before our presentation and work on our presentation.

The only thing I learnt this sprint is that always ask questions when in doubt. If we had not asked the AMPATH team for guidance on the issue we would never have known the issue was already solved.

From the blog CS448 – The blog about software by Sudarshan and used with permission of the author. All other rights reserved by the author.

Sprint 6

The last sprint of the semester.  This semester flew by, but I am proud to say that we finally fixed our issue! Turns out we focused so much on how to fix it that we didn’t even realize it was totally out of our hands.  We ended up asking for help, and the openMRS developers got right back and said that they will need to contact someone in order to make this change.  I learned something very important from this sprint.  I learned that you shouldn’t stay stuck for too long without asking for professional help.  We broke down the whole issue and knew where the problem was happening, but we just didn’t have the access to the code to change it.  This must happen all the time in the professional world.  Next time I have any type of coding bug to fix, I will break down the problem (like we did), but I will make sure to ask someone for assistance way sooner.  If we never asked for help, we would have never resolved this issue.  Our last and final thing to do for the semester is put together our final presentation.  I look forward to sharing with everyone!

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

The Software Craftsman: Chapters 11 & 12

Chapter 11 of The Software Craftsman gives great advice on what companies should NOT do when interviewing for new developers.  Many great developers will end up not going with certain companies because of a horrible interview experience.  Individuals conducting interviews need to make sure to not scare away great potential workers by having bad interviewing tactics.  The chapter discusses that interviews should not be a test to see how well you know the answer to close ended and technical problems.  Anyone can simply memorize and study common interview questions to be sure to come across as a good candidate for the job. However, this chapter makes a great point that just because you know the technical/text-book answers doesn’t mean that you are the best candidate for the job.  I personally would rather have a co-worker that is passionate and wiling to learn, rather then someone who knows “everything”.  A passionate coder is the coder that will be great.  A coder who knows everything may seem really good and all, but they also may lack that passion and drive that someone else might have.

Chapter 12 talks about how low morale can negatively impact a workplace in more ways then you may think.  This chapter discusses that having passion will go long ways in the overall outcome of an organization.  I agree with the whole idea of this chapter, and I have actually personally experienced this.  The experience I had wasn’t at my computer science internship but it was when I used to work at an ice cream shop.  Most of the girls I worked with there, along with myself, would want to make nice looking ice cream cones and sundaes for the customers.  However, there was one girl that was always extremely sloppy.  The ice cream would be dripping everywhere, and the customers were never happy with her work.  This was a perfect example of someone who had no passion whatsoever.  She was just there to simply get paid, and she did the bare minimum amount of work possible to get the paycheck.  Her lack of effort negatively impacted all of us.  We would have to clean up after her, and deal with the problems she caused with the customers which brought down everyones motivation and attitude.  My experience relates to what this chapter talks about.  The chapter talks about how being a motivated developer will motivate other developers to work hard.  Have one person bringing everyone down with no passion or willing to try their best is not a good thing in any type of work place.

 

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

The Software Craftsman (Chapters 11 & 12)

I found this chapter 11 really interesting and useful. Most of the scenarios that the author describes I have experienced.

The author mentions that before talented developers accept a offer they consider the financial offer, autonomy, mastery, purpose, productive partnership, talented and passionate people, and a good working environment. Of all the factors involved, I think working with talented and passionate people is the most important. I know what it feels like to work with unpassionate people. Working with unpassionate developers is not very productive and can be quite irritating. The only reason that I am a Software Engineer is because I LOVE Computer Science and I LOVE the craft of developing software. It is hard to work with other developers on creating software who do NOT share the same LOVE. You would not grow as a developer if you stick with unpassionate developers.

The author then talks about interview anti-patterns. The following are the interview anti-patterns mentioned in the chapter: don’t be a smart-ass interviewer, don’t use brainteasers, don’t ask questions to which you don’t know the answers, don’t try to make the candidate look like a fool, don’t block the internet, don’t code on a piece of paper, don’t use algorithms, and don’t conduct phone interviews. I have experienced all of these anti-patterns on my interviews for a year now. I would love to share some of my experiences, but unfortunately I don’t think it would be wise to do it.

The most important thing to understand from this chapter is that you as a software engineer are not a slave to your employer.

Chapter 11 is all about how important the morale of a team is. Low morale can destroy a company; and unmotivated people do a lousy job. A company must bring the best out an employee.

From the blog CS448 – The blog about software by Sudarshan and used with permission of the author. All other rights reserved by the author.