Tuesday, June 19, 2018

Take an Ethics Class

Let's say you are a hot-shot programmer and you're excelling in your computer science classes at your university. Or maybe you're an up-and-coming network administrator and you're taking industry classes. Or maybe you're both, or all of the above! You're taking programming and networking classes in college and at work. Should you also take a class in ethics? YES! 

First, let's address the benefits you will gain from taking an ethics class. Thinking about ethics uses a different part of your brain than coding. Learning about ethical theories, ranging from Kantianism to Utilitarianism to Virtue Ethics, develops your conscience, not just your intellect. In ethics classes, you learn to slow down, to analyze scenarios where ethics play a role, and to apply ethical theories. You learn to contemplate, research, read philosophical treatises, and to discuss philosophy with other students. You are given an opportunity to develop your own ethical framework. 

An ethics class will make you a more rounded human being. Your brain will thank you. Your friends and colleagues will be glad that you took this class also. You are now more likable, able to communicate with people not like you, and more thoughtful. 

Second, let's talk about the benefits to society if you learn ethics. With a groundwork in ethics, you will be able to develop and deploy technology that benefits humans. Your work will not just bring you a high salary and make money for your corporation. Your work will help solve problems facing humans, animals, the planet, and the universe (if your technology is used for space travel).

I've encountered too many programmers and CS students who compartmentalize. They love coding and are good at it, but they assume that ethics is somebody else's job. No, you can't leave ethics to other people. Understanding and applying ethics is as much your job as coding is. 
  • What will you do when your boss asks you to deploy robots that will put hundreds of working-class wage-earners out of a job? 
  • What will you do when your fancy database is used to keep track of immigrant children who were taken away from their parents at the border? 
  • Have you thought about how your facial-recognition software can be used to breach people's privacy or to report to law enforcement the identity of protesters engaged in moral civil disobedience? 
  • Is the technology that you are developing making it easier for bullied students to feel isolated?
  • Could you develop technology that would help reduce gun violence? 
  • What are the ethics of companies using unbreakable encryption that can be used by both bad and good people? What is the balance between safety and privacy in these cases?
  • What are the ethics of hiring low-paid Chinese workers to manufacture digital products? 
  • Is the technology you are developing going to result in a net increase in the total good of affected parties? 
  • When artificial intelligence is as common as natural intelligence, will you be able to protect the rights of humans who haven't been able to afford to upgrade their brains?
  • In your day-to-day work, are you behaving ethically? Can you say that you "act only according to that maxim whereby you can at the same time will that it should become a universal law," as Kant would require? If everyone acted like you, would the workplace and society be a better or worse place? Is your behavior consistent with the actions of a virtuous person? 

It's really easy to get caught up solving technical problems. There's nothing better than writing elegant code that works and is finally debugged. But don't let that feeling be your only goal. Remember that humans will use your code and it could do harm or be used in harmful ways. Develop and apply your ethics at every point of your career. 

All students, regardless of their major, should think about how they will interact with others online, and they should learn their rights with regards to companies that deploy information technology, sometimes in unethical ways. For CS students, the thinking needs to go even deeper. 

If you are a Computer Science or Management Information Science student, thinking about the ethics associated with the mainstream use of robots, data mining, algorithms, artificial intelligence, website advertising, surveillance, online voting, etc., is actually more important than learning how to develop and deploy these technologies. Our future depends on you getting this right. 

Thursday, February 16, 2017

I Persisted!

I recently had a conversation with someone who didn't seem to understand why "She Persisted" rings so true for many of us. It's not really about Elizabeth Warren for us. It resonates with us because we think "I persisted" when we hear it.

In my case:

  • I persisted in the computer field even after it became mostly men.
  • I persisted despite being told that women shouldn't take jobs from men because women don’t need to support a family.
  • I persisted after being told I couldn't climb a crane to install software because someone might look up my dress. 
  • I persisted despite being told that women weren't good hires because they would get pregnant and leave.
  • I persisted after being told I didn’t need a job because my husband worked.  
  • I persisted despite watching men with fewer achievements get promoted instead of me. 
  • I persisted when I was told that the required qualifications for a job were qualifications that the recently-hired men for the same job did not have.
  • I persisted despite there being no women's bathroom where I worked! 
  • I persisted when male co-workers stole my source code and took credit for it.
  • I persisted when male co-workers broke my source code and didn’t take credit for it.
  • I persisted when my pay was less than men in the same job. 
  • I persisted as popular culture spread the myth that a computer expert has to look like Mark Zuckerberg. 
  • I persisted when I looked around the room at meetings or conferences and was unable to find another female face.
  • I persisted when my ideas at a meeting were rejected when the same ideas posed later by a man in the same meeting were accepted.
  • I persisted despite incessant comments about my clothes, hair, and jewelry. 
  • I persisted despite having my ass pinched at work.  
  • I persisted. :-) 

Tuesday, July 19, 2016

Network Disruption

Network Disruption. This sounds like a bad thing. We hear network disruption and we think service outage. At Cisco Live, I learned that disruption is a good thing! 

My two favorite sessions were: 

1. Network Transformation and Essential Skills for Next Generation Network Engineers [BRKSPG-1000], presented by Zahoor Khan and Imran Shahid, CCIE #11894 and #11893. (Yes they are just one number apart!) 

The speakers told us that everything about the network is changing -- its connectivity, service delivery, business model, architecture, etc. The speakers gently told senior-level engineers that they need to get off their bottoms and learn a huge amount of new stuff. (They said it much more eloquently.) This appealed to the Technical Instructor in me. 

2. Disrupt Yourself: Driving Corporate Innovation Through Personal Disruption [DEVNET-1219], presented by Whitney Johnson, @johnsonwhitney

One of the best parts of this presentation was that Whitney quoted Leo Tolstoy. She had a slide that included the quote above. This appealed to the English major in me.

The networking field is in the middle of a disruption that even Tolstoy would recognize for its revolutionary magnitude. Transformations include:

  • A change from Command Line Interface (CLI) to Application Programming Interface (API) 
  • Waterfall to agile methods
  • Purpose-built network devices to Network Function Virtualization
  • Closed systems to open systems
  • Manual to automated service chaining

Network engineers need to understand Software-Defined Networking and virtualization. They need to learn some programming and be fluent in Linux. They can no longer limit their skill set to one vendor's products. The speakers in BRKSPG-1000 gave us a laundry list of new technologies to learn that included these topics and many more. We should learn about OpenFlow, NETCONF, YANG, REST, Git, GitHub, DDPK, containers, Docker, Jenkins, Ansible, Puppet, etc., etc., etc. 

The speakers did a good job of making the learning sound exciting and not scary, at least not too scary. Learning is fun, they said. Also, they provided good advice on segmenting your learning and keeping your end goals in mind. 

Whitney Johnson's presentation was a perfect complement to the BRKSPG-1000 presentation about all the new technologies we need to learn. She recommended taking risks, but taking the right risks for you. She said to play to your distinctive strengths and to think about what makes you feel strong. Think about what skills have helped you survive in the past. Battle entitlement and step back to grow. 

Those of us who have been in the networking field a long time need to step back and learn an enormous amount of new information. We can't sit back and let the revolution wash over us. The disruption must come from within, as Tolstoy said. 

Friday, July 8, 2016

Cisco Live 2016!

I'm attending Cisco Live this year! This will be my first Cisco Live in five years, so I'm a little nervous. I have memories of being run down by hordes of young men swinging large backpacks. :-) But I also have memories of learning amazing new technologies, getting to know fellow networking nerds, and cool hats!

My first Cisco Live (Networkers) was in Palo Alto in 1995. I think that was the best hat year.*

The Session Catalog - Cisco Live US 2016 this year holds great promise!

I'm most looking forward to:

  • A new hat
  • Maroon 5
  • 13 Smart Ways to Program Your Cisco Network [BRKCRS-3114]
  • Containers on Routers and Switches: Run Your Apps and Tools Natively on Cisco Boxes [BRKSDN-2116]
  • OpenStack Deployment in the Enterprise and Service Provider [BRKDCT-2367]
  • Techniques of a Network Detective [BRKARC-2002]
  • Software Defined Network Automation Architectures [BRKDCT-2027]
  • Network Transformation and Essential Skills for Next Generation Network Engineers [BRKSPG-1000]
And of course this panel discussion (I'm on the panel): Build Your Personal Brand with Social Media. [CISSOL-1113]

*For a history of Cisco Live hats, see this article by Fryguy: http://www.fryguy.net/2014/03/25/cisco-live-hats-over-the-years

Friday, October 30, 2015

Thought Diversity Necessary for Formation of the Internet

Most of us in the computer field know that having a diverse workplace is important for making decisions on what products to develop and how to market them. But is diversity important for solving computer science and engineering problems? I say YES. Diversity helped form the modern networking field. Without diversity we would not have the Internet. 

The following parable is from a US point of view. Lots of work was done in Europe too, but that is for another post when I have more time. :-) 

In the early days of networking, most of the data communications experts were on the East Coast. So we had the mainframe which polled the slave terminals. We had RS-232 where terminals had to Request to Send (RTS) and get a Clear to Send (CTS) to communicate. 

We had error correction, network control, and time division multiplexing, where nodes waited their turn to talk. The algorithms were orderly, hierarchical, predictable, and unwieldy. 

With the culture changes of the 1970s and 1980s, ideas for algorithms were infused with more creativity, and Token Ring was invented. A ring sounds like something from The Hobbit, with liberal connotations, where all the nodes in a circle sing Kumbaya and use a token to determine who gets to speak. However, the algorithms were still mechanistic and militaristic. A network node seized the token in order to talk, and when the node was talking, every other node was required to be silent. An active and standby monitor were needed to oversee the operations. In bridged networks, nodes used source routing to dictate which path the data frames should take. 

The engineering was still being developed by the New Yorkers in suits and white shirts with pocket protectors. Token Ring was expensive and hard to troubleshoot, and it mimicked human communications found in hierarchical, autocratic, traditional societies.

Out on the West Coast and in Hawaii, on the other hand, we had the surfers and the hippies working on networking! In the 1970s, Bob Metcalfe flew to Hawaii and all hell broke loose. :-) 

Metcalfe's research on ALOHAnet, a wireless packet network that was developed by the University of Hawaii, led to the development of CSMA and Ethernet. With CSMA, nodes listen before they send, but if they don’t hear anything, they just send anyway. If multiple nodes sense that there’s quiet, they just go ahead and send, so there could be multiple nodes all talking at once. The nodes also listen while sending, and back off if necessary. It’s like a big party! Aloha! 

Ethernet was inexpensive, easy to set up, easy to troubleshoot (at least compared to Token Ring), and scalable. We still use it today with speeds up to 40 Gbps and 100 Gbps. The work of Radia Perlman on the Spanning Tree Protocol allowed robust bridged networks to dynamically form a spanning tree. Routing across Ethernet networks became possible with the invention of the Internet.

The Internet was developed by men and women, working on the West and East coast, and parts in-between. In the West, UCLA, UCSB, Stanford Research Institute, and the University of Utah first worked on ARPANET and then the Internet. On the East Coast, universities, the US federal government, and various companies helped develop protocols and algorithms. The developers decided to break up data into packets and to forgo traditional point-to-point telecomm links and circuits that needed to be set up in advance. This led to the NSFNET and then to the commercial Internet.

The Internet’s infrastructure was designed by engineers seeped in human communications styles very different from the hierarchical, autocratic, traditional styles mentioned earlier. 

If the development of network algorithms had been left only to the stuffy East Coasters with their crew cuts and slide rules, we wouldn’t be having this conversation today, on a public, gigantic Internet that is built on top of Ethernet and wireless technologies. 

Kitty Joyner, electrical engineer, at Langley in 1952.
It was the diversity of thinking that made modern networks possible. This isn't just some politically-correct maxim that applies only to product design and marketing. Diversity helped solve the engineering and computer science problems that made the Internet possible.

Wednesday, September 16, 2015

Top Ten Reasons Not to Publish Top Ten Women Lists

Sophie Germain by Auguste Eugene Leray
I'm guilty of making my own list of women who do great work in tech, but nonetheless there are at least 10 reasons we should stop publishing these "Top X Number of Women in Some STEM or Leadership Role" articles. And that is 10 decimal, not binary. :-)

  1. These lists are really getting old. Get creative. Stop copying everyone else.
  2. Lists of women in tech call attention to the shortage of women, and can be discouraging. 
  3. If we must make lists, let's make lists about top reasons to be a computer professional. Be encouraging! 
  4. An in-depth article about an ordinary woman and her work is more inspirational than a list of sound-bites about "top women."
  5. Lists are often not well-researched. A CEO with no engineering experience doesn't belong on a list of women engineers, for example. 
  6. Sometimes a woman in a "top 10 women" list was actually a man previously.
  7. It's 2015. Maybe it's time to talk about top performers in tech, regardless of gender.
  8. The actual work is being done by the thousands of women and men you left off your list. 
  9. Too often the list includes Ada LovelaceGrace Hopper, or Hedy Lamarr, whom we all love, but there are lots of living women in computing too. 
  10. When the tech workforce becomes more gender diverse, what are you going to do then? Top Sophie Germain prime number of women in tech? :-) 

p.s. To see my list of women in tech, go here

Monday, May 25, 2015

A Mini-Review of Ex Machina from a Feminist Point of View

One of my main takeaways from the Ex Machina movie was that if men design robots, the robots will be beautiful young females who are so dumb they wear 7-inch stiletto heels in the woods! Despite this idiocy, the robots will be cunning and able to use their female wiles to seduce human men and make the men act dumb.

Seriously, if we don't get more women in tech, the robots that could replace humans some day will be a male fantasy of everything immature men love and hate about women. This is a scary thought.

Spoiler alert: The naked female robots in the closets are creepy and unsettling.

Entrepreneur Elon Musk recently tweeted: “Hope we’re not just the biological boot loader for digital superintelligence. Unfortunately, that is increasingly probable.” 

If the movie Ex Machina is a good prediction of the future, then we are in fact the evolutionary ancestors of the digital robots that we will create and that will one day take over the world. 

As Nathan, the brilliant Google-like engineer who created the Artificial Intelligence in the movie, says, "One day the AIs are going to look back on us the same way we look at fossil skeletons on the plains of Africa. An upright ape living in dust with crude language and tools, all set for extinction."

I can't think of a better reason for why we need more women in tech! If we are truly creating our descendants, then we need the creators of these descendants to be a diverse group with varied decision-making styles and a maturity that comes from overcoming challenges. Without help from people not like them, the young white and Asian men who make up 80-90% of tech today simply won't make all the right decisions about what our digital descendants should be capable of doing. 

Even if we're just creating robots that will do chores for us, or intelligent agents that can perceive their environment and act in some rational way to benefit us humans, the robots will be more functional, less buggy, and more benevolent if they are designed by a diverse group. 

I actually did love the movie for its thought-provoking elucidation of the philosophical underpinnings of artificial intelligence research, but I found the overuse of gender norms disheartening. What if the programmer selected to run the Turing test had been female? What if some of the robots were handsome young males? Or even old, chubby males or females? 

What if some of the robots were androgynous? I think that would have made a better movie. And in the real world, I think a diverse group of technology creators will make a better future, both for humans and robots.