Software Craftsman 13-14

Developers need to continue to learn to be competitive especially in computer science since new technology and tool sets are constantly being developed.  To help facilitate learning, there should be a culture of learning in the company. If everybody in the company is complacent in just using the same tools or not learn anything new, it does not encourage anybody to go on and learn new stuff.

Learning new ideas lead to try and drive technical changes. This might be simple in a  start up company but at older companies, departments and bureaucracy can lead to huge resistance on change. Not only do you have to try and convince your co workers and your boss. Your boss may have to convince your department, your department may need to convince even higher in the company in important issues. Sometimes order comes from higher-up and there is no way to change the opinion of that.

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

Software Craftsman 11-12

Sometimes companies hire the wrong type of person for their position. It can be hard through phone interview to get a feel about a candidate. Sometimes a person that seems to be knowledgeable can have a bad work ethic or may no mesh with the company well. They might not even have the same goals as the company and may just use this opportunity as a stepping stone.

Hiring the wrong people can lead to bad morale. Struggling to get products out, leading to lower morale, leading to slower dev time. It is a downward spiral. Manager and developer conflict can also be a real issue as both sides can have conflicting interest on what is needed to be done.

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

Software Craftsman 9-10

Finding a great developer can be a challenge. It can take a long time to find one that’s the right fit for a company. A person can be great at interacting with people but may not have the best coding abilities. A person can also be a coding genius but will mesh with the team leading to a lower productivity than the former prospect. It can be difficult to find the best match for a position especially when many times you need to train the new people to their tool sets.

When you first start out, interviewing feels more like “I don’t care, I just want a job”. As you get more experience, interviews become more about a 2 way process. They confirm your skills and your fit to their team. You ask question about their company and what they want to do. Even new, it is important to try and ask questions about the company.

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

Software Craftsman 7-8

TDD and agile development is always talked about. Pair programming is always praised. However, sometimes those practices are just not feasible. Many times programmers will have multiple issues/projects they are working at once. Although you might have some time to collaborate with your co workers, chances are they are also busy and you are mostly asking questions instead of pair programming.

Extreme programming seems to work the best in some situations but not all. In extreme programming, the team self organizes around a problem then solves. However, there can be times where nobody wants to work on a mundane issues that can be critical to an operation. The manager then have to assign, and some projects may not work well under extreme programming.

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

Software Craftsman 5-6

Saying no can be difficult in a professional setting especially if you are new and your boss wants something. Managers that haven’t really programmed will keep trying to push new features or push frivolous features that takes a long time. There were time in my work where managers were pushing for extra features that ended up being not used by the end of the product cycle. Problem with is, unless you have some experience, you probably can’t say no.

This ties into deadlines, saying no can be hard especially if you are new. However, many people expect you to run into issue when you first start up and it does not hurt to ask. It is better to be delayed than write bad codes that will run into issues in the future. Unless it is a crunch time, then you have to get it done.

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

The Software Craftsman, Chapters 13 &14

Chapter 13 continues on the topic about how to keep people on your team motivated and interested in the software development field. I think this chapter has to be one of my favorites so far. All of the suggestions that are made about how to keep passion going in a team were interesting to go over, and just reading about them makes me want to give them a try. I think that my favorite idea, out of those suggested, was just switching projects for a few hours. This one is so simple and can be done a once a week, so it shouldn’t interfere with anyone’s work, but it is an easy way for team members to get invested in one another’s projects, and also encourage the learning and use of other softwares/ways of thinking in their own projects.

Chapter 14 mostly focuses on how to deal with different types of people that may end up on your team and how to encourage them to keep up with technical practices. I found that this chapter really just boils down to “know what you are talking about.” If you completely understand what you are trying to change, whether it is implementing TDD or trying to use a new language, the more you know about it the easier it is to explain it to everyone else. However, this doesn’t mean that everyone will except it just from your knowledge allow. Being able to also show your teammates and company how effective your change will be is also very important. In the end, to change the minds of the people that you work with, you want to make sure that you can clearly communicate with them, listen to what they have to say, and present these new changes in a way that will hopefully persuade most of your members to adopting them.

From the blog CS WSU – Techni-Cat by clamberthutchinson and used with permission of the author. All other rights reserved by the author.

Sprint 6 – Learning Reflection

Sprint 6 marks the final sprint of our semester.  Our goal was to complete APTS-254 issue by the end the sprint.  The rest of our group ran into roadblocks and joined us in our endeavor.  We also hit roadblocks and needed more clarification.  Even though we found where in the code we needed to add the case, we weren’t positive about what the established reminders were doing.  So we determined that the only way we would be able to figure out exactly how these reminders worked was to recreate the scenarios in which they would appear.  Unfortunately, we were unable ETL server to work on our computers so we were essentially taking shots in the dark.

With all of this uncertainty, and the delayed response time from the people at Ampath, it was virtually impossible to accomplish anything of any substance.  In the end we were unable to complete our goal of finishing APTS-254, which means that we were only able to complete one issue this semester.  Perhaps I set lofty goals for our team, or maybe we underperformed, but one thing is for sure.  I can’t wait to spend way more time developing my own Angular 2 project.

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

Sprint 5 – Learning Reflection

Sprint 5 began with our solution to NGPOC-185 was pulled into Ampath.  We also started work on some new issues we assigned ourselves from JIRA.  In accordance with what we decided last week we picked two issues, one for each group of three.  Our group picked APTS-254 which was described as “User are requesting when a patient switches to 2nd Line the Viral Load Pop-up reminder should not pop until the patient has used the 2nd Line Regimen for 6 months.”  Just as we did with NGPOC-185, we decided the best course of action was to attempt to recreate the issue and then find where in the code the issue was located.  Neither individually nor as a group could the issue be recreated so we determined that we needed additional clarification on the issue.  I wrote a message to Ampath, but it took awhile to get a response, delaying our progress.  Before the sprint ended, we did get a response.  Apparently the issue was located in the ETL Rest Server, which we did not have before.  They directed us to the repository, but even with this new information we were unable to recreate the issue.  We will continue to work on this issue next sprint.

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

The Software Craftsman, Chapters 11 &12

Chapter 11 was mostly for people that are the interviewer at their company. It basically went over what an interviewer should and shouldn’t do to a potential candidate. For example, brainteasers don’t work to attract good developers, and doing anything that makes a potential partner look like a fool will make it so they don’t trust working for you. Again this is a chapter that isn’t helpful to me right now, but the information in this book may be more helpful further down the line in my career.

Chapter 12 talked about how to low morale can kill productivity and passion in developers, and also talked about how to bring passion back into a company. Mancuso talks about how, after awhile, some developers just give up on projects and become lazy because they just see their job (as he put) as “just a job.” This type of thinking definitely becomes an issue because then people are not meeting deadlines and can lead to wasting tons of company money. However, I don’t see an issue with wanting to make sure that you have hobbies and time that are separate from your work life. As long as you maintain a balance between the two it should be fine because I believe that if you fill everyday with the same thing, that will burn you out faster than anything else might. He then goes onto say how to bring back motivation to a low morale team. I like his idea of talking with people at the end of the stand-up meetings about new things they found. This not only gives people the opportunity to discover new posts or websites they have never heard of, but it also brings the team closer together.

From the blog CS WSU – Techni-Cat by clamberthutchinson and used with permission of the author. All other rights reserved by the author.

The Software Craftsman Chapters 13 and 14

 

Chapter 13 is about the culture of learning. In this chapter, the author says that junior developers are lead to believe becoming a manager or architect is their natural career progression, but it all depends on what the developer likes, if they truly have a passion for programming they can always progress to a senior developer. The chapter goes on to list some things that can be done to create a culture of learning. Learning from others and sharing experience is important when trying to produce a culture of learning. The part where the author said that not career paths for a software developer are the same stood out to me because there is a lot of truth behind it. It all depends on the person’s wants and aspirations in determining their career path.

Chapter 14 is about driving technical changes. The chapter talks about how driving technical change is a hard thing to do. In order to be successful in doing this, we need to understand how to deal with all the different types of people we will need to interact with. Everyone has their own opinions, it is a matter of getting them to your way of thinking and showing them why your solution is the best solution for the problem. preparing yourself for the other peoples points of view is also critical if you plan on making a change. This way you can counter their arguments when they come up.

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