Professional Ethics and Communication in Technology Related Fields Discussion

User Generated

pkpk1213

Computer Science

Description

Read https://cacm.acm.org/blogs/blog-cacm/218185-the-ethical-problem-of-software-neglect/fulltext (Links to an external site.)

Read the following introduction and answer the questions. Then reply to at least three (3) of your classmates' answers with value-added replies (e.g., not just "I agree"):

Hello everyone! My name is Benjamin Whitehead and I am very excited to lead this ethical discussion on software!

In this article, the author Robin K. Hill mentions the ethical problem of software neglect, and it is a very interesting article for anyone who is interested in entering the world of software!

I have prepared an initial set of questions on this reading, that everyone should go through and post their answers to the discussion thread on Canvas.

Here are the initial questions:

  1. Do you agree with Robin’s initial point that lack of code documentation and quality is an issue in software today? Have you ever worked with a piece of code that had little documentation? If so, how quickly were you able to adapt and effectively use that code?
  2. Do you believe that programmers should be more responsible for the code they release, either closed source to a private company or open source to the community? Do you believe that releasing code with a lack of quality violates any ethical principles?
  3. Do you believe that Robin’s solution of telling people who use certain code that it may be unreliable is a good solution? Do you have any other ideas on how the relationship between the developers who use code and the ones who create it can be improved?

Unformatted Attachment Preview

reply to the three (3) of classmates' answers with value-added replies (e.g., not just "I agree") Classmate 1 – Brendan: 1. Yes, I think if you've worked in software development for even a few months, you realize that lack of documentation is sometimes a problem. I try to write comments responsibly, but there's certainly nowhere near optimal documentation in much of what I develop, I think primarily because we as developers are under a lot of pressure to produce results as efficiently as possible. When you're working on a project for a company, you're focused on solving problems and producing a viable product. You're not usually too worried about the potential for another developer to come in a year from now, pick up where you left off, and be confused. I also don't think this is the fault of developers, at all. I think companies should place more value on documentation and seek out the proper writing of documentation... IF they think it's necessary. The goal of any business is to make money. And they don't like losing money, so something tells me that if it were necessary, they would already be encouraging the writing of better documentation in order to prevent losing money down the road (and some companies do really prioritize documentation). Outside of business, if a project has poor documentation, I can either accept the risk and the time/effort it may take to understand it, or reject it. The problem solves itself (usually because I reject it and find something better). When I have worked with code w/ poor documentation, it usually takes significantly longer to use the code. But like I said, it's a cost-benefit analysis. If there's a dozen other options, I won't bother trying to understand it. 2. No (to both). If I release absolute garbage code, so be it. Other developers can choose to use that code or not. And a business can choose to fire me if they aren't pleased with my work. To be honest, I'm not really sure how this is an ethical issue. We write code to solve problems. If our code is so terribly written and it falls apart easily under certain conditions, then no one is going to use it. It's the responsibility of the developer who is using that code to determine whether or not they should be using it. And technology moves fast. There's always going to be better implementations of a solution, and the best implementations usually rise to the top. People don't like software that constantly breaks, and developers don't like software they can't understand b/c of poor documentation. I think it fixes itself. 3. I didn't really understand this in the article. Don't people already realize code (and tech in general) can be unreliable? If I'm looking for a package for one of my projects and the first thing I see on the Github page is "This code might be unreliable", I'm closing the page immediately (lol). No one is going to want to use anything that has a warning like that on it. It's like going to a restaurant and them telling you "the food might suck". It's like, yeah, it might -- and I already assume this with any code I use from other developers -- but telling people that is just going to drive them away. Classmate 2 -Cameron: 1. Do you agree with Robin’s initial point that lack of code documentation and quality is an issue in software today? Have you ever worked with a piece of code that had little documentation? If so, how quickly were you able to adapt and effectively use that code? I agree with Robin's initial point completely. I dont know how many times ive looked at code where it would have been 10x easier to read and understand if it was documented correctly. Especially in more functional languages, it would be nice to know what the more functional lines of code since the code is much more complex and condensed than non-functional languages. This is a big issue, and I think everyone needs to learn to effectively and efficiently document their code, whether its while they are developing or after development is done. I have had experiences where i was able to understand undocumented code, but it took way longer than it would of if it was documented. 2. Do you believe that programmers should be more responsible for the code they release, either closed source to a private company or open source to the community? Do you believe that releasing code with a lack of quality violates any ethical principles? I thing programmers should be completely responsible for the code they release, whether it be closed source to a private company or open source to the community. If its your code you should be responsible for it. I know that there are still controversies whether your online data is actually your owned property, but I still think they should be responsible for it. its like driving a car to me, if you hit someone the driver should be responsible, and a programmer is the driver of that project/program. I dont think that releasing code with a lack of quality violates any ethical principles. I think if that code did something unethical or is used to do something unethical, then I think it should violate ethical principles. But just releasing code that isn't very quality should violate any ethical principles in my honest opinion. 3. Do you believe that Robin’s solution of telling people who use certain code that it may be unreliable is a good solution? Do you have any other ideas on how the relationship between the developers who use code and the ones who create it can be improved? I think it is a good solution, whether its the best one could be up for debate. Telling people who use certain code that is may be unreliable is certainly helpful, but unreliable doesn't mean it doesn't work. People may still be inclined to use that code even though it is unreliable. If that code gets the job done 80% of the time why wouldn't they keep using it, until they come up with or find a better solution. The only idea that I can think of on improving developer and creator relations would be to document the code as best as they can. If code is documented correctly the developer should in theory have absolutely no questions about that code at all. They should be able to read the code and figure out what is going on and what the logic and thought process was behind the code. But of course no-one wants to take the time to efficiently document their code. Im not sure whether they just dont have the time, dont want to do it, dont see a need to do it, or are just lazy, but if code was documented the way it should be there should be a great relationship between the developers and the creator/creators of the code. Classmate 3 – Yuhui: Hi Benjamin Whitehead, 1. I have not much working experience, but according to my personal experience, I agree that lack of documentation and quality can be a disturbing issue, especially when the coder has not good coding habits. Different coder thinks in different way, and it takes me a lot of time to understand a disorganized code without any documentation and comment. 2. For the closed source code, I think programmers “must” be responsible for their code, because they usually get payment for that. For the open source code to the community, I think programmers “should” be responsible for it. I think there is a difference because the degree of duty is different. The duty gets bigger if one gets payment. Releasing code with a lack of quality means the coder did not do his duty, and according to Kant, this action has not moral worth. Personally, I agree Kant on this point that it is not moral. Not “immoral”, but “nonmoral”. 3. As what Robin said, it sounds odd. I have no idea whether it is a good situation, but at least it should be helpful. I think have stronger moral education to every coder can be a helpful method, especially to those new coders. Like in UNH, when I was a new coder, my professor asked us to write organized code. Those unorganized part will cause students to lose points. Therefore, until right now, I still have the coding habit I took at that time.
Purchase answer to see full attachment
User generated content is uploaded by users for the purposes of learning and should be used following Studypool's honor code & terms of service.

Explanation & Answer

Hi buddy, kindly have a look at this

Running head: PROFESSIONAL ETHICS

Professional Ethics and Communication in Technology
Student's Name
Institutional Affiliation

1

PROFESSIONAL ETHICS

2

1. Do you agree with Robin’s initial point that lack of code documentation and quality
is an issue in software today? Have you ever worked with a piece of code that had
little documentation? If so, how quickly were you able to adapt and effectively use
that code?
Yes, I agree that code documentation and quality is an issue in software today. A programmer
needs to develop reliable documentation to help track down all aspects of a given application.
Additionally, documentation is the basis of the quality improvement of a product. As such, it
mainly aims at developing, maintenance, and knowledge transfer. When documentation is
successfully developed, it makes the information more accessible and enables users to learn
quickly. It always makes a program more reliable, and the future rework is brought in control.
Many developers consider writing quality codes as a time-consuming process, but this should
instead be regarded as the main goal of any software developer. The returns of quality codes are
almost immediate because it results to lower development efforts due to high code readability
and consistency. Clean code can easily be maintained and extende...

Similar Content

Related Tags