Category Archives: Software Development

Yes; but sometimes, maybe. (Clean Coder Week 2: Ch 3 & 4

The previous chapters in the Clean Coder book talked about professionalism and saying no. This week, the book zooms in how “saying yes” and coding principles that might be useful to follow. Before going into the chapters, something I’ve realized that I hate but also love about this book is the fact that is partially opinionated. What I mean by that is, for example, in chapter 3 the author talks about the different situations and scenarios in which you would say yes and really mean it and other situations where you might not want to say yes because you know you might not be committed to it. In this case, its pretty much straight facts in the sense that the chapter only talks about saying yes and the commitment that comes with it. There’s not really anything that is up for debate. On the contrary, in chapter 4 the author talks about coding principles that he believes one should follow to become a better professional and to write good-clean code. However, in this chapter it is more opinionated because not everything he talks about is applicable to all programmers. There are some tips that he gives that may work for one programmer but may not work for other programmers.

Going back to my original thought; the reason why I hate and love this style of book is because even though it provides facts, there are also times where you as a reader have to determine for yourself if what he is saying is applicable to your style of programming so its not just another book that is just a computer science textbook, its somewhat like a conversation where sometimes you agree and sometimes you disagree.

From the blog CS@Worcester – Tan Trieu's Blog by tanminhtrieu and used with permission of the author. All other rights reserved by the author.

Learning Angular 2 (Week 2: 1/24 -1/30)

Following up with one of my previous posts about how our Software Development Capstone class will be working alongside with OpenMRS and AMPATH on some type of possible software that can be used within their medical system, I have recently started learning the basics of Angular 2. Angular 2 is the primary programming language used by OpenMRS so that is the language that is being requested for us to code in.

From the tutorials I have been following so far, it seems fairly simple to catch onto so far so that is a relief. One fascinating thing I’ve noticed is the similarity of Angular 2 and HTML. I’ve coded in HTML before and I was surprised to see that Angular 2 has the same syntax when it comes to the opening and closing brackets. Now I might just be ignorant to web programming languages and maybe all web programming languages follows that same syntax but whether or not that is the case; Angular 2 will be easier for me to learn than I had initially thought.

Just as a side note, I have started using WebStorm for JavaScript coding and so far it’s pretty good. I like the design and layout of the program, it kind of reminds me of the design layout of Komodo Edit.

From the blog CS@Worcester – Tan Trieu's Blog by tanminhtrieu and used with permission of the author. All other rights reserved by the author.

The Clean Coder chapter 3&4.

In our last chapter we focused on the importance of saying No as well as when and how to say no. Well, this chapter shows that knowing how to say yes in certain situation can also solidify our title as professionals. Saying “yes” is a verbal commitment and Roy Osherove splits it into three parts:  saying you’ll do it, meaning  it, and actually do it. The first part is easy for an individual to say. Saying you will do a certain task doesn’t not always signify that you mean it and it doesn’t always lead to completion. So how do we know who is actually committed? Well, we can confirm whether an individual is actually committed by  identifying their choice of words. Using phrase like “We need to get this done”, “I hope to get this done”, or “I Wish i had time for that” are all phrases that shows signs of non-commitment.  A person who is actually committed and takes responsibility for things would avoid using words like need, should, and wish. Instead, they will start their sentences with “I will” to express their commitment. Thus, putting them in a situation where they are obligated to getting the task done.

When saying “yes” we must consider all the possibilities such as deadlines, estimations, and our well-being. As a professional we can’t just simply say “yes” when we have to sacrifice discipline. Breaking discipline will only make things harder. The book gave an example of an employee named peter who was in a situation where he was considering sacrificing discipline to meet a deadline. It states that:

 as a professional he has a responsibility to maintain certain standards. His code needs to be tested, and needs to have tests. His code needs to be clean. And he has to be sure he hasn’t broken anything else in the system.

We have responsibilities as developers to make sure under any circumstance, that our code is near perfection before release.

This leads to chapter 4 of the book which talks about coding and rules that can be followed. I can agree that working working when you are tired will not lead to a clean and applicable code. The best time to code is when your head is clear, when you’re well-rested, and in a decent mood. I listen to music all the time while coding. It was a surprise to see that the book mentions that it is actually not productive to listen to music while coding. I find it funny that the author accident wrote the lyrics of a song in the comments of his code. Even though that hasn’t happen to me, I’m sure it can happen in the future.

 

 

From the blog CS@Worcester – Adestin by adestinyblog and used with permission of the author. All other rights reserved by the author.

The Clean Coder. Chapter 1 & 2

In this weeks reading of The clean Coder, we read Chapter 1&2 which talks about the importance of professionalism and saying “no”. In the software development field ,some important aspects of professionalism are taking responsibility, being knowledgeable about your field, and having work ethic.

So what does it mean to be a professional?. A professional knows their job is as important as it gets and all their actions can lead to certain consequences. As developers, we must be responsible for staying up to date on our profession and continuously keep growing. No matter how tough and frustrating our job gets we are responsible for getting the job done right. The book makes a good point by mentioning that “The human body is too complex to understand in it’s entirety, but doctors still take an oath to do no harm. If they don’t take themselves off a hook like that, how can we? Doctors knows the consequences of mistakes and fights to prevent them. If we are truly considered professionals,  we can do the same.

Moreover, as a professional, we are required to be extremely knowledgeable about you field. Customers will expect you to know what you are doing and do your job flawlessly. We are held accountable for the quality of our work. As professionals, we have no rooms for mistakes; we must minimize our flaws as our careers advances. The way developers can ensure that there mistakes stays at a minimum is to test their work over and over again. Quality assurance is a huge part of professionalism.

I never knew the importance of saying “no” in the software development field, until i read about it in the book. During our career there  will be times where we are pressured into doing things that are just not feasible. It is up to a professional to stand their ground and face confrontation in order to make the right decisions. It is important to be realistic on the difficulty of our job and to be upfront about it no matter how tough it may be. It is better to let your boss know that a project is not ready than to delivering the project knowing that it’s not fully complete or tested. This will save a lot of money and avoid having pissed of clients in your hands. As the book mentions, it is foolish to deliver function at the expense of structure.

From the blog CS@Worcester – Site Title by adestinyblog and used with permission of the author. All other rights reserved by the author.

Professionals say NO.

I started reading this book for my software development capstone course entitled “The Clean Coder” and I’ve got to say, I’ve been enjoying it more than some other books I’ve read. The book is both informative but also has a casual feel to it because of all the stories and examples that the author uses. The first chapter of the book starts off with a key and important concept; professionalism. This makes sense because in order to be successful in a professional company, you need professionalism. Now for most this may sound trivial but from my personal experience, I have seen many examples that makes me question whether this concept is really that obvious to everyone.

Professionalism is summarized in the book as being responsible and accountable. Going into the second chapter of the book; a part of being professional is the ability to know when to say no. I truly feel as though this is such an overlooked idea because people always try to be the hero and save the day by constantly agreeing to tasks that they know cannot be accomplished. Now surely it may sound good to your employer or boss that you are saying yes to all these assignments but at the end of the day all you’re really doing is setting yourself up for failure which damages your credibility and in turn, ruins your accountability.

 

CS 448 Week 1 Blog The Clean Coder Chapter 1 – 2 (January 17 – January 23)

From the blog CS@Worcester – Tan Trieu's Blog by tanminhtrieu and used with permission of the author. All other rights reserved by the author.

Yay, Scrum!

For this semester, we will be collaborating with OpenMRS and AMPATH for the entire duration of the course to possibly help develop some type of new software that the association can use in their medical systems. That alone in itself is extremely exciting and I can’t wait to really begin diving into the hands-on programming of whatever software it is we will be developing because this will be the first time I am doing something that is career-based related in the real world.

What’s even more exciting is the new framework of Scrum that I have recently been introduced to. The idea of Scrum is to divide up the development cycle up into 1 to 2 week intervals known as sprints where there are goals and objectives set for each sprint that the team focuses on completing before moving onto the next sprint into the rest of whatever needs to be developed. I don’t really want to dive a lot into how Scrum actually works because I’m sure you can look it up online for a better understanding of it if you want but I am really looking forward to incorporating this framework into our collaboration with OpenMRS and AMPATH and gain further exposure to experiences I will most likely be using once I get a job as a software developer.

While I was job hunting, there were definitely a handful of companies and corporations who are looking for employees with experience in Scrum so hopefully I can add that to my resume after this course!

CS 448 Week 1 Blog (January 17 – January 23)

From the blog CS@Worcester – Tan Trieu's Blog by tanminhtrieu and used with permission of the author. All other rights reserved by the author.

Week 1

During the first week of this software development course, we took the time to form teams that will work well together. Most of the class time was used to get comfortable in our teams and prepare to work on our AMPATH and openMRS projects. We are using slack to communicate with our groups as well as the rest of the class. Although I have never used slack in the past, I find it very useful and it is an efficient way to stay connected and share information.

During this week i have learned about openMRS and AMPATH, what they are, and what they stand for. It interesting to learn that OpenMRS is used throughout the world and they help countless individuals who needs medical attention. Moreover,  Learning Angular JavaScript is required to work on these project, therefore our team have been researching and practicing Angular.

From the blog CS@Worcester – Site Title by adestinyblog and used with permission of the author. All other rights reserved by the author.

Worcester State University

I currently am attending Worcester State University and am enrolled in the Software Development Capstone course where we get to take a look at OpenMRS and get a feel for what the real world for development is like. We each get a small group, similar to any work environment, and work together to accomplish tasks that help the OpenMRS project. I am looking forward to the challenges ahead!

From the blog CS@worcester – Greg Tzikas by Greg Tzikas and used with permission of the author. All other rights reserved by the author.