top of page
Search
Writer's pictureShefali Emmanuel

Updated: Sep 4, 2019

HW2: 500+ word response to No Silver Bullet, Kode Vicious, and Google Code Repo taken together - find common concerns in the articles and reflect upon them.


A common theme that I seemed to notice throughout No Silver Bullet, Kode Vicious, and Google Code Repo was how procrastination truly affects the individual and how it can grow to become a monster that is untamable. The documents seem to all have common concerns about general efficiency, data store, management, and problem solving. Below is my analysis of the documents previously mentioned. 

A silver bullet is some simple magical solution that can solve all your complicated problems in one shot. (http://english.oxforddictionaries.com/silver%20bullet) The document states how, “there is inherently no silver bullet”. 






 Business people view software engineers as workhorses asking them to develop a product in X amount of days and not considering the true amount of time quality development takes. It is not only a tool to make a profit but also an art form that should be greater valued. In Kode Vicious, the author, George V. Neville-Neil, talks about how all problems should be approached with the scientific method. The scientific methods outcomes can be measured, which is what makes it so useful. You can only truly see the progress being made in any sort of project by comparing it to the value of its previous outcome. A hypothesis is a testable idea for solving the problem. The nice thing about a hypothesis is that it is either true or false, which works well with our Boolean programmer brains. I personally agree with this statement and wish I would remember to apply it more to my situations. I think that when the boss is asking their employees if the problem is fixed and how he knows, he should not be getting annoyed, but simply presenting her with the evidence so she has no question about its legitimacy. I think it was also valuable how the response mentioned keeping proven and disproved hypothesis. This is a step I feel that is often times left out. In, Google Code Repo By Rachel Potvin and Josh Levenberg they discussed a new approach to the concept of cherry picking. They described it as the Release branching model which is comprised of a trunk which has branches that go towards cherry picking or released branch. When a branch needs some altering they are first diverted to cherry picked branches and then merge to release branch. The way google has structured their code repo is something that has broadened my understanding of data storage.

Writer's pictureShefali Emmanuel

Updated: Aug 31, 2019

Ex 1.3

Q: What are the 4 most important attributes that all professional software should possess? Suggest 4 other attributes that may sometimes be significant.


A: Here are the 4 the book mentions: Acceptability, Dependability and Security, Efficiency, Maintainability

Here are 4 other ones that may be significant: Reusability, Correctness, Standardization, Documentazbility


Ex 1.8

Q: Discuss whether professional engineers should be licensed in the same way as doctors or lawyers.


A: I think professional engineers should be required to learn about their legal limitations and gain a certification to prevent legal cases. I do not think being an engineer should be valued the same as doctors since doctors have the control of someones life in their hands instantly. However an engineer could be programming some sort of medical case, like in the case study about the insulin pump, in which I would say the engineer should have some sort of medical licensing. I believe there should be some sort of standard testing each software engineer needs to go through which requires them to have learned their legal limitations for their own safety and the safety of the company that they are working for.


Ex 1.9

Q: For each of the clauses in the ACM/IEEE Code of Ethics shown in Figure 1.4, propose an appropriate example that illustrates that clause.


A:

1. Public: A software engineer should never be developing programs that would benefit themselves, but hurt the public. The engineer should never try to scam the public. Programs should be in the best interest of all.


2. Client and Employer: A software engineer should work diligently and be truthful in the amount of hours they spend working on a project get it done efficiently. They should slack off and take a longer amount of time to get a higher pay.


3. Product: A software engineer could alter the way a product works to make the customer come in multiple times for repairs in order to gain a hire profit off of them.


4. Judgement: A software engineer could sabotage a coworker's project because of some outside reason, like the coworker stole the engineer's girlfriend. This is an example of unprofessionalism in the workplace.


5. Management: A software engineer leader could promote someone on their team who did not deserve the promotion for their personal interest with their individual promoted.


6. Profession: A software engineer could corrupt a company's code in order to tank the company if they have already been paid and have no desire to continue the company's path.


7. Colleagues: Some software engineers could be looking to gain a higher position in the company they are working for. This may include spreading rumors about another canidate for the same position. The software engineer could also sabotage the other canidates interview or application by deleting their code or overwriting it with gibberish.


8. Self: A software engineer could become stagnant and not willing to learn about the technical advancements which would help them excel in their profession. They also might become intrigued by a high paying job that requires them to penetrate the security barrier of a governmental body which could result in breaking the law. This code could be applied to this specific scenario.


Ex 1.10

Q: To help counter terrorism, many countries are planning or have developed a computer system that tracks large numbers of their citizens and their actions. Clearly, this has privacy implications. Discuss the ethics of working on the development of this type of system.


A: I can understand how confidentiality would become a main concern for the citizens. There will always be a sense of insecurity. I hope that the countries are transparent with their citizens to maintain competence. Every citizen should be aware of their intellectual property rights, but would they be truly aware of the collection of their individual actions. When a citizen releases their information they should be sure the computer that is being used to derive this information is secured.


Chandler Long and I collaborated on this assignment.

6 views0 comments
Writer's pictureShefali Emmanuel

Updated: Aug 20, 2019

Hi! My name is Shefali Emmanuel. I was born and raised in Mount Pleasant, SC, USA. I am currently in my final year of pursuing an undergraduate bachelors of science degree in Computer Science at the College of Charleston. Upon graduation I plan on working for three to five years and then pursuing an MBA. This blog was created as a way to document my progress through the Software Engineering course, CSCI 362.

bottom of page