Software Careers in Service to Society: A Guide for Engineers Who Want to Improve the World

Find schools

Three Interviews on the Future of Benevolent Engineering Careers

For software engineers—both students and working professionals—it can be challenging to determine which technologies will exact positive change in society. These three industry leaders and programming experts graciously agreed to an OEP interview. They share their unique experiences, discuss the future of benevolent tech careers, and offer advice to aspiring engineers who want to improve the world.

Chris-Sullivan

Chris Sullivan, Aerospace Engineer and Programmer at DroneDeploy

“[Genuinely intelligent software] would certainly force a complete rethinking of our notions of work, productivity, and economics, not to mention personhood. It's hard to even imagine what this world looks like; I like to compare it to an 18th century observer describing the post-industrial revolution economy.”

After four years of research in the Autonomous Robotics Lab at the University of California, Davis, Mr. Sullivan joined NASA as an engineer, noting that his background in programming greatly enhanced his candidacy. He later worked at Millennium Engineering & Integration Company and Matternet Inc., and he now serves as an aerospace and software platform engineer at San Francisco’s DroneDeploy, a user-friendly mapping and flight automation platform for consumer drones. This technology has been used to make farming more efficient by surveying fields and pinpointing unhealthy sections of crops, as well as monitoring construction sites to ensure compliance with federal regulations.

What do you think will be the most important careers in the future of software engineering?

‘Important’ and ‘sought-after’ can easily be conflated. To me, the march towards ‘General AI’ will be the most important pursuit of computer science and software engineering of the 21st century. It's hard to say if that's still 10, 20, or 50 years out, but it's starting to look less and less likely that our lives will end before a genuinely intelligent software system is engineered by humans. This would certainly force a complete rethinking of our notions of work, productivity, and economics, not to mention personhood. It's hard to even imagine what this world looks like; I like to compare it to an 18th century observer describing the post-industrial revolution economy.

What are the trends in CS, AI, and robotics which excite you most?

Technically I'm most impressed by the advances in computer vision, neural networks, and the general paradigm shift toward more concurrent, parallelized, and distributed processing of the last decade. But in a bigger sense, I think I'm most impressed and inspired by the progress of the open source community, of which I was not originally a big believer. The projects that can get off the ground today in a week of tinkering with a raspberry pi and a handful of open-source Python libraries are amazing. This is incredibly enabling for small startups and academia, who in prior generations faced much steeper barriers to entry.

Who are your greatest role models?

My role models tend to boil down into two categories: ‘Big Thinkers’ and ‘Stop Whining and Get Shit Done-ers.’ I've always admired the relentlessness of Wernher von Braun, the original ‘Just do it, if it blows up... then we'll learn something too’ badass. The astronomer Carl Sagan is to whom I've looked for big-picture inspiration. I have a lot of mixed feelings about Elon Musk, but I'm incredibly proud of what he's doing to advance the human cause in space. I had a professional mentor once who was a great combination of engineering brilliance, fearlessness bordering on reckless, with a kind heart and an allergy to micromanaging me. He, my father, and grandfather are whom I try most to model myself after. And Tony Stark, obviously.

What advice would you give to software engineering students who want to improve the world?

Cliche: on your free time, get involved. The internet makes it so easy these days. Whatever it is that interests you, I guarantee there are a half-dozen open-sourced projects on GitHub looking for source code contributors. You might even brush shoulders with some movers and shakers in that field, or be offered a job. There are also meetups (hackathons) in most metropolitan areas for engineers who want to donate their time to good causes. These can be a lot of fun. If you're talking professionally, the most important thing in my mind is to find the right group of people pursuing something you're passionate about. And what I mean by this is the group of people most likely to move the ball forward for this cause. It's not necessarily the guy with the best TED talk or the most inspiring mission statement. Or the most funding. It's the group of people who have the goal you believe in, and more importantly the means to accomplish it. The right people, with the right attitude, properly connected. This all sounds overly businesslike for ‘improving the world,’ I know, but to me there's a big difference between feeling like you're making a difference, and actually making a difference. Most importantly, put your ego aside and do whatever these teams need of you. Maybe you see yourself as more of a data scientist, but a great team needs someone to help with their database interaction. Do it. Find a way to help. Pathways and opportunities present themselves to people who demonstrate an ability to get after whatever needs getting after.

Bireswar-Laha

Dr. Bireswar Laha, Postdoctoral Scholar at Stanford University’s Virtual Human Interaction Lab

“The qualities in people that inspire me, which include scientific curiosity and a focus on knowledge for career success, but at the same time humility, kindness and patience...become more and more important as one becomes successful in life. Progress—not perfection—is important.”

Dr. Laha has conducted research at several prestigious institutions, including IBM’s Watson Research Center and NASA’s Center of Higher Learning. After receiving his PhD from Virginia Tech, Dr. Laha joined the Department of Computer Science at Stony Brook University as a postdoctoral associate. Now at Stanford University, Dr. Laha’s research focuses on the applications of virtual reality to research in neuroscience, embodied cognition, environmental conservation, and encouraging prosocial behavior. He’s one of the leading global researchers in the philanthropic applications of virtual reality.

What do you think will be the most important careers in the future of software engineering?

Importance will vary from person to person. If money is important, then picking up coding or programming skills and improving logical reasoning are the key. Software engineering is booming and big and small companies in many businesses are looking to hire the best programmers right out of college. On the other hand, if knowledge is the focus, then a MS and PhD is the way to go. Again, software engineering is a highly sought-after skillset which is valued in many disciplines—pick the one you like and go for it.

What are the trends in CS and VR which excite you most?

I think CS, driven by the wave of VR, is becoming increasingly interdisciplinary. It’s now hard, or almost impossible to limit any CS project to just CS; collaborations with researchers and scientists from medicine, natural sciences, and humanities are now very common. Taking the example of VR, if you look at the range of research papers published at the IEEE Virtual Reality Conference in the last few years—which is the premier annual international venue for cutting-edge research in VR—you will be amazed to find how broad the disciplines are from where the papers are published. VR and CS are really breaking bounds and bringing disciplines together.

Who are your greatest role models?

At different points and levels of my life, I was inspired by many different people as role models. So to pick a few will be disregarding the rest. Even the names I would choose right now will surely change in a few years from now. I think a more consistent thing for me has been the qualities in people that inspire me, which include scientific curiosity and a focus on knowledge for career success. And at the same time, humility, kindness, and patience to become a well-rounded person in life who cares for others...Progress—not perfection—is important.

What advice would you give to CS students who want to improve the world?

Choose what is important in your life, and keep clear of all dogma and biases in your choosing. Almost all of us love to make a difference by contributing directly to society...Others may be driven more by their passion for science and go for higher learning. But to keep inspiring yourself as you acquire skills, and gradually converge on the important qualities that will define you as a person. It may not be the initial path that you choose...but stay focused until you know when and how to change it for better.

Ian-Gorton

Dr. Ian Gorton, Professor and Director of Computer Science Master’s Programs at Northeastern University, Seattle

“The opportunities for scientific discovery from innovative, advanced data analysis makes it uniquely attractive for those who want to add value to society. The potential is endless!”

Dr. Ian Gorton is a leading global researcher and professor in complex information systems, pushing the limits of what’s possible in managing the exponential growth of big data. He was a fellow at the Pacific Northwest National Laboratory where he led 25 software engineers, and he served as the chief architect of PNNL’s Data Intensive Computing Initiative. While working as a senior member at Carnegie Mellon University’s Software Engineering Institute, Dr. Gorton’s team developed a publicly accessible knowledge bank for big data systems: the QuABaseBD (“kbase-BeeDee”). In 2015, he was appointed Director of Computer Science Master’s Programs at Northeastern’s Seattle campus in an effort to meet the demand for qualified software engineers in the Pacific Northwest—the hub of Microsoft, Amazon, and other technology companies. His longstanding interest in the benevolent uses of big data systems includes investigations of environmental modeling, carbon capture and storage, and bioinformatics, among other areas. He shared some of his thoughts of the future of big data applications and how CS professionals can improve the world.

What do you think will be the most important careers in the future of software engineering?

Modern internet applications can be described as hyperscale systems. Hyperscale means the systems must grow their capacity exponentially while keeping their costs growing linearly. This requires software engineers to be constantly aware of the associated costs of their solutions, as at massive scale, small efficiency gains can translate to very large cost reductions. So now more than ever before, engineers need to carefully understand the time and space complexity of their algorithms, and utilize effective techniques to optimize their solutions. Importantly though, the majority of applications build upon foundations provided by robust open source and commercial platforms for storing data, communications, security, and many other functions. This requires engineers to diligently comprehend and assess the appropriateness of the platform-level technologies they select. In an engineering world with so many competing technologies and products, this is a major challenge and a skill that differentiates high quality engineers from their peers.

What are the trends in CS and big data which excite you most?

Big data has driven a seismic shift in database technologies. A decade ago, relational databases ruled the application world. Now, there's literally several hundred so-called NoSQL and NewSQL database technologies that provide a rich palette for building highly scalable, distributed, cloud-based systems. Like any exploding segment, at first we saw great diversity in the approaches that each database made available for storing and analyzing data. Now, after several years of experience, vendors are striving to innovate on techniques that make building applications against these databases easier, while still maintaining their ability to scale. I suspect in 10 years time we'll be building applications in a small number of SQL-like languages. This will ease the burden of engineering with such databases, helping us to scale our systems faster and more cost-effectively, a necessary ingredient for hyperscalability.

Who are your greatest role models?

My heroes have always been people who manage to carefully traverse the fine line between industry and academia. Both worlds are demanding on their own, but gaining credibility in both takes extra hard work. My old friend Len Bass, formerly of the CMU Software Engineering Institute and NICTA, fits this bill perfectly, with work that has been widely influential. Similarly, Professor Philippe Kruchten from the University of British Columbia, who has been massively influential in his work in software architecture and the development of UML.

What advice would you give to CS students who want to improve the world?

Work in science. The opportunities for scientific discovery from innovative, advanced data analysis makes it uniquely attractive for those who want to add value to society. The potential is endless!

Four Benevolent Sectors of Software Engineering

“There's a big difference between feeling like you're making a difference, and actually making a difference. Most importantly, put your ego aside and do whatever these teams need of you. Maybe you see yourself as more of a data scientist, but a great team needs someone to help with their database interaction. Do it. Find a way to help. Pathways and opportunities present themselves to people who demonstrate an ability to get after whatever needs getting after.”

-Chris Sullivan, DroneDeploy Aerospace Engineer & Programmer

For students and professionals in software engineering interested in technology in service to society, here is a detailed discussion of four cutting-edge sectors to consider with the power to change the world. Please note that these sectors are not mutually exclusive and share some fundamental principles. For example, deep learning refers to computers teaching themselves, the ability to auto-program based on the input of large quantities of data. This process simulates an elementary neuron network of the brain and allows the machine to pick up on patterns. Notably, it’s used across all four sectors of software engineering profiled below: artificial intelligence, robotics, virtual reality, and big data.

1. Artificial Intelligence

“To me, the march towards ‘General AI’ will be the most important pursuit of computer science and software engineering of the 21st century.”

-Chris Sullivan, DroneDeploy Aerospace Engineer & Programmer

There’s a wide array of applications of artificial intelligence. In the past, a majority of AI experts worked for the government or defense contractors, but the employment opportunities in this sector have changed dramatically. The IEEE’s primary news publication, The Institute (June 2016), pointed out that just about every industry is dabbling in the potential of AI and machine learning, including insurance, finance, manufacturing, healthcare, and others. Not surprisingly, some uses are more benevolent than others.

On the one hand, AI is being used to enhance first-person shooter games such as Call of Duty to randomize the behavior of computer-generated opponents; it’s being used in algorithms to predict user behavior and make targeted media recommendations for Netflix, Google, or Pandora (among others); it’s been used to superimpose spooky or animal-like masks on people’s faces with apps such as Face You; and AI is even being used to auto-generate and send creative romantic texts (Bro-App).

While these are all amusing applications of AI, there are many altruistic and beneficial uses as well. AI powers global translation and speech recognition software; it prevents fraud by recognizing typical customer behavior at banks and other institutions; it helps design neural prosthetics which interact with the human brain; it models and predicts the spread of pollution in China; it identifies difficult-to-see mechanical problems in airplanes and other large machines; and it will soon be driving a fleet of autonomous cars, an industry which is expected to explode in popularity in coming years (Connected & Self-Driving Vehicles 2016). And these are only a few of the transformative applications of artificial intelligence.

Education & Skills to Work in AI

While education and skills vary by position, here is a rough breakdown of some of the most sought-after qualifications to secure a position in AI and machine-learning:

Education:

  • Bachelor’s (master’s preferred) degree in software engineering, electrical engineering, computer science, mathematics, or another relevant field

Knowledge & Skills:

  • Working understanding of concepts such as machine learning, deep belief networks (DBNs), deep neural networks (DNNs), natural language processing, computational cognitive science, probabilistic reasoning, automated systems, data mining, and knowledge representation
  • Facility with programming languages (e.g., Python, Java, Node, Perl, C/C++, Scala) and various toolkits (e.g., TensorFlow, Caffe, Theano, etc.)

Closely related to the field of artificial intelligence is robotics, which is also changing the world for the better.

2. Robotics

The Brookings Institution (2016) and others have discussed the impact of robotics on industry. While these smart machines are programmed to make the collective experience of humanity easier and less monotonous through advances in industrial production, the developments have challenged the way that people think about labor, uprooting traditional workers and disrupting industries including healthcare, transportation, customer service, and home maintenance (Pew Research).

That said, there have been many advances in robotics which are solving problems such as dismantling bombs, facilitating housekeeping (Roomba), performing surgeries (IEEE 2016), and providing care for the elderly, among many others.

Education & Skills to Work in Robotics

The blog Robotiq likened robotics skills to a human form. The body is knowledge of mechanical engineering (i.e., how everything operates); the nervous system is knowledge of electrical engineering; and the brain is computer science. In more granular terms, here is a breakdown of typical education and skills required to work in robotics.

Education:

  • At least a bachelor’s degree in robotics, mechanical engineering, computer science, or a related field

Knowledge & Skills:

  • Knowledge of concepts such as Bayesian logic, probability theory, algorithms, computer vision, embedded systems & firmware, Light Detection and Ranging (LiDAR) technologies, pattern recognition, programmable logic controller (PLC) software, human machine interface (HMI) software, communication data protocols (e.g., TCP, IP), version control systems (Subversion and Mercurial), and/or PID controls
  • Facility with Python, C/C++, C#, JavaScript, .Net, Linux, Robot Operating System (ROS), Simultaneous Localization and Mapping (SLAM), Gazebo, OpenCV, and/or others

3. Virtual Reality

“I think CS, driven by the wave of VR, is becoming increasingly interdisciplinary. It’s now hard, or almost impossible to limit any CS project just to CS—collaborations between CS people and researchers and scientists from medicine, natural sciences and humanities are now very common.”

-Dr. Bireswar Laha, Postdoctoral Scholar at Stanford University

Of the four sectors profiled in this guide, perhaps no other generates quite the same widespread excitement as the realm of VR. This burgeoning area of software engineering has applications in medicine, business, manufacturing, law, entertainment, education, tourism, real estate, marketing and much more. And the potential to benefit society is staggering. For example, a startup called Rendever is building a virtual tourism platform for people with mobility impairments; the Guardian (2016) reported that German prosecutors had used a 3D VR technology to locate Nazi war criminals; a Bay Area company called STRIVR is using VR to train world-class athletes; the UK’s Virtual Reality Society reported on some of the benefits of VR to foster empathy in people with autism; and finally, the University of Southern California developed a progressive therapy tool called Bravemind to help veterans overcome PTSD. In sum, there’s no shortage of socially beneficial applications for virtual reality.

Education & Skills to Work in VR

According to Road to VR (2016), the demand for qualified professionals in this realm of software engineering was up 37 percent last year. Here are some of the typical educational requirements and skills for programmers seeking jobs in virtual reality

Education:

  • At least a bachelor’s degree in software engineering, computer science, VR, or a related field

Knowledge & Skills:

  • Knowledge of interactive modeling software, telemetry, graphics programming & rendering, VR systems (Vive, Oculus, PSVR), Matlab
  • Facility with C/C++, C#, Unity, Unreal, JavaScript, Robot Operating System (ROS), OpenGL, OpenCV, DirectX, Autodesk, Maya, Adobe Creative Cloud, Audacity, and/or Final Cut Pro

Also, not only does Stanford University boast one of the best software engineering departments in the world, it also is home to the one-of-a-kind Virtual Human Interaction Lab, which seeks to answer the following questions:

  • What are the social implications of using VR communication?
  • How can researchers leverage VR as a tool to study human interaction?
  • How can the developments in VR improve people’s lives in realms such as environmental conservation, empathy, and methods of communication?

4. Big Data

“The majority of applications build upon foundations provided by robust open source and commercial platforms for storing data, communications, security, and many other functions. This requires engineers to diligently comprehend and assess the appropriateness of the platform-level technologies they select. In an engineering world with so many competing technologies and products, this is a major challenge and a skill that differentiates high quality engineers from their peers.”

-Dr. Ian Gorton, Northeastern University

It’s no secret that the collection, analysis, and architecting of big data systems are growing exponentially in the modern economy. In addition to a vigorous demand for professionals such as data analysts, computer systems analysts, and data scientists, there are ample opportunities to develop projects which directly benefit the world. For example, Bumble Bee Watch is a crowdsourced app to promote the conservation of bees by tracking their location; at the University of California, Berkeley, data scientists pioneered a mapping method for charting (and georeferencing) biodiversity; IBM teamed up with the Nature Conservancy to help Brazilians protect the Amazon; and there are additional efforts by data scientists to protect polar bears, rare birds, rhinos, and Santa Cruz mountain lions. These are only a few of the benevolent applications of big data to environmentalism from recent years and there are many more uses in public health, large-scale scientific research, security, medicine, and more. To learn more about the philanthropic uses of data science in medicine, check out the free Coursera lectures Saving Lives with Big Data and Using Big Data to Save Patients.

Education & Skills to Work in Big Data

Similar to other sectors of software engineering, some big data professionals may substitute experience architecting data systems or contributing to open-sourced projects in lieu of having an advacned degree. Here are some of the typical requirements to work in big data:

Education:

  • At least a bachelor’s degree (master’s preferred) in software engineering, computer science, data science, or a related field

Knowledge & Skills:

  • Knowledge of data mining, building stream-processing systems & algorithms, NoSQL database technologies, ETL databases & workflows, lambda architecture, object-oriented design, statistical modeling
  • Facility with Hadoop-based technologies (e.g., MapReduce, MongoDB, Cassandra, HBase), data-querying tools (e.g., Pig, Impala, Hive, TeraData, Oracle), messaging systems (e.g., Kafka, RabbitMQ), programming languages (e.g., Python, C++, Linux, Java, Ruby), big data machine-learning tools (e.g., Mahout, H2O), and other tools such as Storm, Spark, Sqoop, Flume, Cloudera and Hortonworks

Finally, there are a few professional certifications for data experts to consider. Tom’s IT Pro (2016) analyzed the most in-demand credentials in big data across six popular job posting sites including SimplyHired, LinkedIn, and Indeed. According to the research, these were the top five credentials in the big data sector of software engineering:

Conclusion: Promoting Technology in Service to Society

For software engineers who want to do right by the world, there is a wealth of benevolent projects available tapping the tools of artificial intelligence, robotics, virtual reality, and big data.

One of the most oft-cited concerns about the rapid evolution of technology is its impact on American employment and public policy. Darrell M. West, the founding director of the Center for Technology Innovation at the Brookings Institution, published a piece on some policy-level solutions to the disruptive power of automation. West’s piece entitled “What Happens if Robots Take the Jobs?” (2015) posits the following measures:

  • Separating healthcare insurance, pensions, and disability benefits from employment
  • Establishing a guaranteed minimum income
  • Rewarding volunteerism
  • Reworking public education to better prepare students for the ascendancy of STEM fields
  • Promoting arts and culture for leisure time, ensuring that working less translates into mind-expanding pursuits

These are a few possible policy solutions to combat the growing pains of adopting evermore sophisticated technologies into our daily lives. As the developments in AI, robotics, VR, and big data continue to restructure our existence in unalterable ways, we need to examine how to best use technology for philanthropy. Above all, software engineers enjoy the privilege and responsibility to design systems which benefit people, and they may find their own lives richer and more meaningful as a result of exacting positive change in the world.

Related Features

Automotive Cybersecurity: Connected & Self-Driving Vehicles

This guide, intended for students and working professionals interested in entering the nascent field of automotive cybersecurity, describes some of the challenges involved in securing web-enabled vehicles, and features a growing number of university programs, companies, and people who are rising to meet those challenges.

Women in Cybersecurity: Challenges, Opportunities, and the Future of the Field

By 2020, there will be a need for 1.5 million new employees in the global information security workforce, and experts in the field are expressing concern that new entrants will fall short of this quota.

Artificial Intelligence Systems & Specializations: An Interview with Microsoft’s Sha Viswanathan

The ability of a computer to learn and problem solve (i.e., machine learning) is what makes AI different from any other major technological advances we’ve seen in the last century. More than simply assisting people with tasks, AI allows the technology to take the reins and improve processes without any help from humans.

Careers in Digital Marketing: Big Data & Social Analytics

The field of digital marketing intersects with many other tech industries and grew out of traditional theories of advertising, marketing, and sales. Just like traditional marketing, the goal is to reach your target customer base, build brand awareness, and make a meaningful, data-generating connection.

Tech 2020: What's Next in Software Engineering

The personal computer, the laptop, and the smartphone are all just chunks of raw material until they’re enlivened by software engineering. The modern world can’t run without it, and the future depends on it. So what’s next?