What to do… Work, Work, or Work?

From the readings, it’s easy to tell that combining work, life, and family can be extremely difficult in the American work sphere. Can one have a family, spend time with the family, enjoy time for one’s own activities, and move up the ranks at his or her workplace? It seems all too often that life comes down to an unsolvable puzzle.

I think it’s nearly impossible, and very few people are able, to “have it all.” I believe it’s a combination of personal values and corporate practices. Regardless of the company they work for, may individuals feel the need to back scale back their work life in order to spend time with, or start, a family. There have been individuals who worked for the government,  MongoDB, and the people I know from the company I work for that had to take time off for family reasons. I don’t think it necessarily matters where one works, but if one’s priorities are such that family comes first, then I think that is often what he or she chooses.

I think this trend is telling. If people keep pulling away from work, then this means they think something needs to change in order to create a more fulfilling life. This in itself is not bad and doesn’t mean one can’t have success in the workplace (provided they come back to the workplace or continue to work but with fewer hours), but combined with the manner with which many corporations operate, means that these individuals are often discounted for workplace advancement. These individuals may not be able to rise up to the fulfilling position they desire because family is such an integral part of their lives. Amazon is not representative of all companies, but are not alone. If they dock their employees leaving work involuntarily for things such as cancer, then it’s easy to see them viewing voluntary leave for things such as raising a family as not being committed to the workplace. To compound the issue, Amazon doesn’t offer any paid paternal leave. Again, not all companies are like this, but it’s easy to see why preference may go toward those who spend more time at the workplace. They may seem more committed, and may be offered the promotions that those with other commitments may not enjoy. This cycle just seems to continue.

The best solution seems to be that companies should recognize that their employees can not always give their hearts and souls to the company. Real life is full of commitments, work being one of them, but it should be noted that the health of oneself or one’s children should come before the profit of a company. If an employee needs to take care of his or her children or his or her own life, the employee should be given the opportunity to do so, free of judgement.

After saying all this, I feel companies are not obliged to promote individuals while recognizing all out-of-work situations. Employees who are able to work more, perhaps are a bit more deserving of promotions because of the time they can commit to the company. However, I do not believe employees should lose their jobs just because, for a period of time, they must scale back their work a bit. As long as they are being productive and “earning their keep” so to speak, I believe they should not be punished. Like I said before, companies should recognize that work is not the only priority in people’s lives.

I’m not sure how I’ll be able to maintain the work-life balance I desire. First of all, I don’t know what this balance is yet. I don’t have my own family to think about and (luckily) am free of health issues. One day, I’m sure I’ll have all of these things to worry about and I think I’ll have to make some tough choices then. For now, I’ve chosen a company that allows me some flexibility in my work and I hope that for the first few years out of college that is enough.

Code of Ethics: Reflection

Our code of ethics doesn’t get too caught up in details. Instead, our code focuses on broader ideas and implores individuals to use it as a foundation, adding their own values as they see fit. There are three core categories in this code: Responsibilities of the Ethical, Responsibilities of the Leader, and Responsibilities of the Student.

The Responsibilities of the Ethical concern ones actions from a general life standpoint. These are simple and should act as a guide for any actions one takes. This area of life is important as it in itself determines whether a person and his or her actions is considered “good.” Begin a student is more than just schoolwork, as that is just a small component of life. In order to be a constructive personality, one must focus on the basics of his or her character before diving into any other, more specific components of life.

The Responsibilities of the Leader concern those in leadership positions, whether they be in a workplace or in small groups. Here, we attempt to construct a set of rules that help groups function more coherently and foster communication between members. This component is important because students at Notre Dame will often find themselves in positions of power or working in groups as a leader. These situations carry with them much responsibility. The ability to guide members of the group correctly and maintain positive relationships with all members of the group does wonders for the both the individuals involved and the final deliverable.

The Responsibilities of the Student concern the students at Notre Dame. These guidelines hope to shape a students actions in such a way that brings them to appreciate the gathering of knowledge in a respectful and constructive way. This is important because carrying the title “Student” carries with it a new set of challenges. The academic world, for students, often revolves around grades and simply getting by, but we implore students to go beyond what’s expected and make the extra effort to learn. We’d still expect students to follow the other guidelines put forth previously, but in attempting to go beyond what is expected, one will be able to increase their knowledge greatly and rightfully earn respect from his or her peers.

In making our code broad, there will be weaknesses. Of course, there certainly exist some edge cases that we have not thought of. We attempted to fix this issue by allowing individuals to use our code as a foundation, and adding their own imperatives. If an individual feels an element is missing – an element that makes the code stronger and more constructive – we hope they add on to it.

Additionally, there exist some definitions that are hard to pin down no matter what source you pull from. What is the “common good?” What is a fairly-managed workload? These definitions can vary on a person-to-person basis, but I hope that through conversation, contemplation, and common sense, any individual may be able to construct an acceptable definition that he or she can apply.

I believe that a Code of Ethics is useful, to an extent. It is easy to read such a code, think about it, and see how it could be applied, but rarely do individuals consider the code prior to making decisions. The best bet, I think, is to study a Code of Ethics and hope to work it into your subconscious. If one can deconstruct these imperatives into their most basic components and embed them into oneself as basic instincts, then perhaps we will see more thoughtful decisions being made.

This exercise was mostly beneficial. I’ve never thought of putting my own morals into writing, but seeing them in front of me is comforting. I’m glad that I can see most of these elements in my day-to-day actions, but also ones that I can try harder to put into practice more often.

Advancement and Stack Ranking

I’ve interned in two very different atmospheres. One was a larger, older, and more domain specific analytics company (Company 1), while another was a smaller, younger, more general analytics company (Company 2). Both companies do similar things and both handled advancement and promotion differently, but I’m only working at one of these places. The career advancement and review/feedback system were two factors leading me to choose one over the other.

Company 1’s promotion and career advancement system was straightforward. Work hard, gain experience, and rise through the standard ranks of junior software engineer to project manager and beyond. Performance reviews happened mostly on a meeting-to-meeting basis, as you reported to your manager, but also at other times throughout the year. To my knowledge, a stack ranking system was not present.

Company 2’s promotion and career advancement system existed, but was much more flat. Employees formed teams of about five people of similar interests (similar to Valve’s cabals) and were guided by a team leader. This team leader was less of a manager, but more of a knowledgeable coworker. One became a team leader by gaining experience and showcasing skills in the workplace. There were some individuals who held higher responsibilities, i.e. the VP of Engineering, but these were not common destinations of career advancement. Performance feedback came mostly through daily communication with coworkers, including team leaders and even people with the titles like the VP of Engineering.

It was an easy choice for me to choose Company 2. Given the fluidity, more available feedback, and flatter structure, it won in this category hands down. Additionally, the atmosphere was of collaboration, not “focusing on competing with each other,” as what seemed to be the case of Microsoft in Microsoft’s Lost Decade. From what I can gather, Company 2’s atmosphere could not thrive under a stack ranking system. I don’t believe the stack ranking system would work or that it should be implemented anywhere. What I believe the two major problems the stack ranking system presents were conveyed in Microsoft’s Lost Decade: the forced loss of top-notch talent and the unnecessary internal struggle it creates between employees.

Losing top-notch talent is something many top tier companies face today. For example, it’s been reported that Tesla has been hiring workers from Apple. Tech companies don’t want to lose top talent to other companies, so why would they want to even consider throwing away their own talent based on archaic performance analysis? Amy Letke of Integrity HR says it best, “Once you start raising the bar, you’ve got to be really careful. Maybe you have weeded out the lower performers (already).”

In my opinion, a cooperative environment is also a much more productive environment, and stack ranking does not foster that. Rather than “schmoozing and brown-nosing as many supervisors as possible” to gain higher marks, my coworkers at Company 2 spent time to make the work of others better so that the products the company made were as best as they could be. This was much more rewarding due to the fact that the skills of workers improved, relationships grew, and the final product was better than it could have been if one had worked alone.

I don’t believe stack ranking is fair. It is not fair to the employees trying to get better. Employees can’t improve if they aren’t told what needs to be fixed by their out-for-themselves coworkers and are “yanked” before they get the chance to improve. Stack ranking is not fair to the company as a whole. If the company’s goal is to move forward and create innovative products, it will not be able to do so with such internal strife.

Ethically, perhaps (the idea of) stack ranking is fine. If the companies goal is to consistently rid itself of the worst performing employees, then stack ranking accomplishes this. It will cut undeserving individuals, but it they are deemed the worst of the bunch in as objective of a process possible, then so be it. That said, the behavior stack ranking fosters is an unethical one, as it undercuts the main focus of raw performance and instead leads employees to act immorally – selfishly – in an attempt to secure their futures. I would not want to be a part of this. My goal is to collaborate and gain a deeper understanding of my field. I could not accomplish that under such a system.

 

 

Hackers

When talking about hackers in the technology space, we usually get stuck between very different definitions. The contrasting definitions make it difficult for the word “hacker” to be viewed from one common perspective. From Merriam-Webster, a hacker in the technology space can be any of the following:

:  a person who is inexperienced or unskilled at a particular activity <a tennis hacker>

:  an expert at programming and solving problems with a computer

:  a person who illegally gains access to and sometimes tampers with information in a computer system

Interestingly enough, we have three different definitions that contradict each other or carry incredibly different connotations with them. Is a hacker unskilled or an expert? Does a hacker solve problems or create new ones?

For me, a hacker is more closely aligned with definition two. A hacker is one who looks at the tools in front of them and with them quickly crafts a novel, but not necessarily finished, product or experiment. Perhaps I’ve fallen victim to “the emergent tech industry’s definition of ‘hacking’,” but the supposed gentrification of this term does not lessen its power.

I agree with Mark Zuckerberg in believing that hackers follow ‘The Hacker Way’ or “an approach to building that involves continuous improvement and iteration.” Continuous improvement is a result of experimentation. Experimentation is the result of quickly prototyping with the goal of functionality over perfection. This is the goal of a hacker and the optimal outcome of true hackers working together.

A hacker possesses no defining physical characteristics, but instead exhibits only a few personality traits that act as a gateway toward the process of “hacking.” A Portrait of J. Random Hacker takes a much too fine-grained and pessimistic approach to what a hacker is. The idea of a hacker should not include anything physical or non-job-related beliefs such as some of the headers in A Portrait of J. Random Hacker. A hackers ability to “hack” does not depend on their gender, ethnicity, political leanings, diet, or sexual habits. A hacker only must possess knowledge of their field, passion for their work, ability to learn from the past, and a desire to improve the world around them through experimentation. With only these traits, any individual may act as a hacker in any field.

Conveniently, under my definition of a hacker, I would classify myself as one. I am most certainly not the epitome of a hacker, nor may I ever be, but I exhibit the necessary building blocks. I often piece together interesting experiments, coding in my spare time, because I enjoy it. I have a passion for computer science. I learn from what didn’t work and what did work, building off and discarding their respective experiments. Perhaps I never create a final product that can be sold or showed off, but that doesn’t diminish the acts of a hacker and the process of learning experimenting and innovating.

I think this characterization of a hacker is the most accessible, understandable, and all-encompassing definition. I’m a firm believer that hackers are not confined only to the tech space. Hackers can exist in many different fields and represent many different people from painters to makers to programmers. Being a hacker does not say anything about one’s physical appearance, but speaks volumes to their personality traits mentioned above. Additionally, this definition attempts to move away from the negative stigma the word hacker occasionally possesses. A different word may fill the void left by shifting the word “hacker” away from the corporate data detective and secret stealer. However, hackers can be such a force for good – a force for innovation – that they should not be tainted by the negative perception and should instead permeate all disciplines in the hope that they can push boundaries and make all aspects of life better… incrementally.

What is Computer Science? Art, Engineering, or Science?

The discussion concerning what Computer Science actually is has been raging for years. I like to think Computer Science lies somewhere between science and engineering. This may be unsatisfying, but to me, an unavoidable conclusion. Here’s why.

Computer Science is most certainly different from other forms of engineering and science. Like engineers, Computer Scientists plan and build complex solutions to real-world problems that often benefit the public in some way. Computer Scientists create platforms on which many people work. One such example is the Windows XP operating system. Consisting of 45 million lines of code, Windows XP is a premeditated, complex solution to the everyday need of a flexible and complete operating system. Examples of these projects abound, spanning nearly every discipline.

However, like Ian Bogost touches on in Programmers: Stop Calling Yourselves Engineers, Computer Scientists are not explicitly “regulated, certified, and subject to apprenticeship and continuing education.” This speaks to the open-endedness of Computer Science. If strong-handed regulation existed in the field, perhaps innovation would be slowed and  confined only to research centers and personal endeavors, where limits exist in time and resources. Additionally, how can something like software be regulated if it “can’t be objectively, formally verified to be correct” as said in Bridges, Software Engineering, and God. Clearly, there are ways that Computer Science is, and may always remain, removed from the notion of certification and regulation necessitates engineering.

On the other end of this spectrum, Computer Scientists are similar to other scientists. Computer Scientists often perform focused tasks (or experiments) for the sake of learning and advancing the collective knowledge base of society. An abundance of experiments in Computer Science has lead to advances in image recognition, data storage, and manufacturing processes. These experiments are not always successful, but most always a nugget of knowledge is gained in one way or another.

Contrasting with the endeavors of “traditional” scientists, experiments are often still rolled out by companies in the form of products, whether they be unfinished, finished, experimental, etc. These are released with the intent of making money and providing their intended services (something not often done in other scientific fields). To the chagrin of scientists and engineers, these unfinished-but-released products find themselves in the hands of companies and consumers and result in potentially harmful malfunctions.

From the few ideas above, it’s reasonable to see the overlap with both disciplines that Computer Science may exhibit. Computer Science tackles large public-facing issues, but often without the same level of accountability. Computer Scientists also perform experiments and research with the intent of innovation. However, these innovations often come in the form of production software motivated by profit and subject to dangerous malfunctions, going hand-in-hand with the issue of accountability. The overlap here explains the classification of Computer Science I put forth, but it is also part of the problem. If Computer Science never concretely fits into one classification or another, this debate will inevitably continue.

Due to Computer Science’s uniqueness as a field, its classification will always be amorphous, just like the product that is creates. We won’t ever be able to nail down the classification of the field if we can’t even classify it’s product.

Who Am I?

My name is Andrew Gnott, and I’m a computer scientist from Michigan. I do what I do because I enjoy it. I like coercing my computer into performing interesting and helpful tasks. The process of getting to the end goal is the most fun part. The final program is just the result of hundreds of little puzzles, and solving each puzzle is rewarding to me.

In this ethics course, I hope to learn about the moral dilemmas that computer scientists face in the real world and how they should be handled. Because computer science is a new and constantly evolving field, the dilemmas we may face today may be much different from those just 20 years ago. I’m especially interested in looking at some case studies and examples that showcase what is right and what is wrong.

The most pressing issues that face computer scientists today, I feel, are related to data collection throughout the world. From recent news, we see that data is being collected all over the place. Whether or not the computer scientists are the ones making the decision to collect this data, they almost always play a role in collecting the data. They create programs, back doors, and hack into databases in order to obtain data. I find that to be and interesting topic and I hope we talk about this in the class.

Additional topics I’d like to look into include Snowden and software patent laws.