Category Archives: CS448

The Clean Coder (Chapter 11 & 12)

Chapter 11 of the clean coder book is about pressure and how to deal with it as a professional. According to the author of the book the best way to stay calm under pressure is avoid situations that cause pressure.

Other ways to avoid pressure:

  1. Commitments (avoid committing to deadlines you are not sure you can meet)
  2. Staying Clean (The best way to go fast  and keep deadlines is to write clean code)

If you find yourself in a pressure situation, you can do the following:

  1. Don’t panic (Think the problem through and plot a course to recovery)
  2. Communicate ( Tell your team of your troubles; avoid creating surprises. Surprises multiply pressure by ten.)
  3. Get Help ( When the heat is on, find an associate who will pair program with you. You can get things done much faster this way)

 

Chapter 12 is about collaboration. It is highly important to collaborate with people. Software development is more dealing with people than programming.

Both of these chapters  pass on  some useful and common sense ideas.

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

Week 6: The Clean Coder (Chapters 11 & 12)

This week I read chapter 11 & 12 of The Clean Coder.  Chapter 11 discussed how to handle pressure.  I really enjoyed reading this chapter because at some point everyone is going to feel like they are under a lot of pressure.  The most important thing this chapter taught me is that you need to stay clam and don’t panic.  Panicking will cause you to be too stressed and not be able to think clearly.  This is not good for anyone.  You need to just stay focused and do what you can do.  A little tip I always think about when I am stressed out about school or something is that it’s not the end of the world.  Even if you can’t get something done, most people are very understanding of certain situations. However, you always need to COMMUNICATE.  This chapter talked about how no one likes surprises and that is very true.  If you are open and explain why you can’t get something done ahead of time, there will be no surprises when the due date comes along.  Many times people are willing to help.  One point that the chapter talked about that stuck out to me was to always avoid pressure.  You can do this by not committing to something you can’t finish and keeping your code as clean as possible.

Chapter 12 talked about yet another extremely important topic of the computer science world.  It talked all about working together.  Programming is literally all about working together and being able to collaborate your work together to make a great product.  The chapter talked about how you need to learn to talk to people and work together.  I know there are a lot of people who would rather work alone, but as a programmer you are almost never working alone.  I can already relate to this chapter.  Even just in my computer science major classes, most projects and group activities consist of us working together.  I personally work well in a team and I like working with people.  Collaborating with others has never been an issue for me!

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.

Week 5: The Clean Coder

This week I read chapters 9 & 10 of The Clean Coder.  Chapter 9 talked about a very very very important topic; time management.  A big thing this chapter discussed that I do agree with is that attending every meeting you are invited to is a simple waste of time.  During my internship, there was meetings I didn’t even attend because it wouldn’t have benefitted me in anyway.  You need to use your time wisely and not attend a million meetings a day, and then only have 3 hours to do your work.  It was very interesting that the author talked about your caffeine intake during this chapter.  During the work day, I tend to sometimes overload on caffeine. Although it does really help to keep me awake and focused, I can agree that I sometimes get a little too hyper.  If you are all cracked out on caffeine, you may start to focus on the wrong things which isn’t good to do.  I agreed with pretty much everything this chapter talked about.  I learned first hand that meetings can be an incredible waste of time, too much caffeine can be a not so good thing, and long walks and getting out of the office can really help.

Chapter 10 of The Clean Coder  discussed the topic of; estimation.  As a computer programmer, you need to be aware of what you can and cannot get done, and how long it is going to take you.  The book states, “Professionals draw a clear line between estimates and commitment.” This quote stuck out to me because that is extremely true.  A professional person wouldn’t make it seem like they were committed to finishing something if they knew they couldn’t get it done.  Computer programmers are human, and even though you should get something done by a certain date, sometimes it’s just not doable.

“They do not commit unless they know for certain they will succeed. They are careful not to make any implied commitments. They communicate the probability distribution of their estimates as clearly as possible, so that managers can make appropriate plans.”

The paragraph above was the most important thing said in the whole chapter.  I will definitely take this with me in my work in the future.

 

 

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 Clean Coder Ch. 11 and Ch. 12

Another week, another two chapters from Robert C. Martin’s The Clean Coder.  This weeks installment were chapter’s 11 and 12 which were entitled “Pressure” and “Collaboration” respectively.  They combined for eighteen pages of fluff.  Each contained the signature Bobby Marty anecdote which ate up a large portion of both chapters.  In my last post about The Clean Coder I said that I was starting to enjoy his chapters.  I guess I spoke too soon.

So chapter 11 was about pressure.  Martin writes about avoiding pressure and handling pressure.  I found it interesting that Martin thinks maintaining discipline is both a way to avoid pressure and to handle pressure.  He uses TDD as an example.  The problem with TDD is that it is time consuming.  Not only do you have to think of the code you need to write, but you need to write tests that the code will eventually need to pass.  This means that you will be writing twice as much.  His idealistic position on deadlines is unrealistic.  Sometimes you need to make adjustments in order to make deadlines, and in those cases, disciplines must adapt.  TDD may be the best way to do something, but sometimes sacrifices must be made.

Chapter 12 was about collaboration.  It is asinine to resist collaboration for the greatest accomplishments have not been achieved by a single person, but a group of people.  The overall message of this chapter is that working with other people is important, and I don’t think that many people would disagree with that.  I found his section on cerebellums to be superfluous and poorly labeled.  Cerebellum has very little to do out of the context of that billboard he read, and thusly carries little weight outside of that chapter.  I also found that his take on collective ownership interesting.  I feel as though it needs a qualifier.  Collective ownership is certainly the best way to go, IF and only IF you can trust the people you are working with AND you are using a version control system.

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

Sprint 2 – Learning Reflection

So our second sprint has concluded, and with that, the change from posting once every week to posting once every sprint has begun!  Additionally, we have changed our sprints so that instead of having four days of downtime in between sprints, we only have a day.  I really like the way this class is developing.

This sprint included some pretty good steps in the right direction.  Everyone in my group was able to get OpenMRS and AMPATH to  run locally on their machines, and we were able to dig our hands into some code.  Each of us took it upon ourselves to rewrite the AMPATH Authentication Module in order to learn more about REST API.  A few of us, myself included, have already had some experience with this so it has not been a huge leap.  Not everyone, myself included, has completed rewriting the Authentication Module, but I intend to finish it during the next sprint.

Our group really got a good feel for how the sprint cycle works this time around.  We conducted our own sprint planning meeting, broke down our stories into tasks in our own story time, and had a successful sprint review and retrospective.  Everyone has been participating in the daily scrums, and I’m glad to see that our dedication to the process has been fruitful.  I can only imagine that, as a group, we will become more efficient and more productive as the semester continues.

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

The Clean Coder Ch. 9 and Ch. 10

This week I read another couple chapters out of Robert C. Martin’s The Clean Coder.  These two chapters were entitled “Time Management” and “Estimation.”  Time management is an interesting and important topic in this writer’s opinion.  Martin discusses the importance of meetings, and comments on various methods for limiting these meetings from being time wasters.  He also mentioned a few types of meetings, such as stand-up, iteration, iteration retrospective, and demo meetings.  These are components of the agile process which we have been utilizing in our course thus far.  In my experience with these meetings, I agree with Martin.  If there is not a clear agenda, and if all the members do not maintain focus, a lot of time can be wasted.  Fortunately, we have had pretty good success keeping our meetings on track.  Another topic that Martin broached that I found to be interesting was the Pomodoro Technique.  It is a method for ensuring that time is used effectively and I aim to try using it next time I sit down to do some coding.

As I mentioned, in chapter ten, Martin discusses how to estimate how much time is required for completing tasks.  In his previous chapters he mentioned the importance on estimations, but in this chapter he discusses the process in much more detail, and to my pleasant surprise, provided concrete calculations for how to accomplish adequate estimations.  I hope to employ these techniques in the near future so I can evaluate the validity of his lesson.  As I have read through this book I found that I have been hesitant to believe what Martin has been saying because of the lack of specifics and the overall theoretical nature of the topics.  However, these past few chapters have really started to pull the previous lessons together in a way that makes the whole seem more legitimate.  With only four more chapters to go, I hope that the useful information continues to flow.

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

Learning Reflection, February 22

This week I spent a lot of time reading and learning stuff on Angular 2. I bought the ng-book 2 along with the beginner’s screen cast; I spent a lot of time reading the book and listening to the screen cast.

I found the first few chapters in the book good and the first half of the screen cast was good. I could not understand the other half of the screen cast and some chapters in the book were not written well. I plan read more chapters in book and if I don’t like it I plan to return the book. I expect a lot more from a book worth $79.

The deeper I delve into Angular 2 I find that there are a lot of things I don’t know, things like reactive programming and asynchronous programming.

The problem that I find frustrating is that there aren’t many good books on Angular 2.

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 Review 2

It’s finally the end to an extend sprint and in all honestly, i’m disappointed with the progress that I’ve made individually. I told myself that I would get through everything on the task board, but there were many roadblocks for me in this sprint. I had a tough time connecting the OpenMRS standalone to the AMPATH. It took me a really long time to do it, but I eventually diagnosed my problems and got it to work. What I did was add a piece of code in the web.xml file, and installed a chrome plugin called ‘Allow Control Allow-Origin’ and it allowed me to connect to the database.

As of now the majority of the group is on the same page and we are looking forward to improving our performance in the next sprint by holding each other accountable for the work that we commit to do.

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

The Clean Coder (Week 5)

This blog will revolve around chapters 9 & 10

Chapter 9

This chapter is about time management and how it’s imperative to have this skill. The book talks on the topic of how meetings are a waste of time. I honestly agree with this to a certain extent. Whenever i’m in a meeting at my job, I find that most of the time, the meeting usually goes nowhere and is not very beneficial for everyone. I also find that when meetings occur, there would be a selected few who will hold the group back by asking repetitive questions that could be answered on their own time and not the time of everyone in the room.  In programming, I find that meetings are imperative if they don’t last long. Meetings that don’t last long, can be very beneficial for everyone in the room, by  keeping everyone focus and happy.

Chapter 10

This chapter talks about estimation and how it’s important to make valid estimations. It’s tough to give an accurate answer when someone asks you how long something will take, because you really don’t know. In the programming world, there could be a plethora of obstacles that will hinder the progress of the project so it’s best to give options to when something will be done to the answer seeker so that they won’t be disappointed. This chapter also talks about commitment. This is different than an estimation, because a commitment is something you MUST see through.

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

Clean Coder 9 & 10, (Week 5)

The ninth chapter of the Clean Coder book is about time management. The is only 28,800 seconds in a working day and it is the duty of a professional to use those precious few seconds effectively. According to the author meetings take a lot of time and money; as professional you need to know when to go to a meeting you are invited and when to decline.

The advice that I found most interesting was the following: any argument that can’t be settled in five minutes can’t be settled by arguing; and so there is no point wasting meeting time to try and resolve the issue. The other interesting thing is the Pomodoro technique to manage time and focus.

The tenth chapter of the book was about estimation and how to make valid estimations. The author explains and differentiates between the concept of an estimation vs. a commitment. He also talks about the different ways to make estimations.

There is not much that is new to me in chapter 9, but I found some of the estimation techniques useful. I plan to try out those techniques in our ng2-amrs project.

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