Chapters 1 and 2 Software Craftsman

Chapter 1

One of the first things I noticed in this chapter and it made me cringe is how people seemed to have thought back in the early 90’s in how they measured seniority by how cryptic your code was. I am sure it wasn’t everywhere but I remember people back then talking like that. How anyone ever thought that was cool or what not is another issue for another time I guess but wow memories come flooding back, not because I was a coder in the early 90’s but I knew some and hung around them and I remember hearing stuff like this. I laughed a few times as well in this chapter, especially when he was talking about adding abstractions and design patterns all over the place and how today it would be called overengineering and stupidity. It is amazing just how far we have come I guess. He hits the nail on the head though in talking about choosing your passion for work and what makes you happy. I see it in a lot of the young folks today talking about oh how much money this and that, but never hear them talking about finding something they would be happy doing. I never thought much like that, of course I would like to make a lot of money, but if I am not happy making it what’s the point?
I like his take on seniority as well and how it is transient and relative. I think too many people in general judge seniority in numbers of years and not quality of product. I have been many a place and seen people with 2 years of experience blow someone away that had 10. It is true though however that there really is no senior or junior developers unless you reference what senior or junior is as pertaining to a certain language I guess. It is interesting to see how things evolve over the years in what our responsibilities are or will be once employed. We need to be a sort of jack of all trades in the sense that we will be doing many roles as we evolve up the ladder. I am looking forward to see what the rest of the book has to offer.
Chapter 2

After reading this chapter I look at agile a new way. I never gave much thought to the name until now. The definition of agile is “able to move quickly and easily” hence the methodology being quick and short feedback loops. I think that it is awesome that these guys got together and basically changed the way we think and do. Doing things in short iterations like this makes for smooth flow in my opinion and less of a chance of failing. I love the first line of the manifesto, “Individuals and interactions over process and tools”, it is quite the revelation to me and how I like to think. It makes so much sense I wonder why it wasn’t done a long time ago. I mean if everyone is involved and working together and “communicating” it is common sense that thing should go smoother. Keeping people out of the loop on projects makes for a mess that sometimes can’t be cleaned up. He is right in saying though it doesn’t work unless there is a full transformation with everyone on board. I mean that is like anything though in my opinion, you can’t half ass stuff or you end up where you started and doing it all over again. It takes work, but I think once the work is put in and results are seen it is a no brainer I would think. The embracing of software craftsmanship is needed and I am beginning to like that term. We are craftsmen and like craftsmen we should strive to become better each day and utilizing the tools we can accomplish this.

From the blog format c: /s by c-braley and used with permission of the author. All other rights reserved by the author.

Posted in CS@Worcester | Comments Off on Chapters 1 and 2 Software Craftsman

The Software Craftsman: (Chapters 1 & 2)

A huge point that Chapter 1 of The Software Craftsman discusses is what “seniority” is in a company and how it’s measured incorrectly a lot of the time in the workplace.  The chapter states, “There is a huge difference between having 10 years experience, and having 1 year experience repeated 10 times”.  That quote stuck out to me and made me think how true that is.  Just because you have worked somewhere a long time doesn’t mean that you have more knowledge then the person sitting next to you who worked half the time you have at that company.  The other main point this chapter talked about is something that I actually think about all the time. It talked about how developers should be able to keep up with the modern ways of working.  As a developer you need to keep up with the modern tools and equipment.  If you’re doctor was using medicine from 1990, and not upgrading his practices, you would be concerned.  That is how you should think as a software developer!

Chapter 2 discusses what it means to be agile, and how to solve the problems that come along with that with software craftsmanship.  The chapter stresses how you NEED to have a good balance between process-oriented and technical-oriented disciplines and methodologies.  It also talks about how you need to be able to work with your team as a whole.  I agree with this chapter that although being agile can be beenificial, it can also cause a lot of problems.  This is where you need to take your craftsmanship and apply it to help fix those problems.  Becoming more agile in computer science is a “game changer” as the chapter stated.  I now see how being agile in the workplace is very important and can change a lot.  I wish to take this knowledge and hopefully become more agile.

 

 

 

 

 

 

 

 

 

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.

Posted in CS@Worcester, CS448, Worcester State CS | Comments Off on The Software Craftsman: (Chapters 1 & 2)

The Software Craftsman Chapter 1 & 2 (3/7/17 – 3/14/17)

Nowadays every is all about being agile. I’m sure that if we were to look at a scale of how technology has grown within the last decades, the rate of growth is exponential. This is what makes agile so important; the ability to adapt and change with the nature of software projects. In order to effectively be agile, you need to master BOTH the methodologies and the craftsmanship. To me, this chapter was relatable because as of lately, I do feel as though I’ve only been doing one out of the two; which is the methodologies. I would say I have the Scrum methodology followed pretty religiously but yet there is barely any progress because I am missing the craftsmanship. I am not doing enough research and coding to help better deliver the software we are working on and after reading Chapter 2 I truly realize what I have been doing wrong all this time. Even the author said it, “improving the process without improving technical excellence is pointless”, and he’s absolutely right.

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.

Posted in CS@Worcester, Software Development | Comments Off on The Software Craftsman Chapter 1 & 2 (3/7/17 – 3/14/17)

Software Craftsman (Week 8)

This post will revolve around chapters 1 and 2.

Chapter 1 talks about the current status of software development. Now a days, as a programmer, writing code is not all you have to do in the work place. Now one must contribute to the company in many ways. The author also goes on to talk about the situation with seniority among developers. Though they may have more experience, the way they may do something could be so outdated, that a new programmer might be a better fit, because he/she is comfortable with the latest technologies and methods.

Chapter 2 talks about agile development. It begins with the author talking about the methodology of agile development. Companies who adopted this type of method, were back to their old ways, because they did not see the results that they had yearned for. The main reason for this as the author states is that the companies were not committing to the whole transformation. They were only committing partially which entailed in the crap code that were produced.

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

Posted in CS@Worcester, CS448 | Comments Off on Software Craftsman (Week 8)

Sprint Review 3

Another sprint review in the books and it’s safe to say that our vision for our end goal of completing a module for the OpenMRS project is much more clear.

During this sprint, we have made contact with some of the people leading the project and they were kind enough to give us a list of issues that they would like for us to fix. The issues were located in the AMPATH Jira group and we got to select an issue to fix. Along with selecting an issue, we were also given a test server that we could use to incorporate our new code.

This sprint was not perfect, but we got through it. The first issue that popped up was with the test server not being loaded properly in the browser. As a team, we found a plugin called “allow control allow origin”, which allowed us to successfully connect to the server. After connecting to the server, we had to review the code given to us. Since the issue was given to us near the end of the sprint, we were unable to complete a module for it.

I look forward to the next sprint and I believe that our team is doing very well.

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

Posted in CS@Worcester, CS448 | Comments Off on Sprint Review 3

The Clean Coder (Week 7)

This blog post will revolve around chapters 13 and 14.

Chapter 13 talks about teams, projects and how it’s important to work as a team in order to accomplish a goal. The author believes that a “gelled” team is very valuable. According to the author, a gel team consists of each team member knowing the strengths and weaknesses of every member on the team. The gel team goes by a very common expression that goes like “Theres no I in team”. I think that a gel team is very important, because it makes you become aware of everyone’s weaknesses and strengths when tackling on a project. I see this as a good thing, because it will allow the team to collaborate and explain things which will lead into everyone being on the same page.

The final chapter talks about how just because you have a CS Degree, doesn’t make you qualified for the real world. Though an education at a university may teach you the basics and theories in programing, but it will never prepare you to what the real world actual has in store for you. He then talks about how having a mentor is critical to molding one into a good developer. I believe with this, because programming is not a very easy task, If one does not seek help, then he/she is not fulfilling their full potential.

 

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

Posted in CS@Worcester, CS448 | Comments Off on The Clean Coder (Week 7)

Software Craftsman 1 + 2 Week 8

Software Development Nowadays:

Seniority is software development has no correlation to one’s skill set. The number of years one has worked is a poor indication of their ability to write code. “There is a huge difference between having ten years of experience and having one year of experience repeated ten times.” The need to explore different technologies and project is vital in this field. The industry is adapting towards needing more flexible coders.

Agile:

After the author goes over the principles of Agile manifesto, he says the statement “Many Agile projects are now, steadily and iteratively, producing crap code.” Roles became reversed, and everything was a mess working in an agile environment.  It has been a partial transformation in his words–or a transformation of the process but not of the technical practices. Software Craftsmanship is not meant to replace agile but to assist it.

 

From the blog CS@Worcester – Kyle Polewaczyk by kpolewaczyk and used with permission of the author. All other rights reserved by the author.

Posted in CS@Worcester | Comments Off on Software Craftsman 1 + 2 Week 8