Chapter 5

Chapter 5 in the book mainly talks about TDD otherwise known as test driven development.  This is when you first have to write the tests for your code before you write the code itself.  By doing this is allows for a more organized way of coding that gets your mind set around the fact that you know what you need to test for.  I personally have not had to do this much in the past because I am not actually a developer but instead am working in a quality assurance environment, which means that I have to write test plans and automation code to test the code that has already been written by the developers.  How ever it would be interesting to look at these tests that the developer have written because it would give me a little bit more insight into how there mind was when they were coding and might give me a better idea of how to write my test plans and maybe even expose some bugs in the code.

Chapter 4

The main point of this chapter is to make sure that you are not distracted while you are coding.  This can be a variety of things such as being tired, being distracted by the people around you or music, or it could even be personal issues from your home life that could be bothering you.  The key is to try and make sure that these factors are limited in your work so that you can code properly and accurately.  Some people say that while they listen to music they might enter something called the zone, the thing with the zone is that you may be coding fast but not coding well.  This is interesting because I sometimes listen to music at work while coding and personally I think that it helps but this helps but it might just seem like that because I am coding faster and maybe I am not coding better.  I am going to have to try this out by seeing if my code is better written while listening to music or while not.  Last but not least the chapter talk about partner coding.  The power of this is it allows for 2 people to read over and see the code.  It allows for less mistakes to be written because if it is not caught by one it will probably be caught by your partner.  This is true and I see this in action while at work.  For example whenever I run into an issue or an error in my code I have a partner come over and take a look at it.  Sometimes just going over the code with them and talking about the code out loud allows me to realize where my mistakes are and where I am going wrong.  Overall the chapter was interesting and really good material to think about in my coding life.


During this week I mainly focused on trying to get vagrant install onto my laptop.  The issue with this is because my laptop only has 3 gigs of ram and when I tried and ran the virtual machine my whole laptop became really slow.  The solution to my issue was that i am just going to install the virtual machine onto my desktop for testing purposes.  I also have done a chapter blog post for chapters 2-3.  he next steps that I am going to do is continue on working on getting vagrant installed on my desktop and doing blog posts for the rest of the chapters out of the book.  To trouble shoot some of my issues I had done some research online along with help from my roommate Chris who ran into some of the same issues.

Chapter 2 and 3

These chapter were very interesting to me and defiantly a good skill to learn before going in to the real work world.  The first thing that I got out of the chapter is that it is okay to say “NO”.  You just have to be conservative and actually not be able to do it.  This means that when you actually cannot have a task time done on time then it is okay to say no and be able to ask for a little more time.  In my opinion sometimes it is better to take a little bit more time to get quality work and instead of rushing and not having it working.  Chapter 3 was kind of the opposite of this chapter and was all about saying yes.  The chapter says that saying yes means that you say you can do it, you mean what you say, and that you can actually do it.  This means that when you say yes to a task or responsibility you are saying that u can definitely get it done and you are in charge of making sure that you are getting done.  Overall the chapter was really good at making sure that you are being professionally when giving a response for a task, make sure that when you say no that you actually mean it and you cant actually get it done and the same with the opposite is to make sure that when you say yes you can get it done for sure.

Chapter 1- Clean Coder

This was a interesting chapter to read and was mainly all about professionalism.  It made me really think about what he was saying.  According to the author it is important to go above and beyond the normal 40 hours of work and instead take about 20 yours a week to help yourself develop professional.  This could be learning a new type of programming language, maybe working on a home computer issue but one way or another learn something new that will make yourself more marketable.  The other big part that the chapter talked about was testing and making sure that the you do lots of good quality testing to make your code and software more flexible and reliable.  This means to not only do some good testing at the end but instead you need to make sure that you are doing lots of testing throughout the development process.  This part struck me in particularly because I am going into the software quality assurance position.  This means that I am going to be one of the main people in charge of looking out for bugs and errors before the software gets released to the general public.  It is important so that you have a quality product so that the company has a good reputation for delivering high quality and highly efficient products.  Overall the chapter has given me some interesting things to think about before going into my professional career.

Installing OpenMRS

The process of installing OpenMRS was a lot harder than I had expected.  The first step in the process was to just download that OpenMRS core from github.  This went exactly as expected but the next step is where somethings started to go wrong.  The first time that I tried to put the project into inteliiJ it had errors compiling.  Finally after a little trial and error I had corrected the errors that I needed to and it was time to move onto the next step in the process which was getting a maven clean install to run.  This process was a lot harder than it needed to be.  The first issue that I ran into was an error saying that my computer didn’t have enough memory to make a VM on the heap.  At first glance I thought that this was because my laptop is older and doesn’t have a lot of ram.  After doing a little research I found out that java was trying to take too much of my memory to run the process so after changing the default value the clean install was able to run.  After this it was time to run the Jetty run command to have the server start running.  Finally I was off to races and it was working.  The next step was installing my sql which was pretty easy to install.  Once this was done it was time to import the Legacy GUI.  The process went pretty easy just following the instructions.  After this it was time to go back into the LegacyUI and make sure that there were some entries in the database and there were!!!  Finally I was able to start coding for when we decide a project to work on!