Category Archives: CS448

The Clean Coder (Week 1)

This was my first time reading this book, and so far, i’ve throughly enjoyed it. Prior to reading the book, I took a stab at what kind of book this would be. Based on the title, i figured that the book will touch base on the qualities of being a person who appreciates their craft. After reading the first two chapters, this book does just that. It explains in details of how one should go about on being professional. One of my favorite lines from the book is on continuous learning.

Would you visit a doctor who did not keep current with medical journals? Would you hire a tax lawyer who did not keep current with the tax laws and precedents? Why should employers hire developers who don’t keep current?

I found this quote to be quite thought-provoking, because i’m a believer that learning is never done. Learning is a life long process and that I too, would hope my doctor would be up to date with his medical journals, and if I have a tax lawyer, that he/she would keep current with the tax laws and precedents. The same thing goes for software developers. The industry is currently changing and concepts that you may have grasped and think you know well, might not be relevant in future frameworks. For example, after doing a little reading about AngularJS two, a javascript framework, migrating from AngularJS one to the newer version won’t be a walk in the park. Things that will work in AngularJS one won’t work in the newer version.

The second chapter touches base with the idea of saying “no” in the workforce. When you are first starting out, you want to excel and meet every expectations and demands that are laid out by your boss. You do so by doing your work to the best of your ability, but when you are given a project with a lot of features to include and you know that father time is not on your side, it’s hard to say no. You end up saying “yes” just to keep everyone happy. By everyone, you mean everyone, but you. This then could result in you being burnt out and have completed it(but did a crappy job), or more commonly, you’re boss and the customer isn’t very happy because you promised x, y and z, but could only deliver x. It’s important to say no, because it could prevent all of the headaches and unwanted meetings with angry customers wondering why something isn’t finished.

 

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

Reflection (Week 1)

All throughout the Fall semester I’ve been mentally prepping myself up for this moment. Now that the time has come, I’m filled with a plethora of mixed emotions (mostly excited). As a Computer Science student, I’m required to take a software development capstone class, AKA CS-448.

Week one has officially ended and i’m very excited to see how the rest of the semester will play out. On the first day of class, we were put into a SCRUM team for an activity where each person on the team had a job. The job consisted of 2 customers, 4 developers, and one monitor. Prior to this activity, I had no idea about SCRUM and its significance, but after the activity, I had a better understanding of this type of framework. After the quick and fun intro to Scrum, we were then placed into teams of 6 where we will be working on features for the OpenMRS project but specifically the AMPATH section.

OpenMRS is the leading open source enterprise electronic medical record system platform. Initially, the community that consisted of volunteers from many different backgrounds started out to fix a database system in a single clinic in Kenya. Over the years, the community of the OpenMRS grew exponentially, ergo allowing this software to expand to other clinics.

If you want to read more about this, heres the link:

Read More

 

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, Chapter 1 and 2 (Week 1)

I read the the introduction, chapter 1 and chapter 2 of the The Clean Coder by Robert C. Martin. I found the introduction funny because the author basically quit the job he did not like while he was making $7,200 a year and and a few months later got the same job back for $6,800 ! I guess the lesson to learn here is the importance of wisdom.

The second and third chapters were about professionalism and when to say no to something (how to be a professional). Being a professional means that you care about the product you build and take responsibility for any problems that may arise. The author explains that to be a professional you must not create bugs in your software and if you make an error, you must apologize. Never release any code that you know to be faulty. And the software you write must be flexible.

The author also talks about the importance of learning. It our responsibility as professionals to make sure we are marketable. We have constantly to learn and strive to improve ourselves.

I found the second chapter interesting. The author explains why it is important to say no to a request by your boss and why not to use the word try. I think following this idea is hard in practice. What if you boss insist you complete something within a certain time limit (which is not possible)? It is very easy to just comply, but it is hard to say no given the fact that your boss has the authority to fire you. But I guess being a professional is not easy, you have to put the software that you produce over everything else.

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

Clean Code – Chapter 1 and 2 (Week 1)

I read the first 2 chapters of this book almost 16 months ago and I did not quite understand the significance of clean code back then. This week I decided to listen to the video version of clean code (available in SafariBooksOnline). The video version made it much easier to understand and I had a few good laughs.

In the first chapter Uncle Bob explains why clean code is important. He tells us the story of Sword Inc, a software company that failed because they produced bad code. When code is not clean the productivity of the development team decreases as time increases. The reason for this loss of productivity is that the developers build a mess as they develop the product. And the software product eventually fails becuase when the management demands new features within a certain deadline, the development team is not able to deliver because they just can’t.

The management tries all sorts of things (like increasing developers) to improve productivity, but nothing works. According to Brook’s law, adding more man power to a late project makes it later.

Finally the management turns to the developers for a solution. The developers solution is to redisgn the entire system! Management does not want to do this since it is expensive. The mangement however, after some time, decides to do it. But even this would not solve the problem. Eventually the company would loose customers because when they replace the new product for the old (more feature rich) product, customers leave for better products.

The only way to solve this problem is to stop running away from it and clean the mess.

So what is bad code? You know that a software systems contains bad code if it is rigid, is fragile, lacks seperability and is opaque. Uncle Bob goes on to explain that bad code is the fault of developers not management, not anybody else.

The second chapter is all about making your code more readable with the help of better naming strategies.

I can relate to this chapter and the Sword Inc company failure. Last semester I wrote software for a class project. Since we only had a limited amount of time and a bunch of requirements to fulfill, I rushed through the development process. As a result of my rushing, the code lacks the properties of clean code. If I had to use the code again or implement a new requirement, I would be lost.

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

Software Capstone (CS-448), Introductory Post

Hi everybody, I am excited about this course. I am currently working on setting up my JavaScript development environment using Visual Studio Code.

There will be a blog in the future regarding this topic; so stay tuned!

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

CS-448 Introduction

2cb3e82c00000578-3247151-satire_at_the_end_of_the_episode_cartman_who_had_earlier_taken_o-a-65_1443075345705

Well, it’s a brand new semester and that means a whole new slew of blog posts.  Buckle up buckaroos!

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

CS448 Intro Post

Hi, this is my first post for CS448.  Can’t wait to blog woohooo

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.

CS 448 Intro

Hello,

For those of you who don’t know me, my name is Hung Huynh.

I look forward to this class.

Thanks,

Hung

 

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