A random walk toward a net positive

by Derek Kane, Deka Research and Development  dgkane64@gmail.com

Today, I am investigating whether magnetic resonance imaging can evaluate cell viability as we attempt to grow replacement organs: hearts, lungs, kidneys, etc., for patients who need transplants. I believe the child I was at five would approve. Of course, I also have a two hour meeting this afternoon to read C++ code to ensure that it not only performs its intended task, but also conforms to DEKA’s formatting standards. Even the coolest job, and I have a very cool job, includes drudgery and paperwork.

Avoiding boredom was my earliest career goal. My undergraduate degree was mechanical engineering, and my brother got me a job with him at Itek Optical Systems. Itek made cameras and telescopes, largely for the Department of Defense. The engineering challenges were fascinating, but the analysis and algorithm aspects of the work excited me much more than traditional mechanical engineering. However, my lack of deep mathematical training limited the analyses and algorithm development I could handle. At this job, I also noticed two career paths: one group of older engineers became middle managers whose work looked unbearably dull and who seemed very vulnerable to layoffs. A smaller group of engineers, including my boss, served as technical experts. When a new and innovative solution was required, or when a program stalled because a physical or computational challenge could not be overcome, these experts were consulted. I wanted this job.

I decided I also wanted to attend graduate school in mathematics. The deeper understanding of mathematics would enable me to comprehend and address a wider range of analytic and algorithmic problems. Additionally, a PhD provides gravitas when working with other engineers in industry. An engineer with a bachelor’s degree must have a large volume of high quality and high visibility work, before their opinions are considered seriously outside of the company where they work. While there are a great many fools who have doctorates, when you are sitting around a table with several PhDs, it is handy to have your own so you are part of the club.

To prepare for graduate school, I took one or two undergraduate math classes every semester for two and a half years while working. In the process, I discovered that math was beautiful as well as useful. The University of Michigan accepted me into their graduate program, and I studied algebraic group theory, intending to become a professor after graduation. Graduate school also proved an ideal environment to enjoy my two small children. However, as I approached my defense the academic job market was drying up. I could look forward to a series of one or two year positions before finding a tenure-track job. With two children, this prospect was unattractive, so I decided to return to industry.

My previous experience with optics enabled me to join a laser-based project at Lockheed Martin. This project offered the opportunity to work with inertial systems, and this experience made me attractive to Deka Research & Development. Deka was developing the iBot (an inertially stabilized wheelchair capable of traversing rough terrain, curbs and stairs) and the Segway (an inertially stabilized, two-wheel vehicle).

Dean Kamen, the founder of Deka, feels that we should only be working on jobs that are hard and that positively affect many people. The range of work I get to join is varied and exciting: mobility for people who can’t walk, prosthetics for people who have lost arms, clean water for people who will never get utilities from their governments, hearing improvement, safe delivery of drugs, improved dialysis for people with kidney failure, several projects I cannot talk about, and most recently growing new organs for people in need of transplants.

The range of disciplines this allows me to sample is equally wide ranging: thermodynamics, electro-magnetics, computer modeling of liquids, exotic signal processing, statistics, optics, big data analysis, synthetic biology, human-machine interfaces, colloidal flows, causality, complexity, numerical solution of differential equations, etc. Mathematical training allows me to move from discipline to discipline, because at its core, each of these topics depends upon a quantitative approach to understanding data, modeling relationships, and predicting outcomes. Grad school supplemented this flexibility by demonstrating that hard work and research can overcome difficult technical problems. You should leave grad school feeling that if another human has managed to solve a problem and write it down, then you can read their work and understand it.

Today, it is almost twenty-one years since I defended my thesis. I anticipate another twenty-one years of professional life, although I am aiming for at least forty more years. At the beginning of my career, my primary concerns were staying employed and working on exciting projects. Now, I am becoming concerned with why I do the work I do, and whether this work is a net good for the world.

I left the defense industry seventeen years ago, primarily for the selfish reason that it had become wearing and grating to put up with the intrusiveness of security clearances, and because commercial industry was tackling more interesting technical challenges than defense. It is absolutely true that there are sound moral arguments for working for defense, but I never really thought about the ethical justification of my work. I have been extraordinarily fortunate to land at a company where I am sure that my work is contributing to society.

I am largely comfortable with what I worked on, but I regret not seriously considering the moral implications of my early projects. Young mathematicians have complex lives; they need to support families, establish reputations and orient themselves in a world bursting with opportunities. However, it is also very valuable to develop an understanding of the non-technical world: history, culture and philosophy. This helps us avoid choices that make it hard to sleep as we get older. Older mathematicians have reputations, authority and time to reflect. It is morally incumbent that we provide opportunities for young mathematicians, guide them to interesting work, and protect them from external forces who would inappropriately exploit their talents.

CC BY-NC-ND

Advertisements

Academia trained me for a BIG career

 OLYMPUS DIGITAL CAMERA
by Peter D. Horn

I am honored to share some career advice with the young and mathematically-inclined. When I fit that description, I felt a lack of diversity in the opinions and advice I was hearing from my mentors. This wasn’t their fault, but mine. Classic case of selection bias, as I only sought advice from my professors.  My first recommendation is to connect with many math folks who have walked a variety of paths to get a sense of what is out there (reading the posts on this blog is a great first step!).

When I was finishing up my math major, I felt there was more math for me to learn, and I went on to get a PhD in low-dimensional topology. As a grad student, I was encouraged to pursue a postdoc. By the time I was deep into my postdoc, I had a tenure-track job in my sights. It wasn’t until my third year into a tenure-track position that I evaluated my career choice and realized I would be happier doing something else.

I reached out to a few friends from grad school who went into government and industry, as well as a couple former academics who transferred to tech and finance jobs.  I did a little research to see what was out there, and found “data science” to be a broad enough field to entertain my intellectual curiosities (e.g. machine learning algorithms) while providing plenty of job security (i.e. strong business demand).  Currently, I am a data scientist at the MITRE Corporation, a non-profit company that does R&D for many federal agencies.  I love working at MITRE because I get to define what type of data scientist I want to be.  In my first year, I worked on research projects involving machine learning and agent-based models to drive policy analysis, and I prototyped a web-based simulation tool to explore workforce strategies for the VA.  It’s great to be at a company where the work is challenging and impactful.

While in the transition to industry, I realized that much of my academic training and some of my hobbies positioned me to be an attractive candidate.  As a math major/PhD candidate/professor, I had accrued a ton of experience teaching myself complex, abstract concepts. Employers seek out job candidates who can demonstrate the ability to pick up new things quickly.  Working in help centers/recitations/lectures, I had accrued a ton of experience explaining deep, technical material to non-technical audiences.  Employers like to hire teachers because they can put you in front of customers or use you to mentor young staff.  As a mathematician, you have surely gained similar experience.  Find a way to brag about your superpowers!

You’re going to need programming skills.  In my journey, I was lucky to have learned to code.  In college, I learned a bit of Java in CS 101.  In grad school, the math department hired me by the hour to maintain their website.  I chose to write up my homework in LaTeX.  Frequently, I would need to do some computations in Mathematica, Maple, Matlab, or Sage.  As a postdoc, I got bored one summer and wrote a couple of card games in Objective-C.  For a research paper, I needed to diagonalize some matrices over a non-commutative base ring, and I wrote the code to do this from scratch in Python.  Before I had even heard of data science, I had ten programming/markup languages under my belt, and I put all of them on my resumé to show employers that I am comfortable writing code.  If you don’t have experience programming, I recommend you pick up Python. It’s a good general purpose language.  Pick a project and use Python to attack it (e.g. implement matrix multiplication from scratch).

The last piece of advice I have is to acquire domain knowledge and to network. The biggest hurdle I had in my journey was learning to communicate with potential employers.  I decided to take online courses in data analytics and machine learning, and these courses taught me what people in industry care about, how they talk, and what tools they use.  I also participated in some coding and data science competitions online.  Since I had a noticable lack of business experience, these competitions were something I could point to as proof that I could do data science.  I would also recommend attending meetups in your area. In my experience, meetup people are very friendly and helpful.

Transitioning out of academia was scary, but it has been one of my best decisions.  At first I was worried I wouldn’t be what employers were looking for, but I learned that many employers want to build companies with people from diverse backgrounds. Don’t worry about trying to fit the mold.  Reach out to friends, former classmates, and friends of friends, and you will find all the support you need.

5 CS skills I wish I learned in college

      

Lindsay Hall, Software Engineer (Google NYC)

I started working full-time as a software engineer Lindsay_Hall_1(SWE) at Google NYC in 2012, after graduating from Harvey Mudd College with a degree in Math and Computer Science. Prior to joining full-time, I did 3 SWE internships with Google, working at YouTube in the San Bruno office and with the Google Docs team in NYC.

By the time I did my first technical interview with Google, I was fortunate enough to have learned the skills and Lindsay_Hall_2topics usually covered in these interviews, which tend to focus on coding, algorithms, and data structures. In general, if you can pass a Google technical interview, you can learn the rest of the skills on the job, but there are some key areas where I wish I’d been better prepared in college.

A college degree is generally supposed to prepare you for a job in that field (hopefully we can all agree on that). Obviously, software engineering isn’t the only field you can enter with a degree in computer science, but there are over 1 million software engineers in the United States, and the field is expected to grow by almost 20% by 2024. Are college-level CS programs really teaching the skills required for students to become professional software developers? Well, yes and no. Here are some of the topics I think were covered well in my program, and some of the areas I think were lacking.

Things that my college program did well

Many of the skills I learned during my time at Harvey Mudd College continue to be invaluable to my job at Google. These include:

  • A rigorous background in algorithms and data structures
  • Coding knowledge, including experience coding in multiple languages (Python, Java, C++, and others) and an understanding of the difference between various types of programming languages
  • Experience working closely with other engineers to solve problems together
  • Practice explaining technical concepts to an audience, either in written or presentation form
  • An understanding of how computer science can be used to solve problems outside of purely technical fields

5 things I wish my college program had taught me

Despite all of the amazing, important things I learned in college, I spend most of my day doing things that I never learned how to do before joining Google. Here are 5 topics that are critical to my day-to-day job at Google that I think should be required learning for all college CS students.

1- Working in an existing codebase

Unless you’re founding your own start-up, it’s highly unlikely you’re going to be writing any significant code from scratch as a SWE. The very first skill I had to learn at Google was how to read and understand the existing code for my project, and how to integrate my changes into that codebase while adhering to the design patterns already in place.

College CS courses tend to focus on writing code from scratch, or implementing methods in an existing class. I’ve never heard of a class which required students to understand and make changes to an large, pre-existing codebase (although such a class might exist!). This is a crucial skill for future software developers and one that should be stressed in college curriculums.

2- Testing code

Writing automated tests for your code is a huge part of working in a large codebase. Tests help ensure the correctness of your code, provide information about the expected behavior of methods/classes, and protect your codebase against future regressions. Test-driven development is also a popular strategy for software development at many companies.

A few of my college courses required students to write unit tests for their code, although there was never any emphasis on testing strategies or best practices for writing unit tests. While unit testing is a big part of  the test suite at many companies, other types of testing are critical as well, including integration testing, screenshot testing, and automated testing of production code using a prober or a bot. Understanding testing practices and the importance of different testing approaches is critical to working as a SWE, especially at a large company.

3- Writing design documents

As I mentioned earlier, I was fortunate to attend a college that placed a strong emphasis on technical communication, both written and verbal. I would say the single most important thing I do in my day is communicate with my coworkers, whether it be about code that I’m writing, code that they’re writing, or a design that we’re working on together.

A design doc is a key component to working on a project at Google. Before you start writing code, you need to outline your proposed changes in a format that can be easily shared with your team members and reviewed by at least one coworker. Doing these reviews before you start coding saves a lot of time and energy, since you can iterate quickly on various design ideas without having to update your code each time. Learning how/when/why to write a design doc or proposal is a skill I wish I had learned before starting at Google.

4- Conducting code reviews

Many companies adhere to a code-review process where every line of code that’s submitted to the codebase is reviewed by at least 1 other engineer. This allows for a 2nd pair of eyes to catch bugs and suggest improvements, and also helps to spread knowledge among the team (so that at least 2 people know how all of the recently-submitted code works). Learning to review someone else’s code for correctness, style, and good design is an important skill. Also, it’s important to learn how to have your code reviewed, and how to take feedback and suggestions (and when to push back on those suggestions).

5- Working on large-group projects

At Google, there are often many working on a single project at any given time. In those situations, it is critical to break up the work in such a way that peoples’ changes don’t conflict with each other, and everyone can be productive without being blocked on someone else’s changes. Learning how to parallelize the tasks in a project and coordinate across a large number of engineers is a critical skill. While some college courses encourage or require group work, most don’t require students to work in groups larger than 3-4. Learning how to manage a long-term, multi-person project as part of a CS class would be a large benefit.

About the author:
Lindsay Hall is a software engineer at Google. She joined Google full-time in 2012, where she started working on the Google Docs web team. Since then, she has worked on Google Slides (both web and Android), the Docs performance team, and currently works on the Google Sites front-end web team. Prior to joining Google, Lindsay attended Harvey Mudd College where she gained a BS in Math and Computer Science. While at Mudd, she completed 3 software engineering internships with Google, working on YouTube and Google Docs. In her free time, Lindsay enjoys taking aerial silks classes and swimming on the Bearcat Masters swim team.

CC BY-NC-ND

Blogpost: Parsa Bakhtary

fb_live

It is humbling to address future and current mathematicians, but as a former algebraic geometer myself, I will do my best to share with you my story. I work as a data scientist, which the Harvard Business Review in 2012 dubbed “the sexiest job of the 21st century,” at Facebook, which has been ranked by Glassdoor as one of the best companies for which to work. The path that led me from an eager math student who despised applications to where I am today has been a strange one, but the lessons I learned in my undergraduate and graduate math classes have had a profound impact on my ability to analyze concrete problems in industry.

After earning a B.S. in mathematics at UC Davis, I took a year off in which I decided to pursue a graduate education in the same subject. Seven years later, I finally received my doctorate from Purdue University, having written a thesis in the subject of algebraic geometry, and I was eager to take the path which would lead me towards a professorship somewhere. Unfortunately, I was unable to find a post doc in my home country of the US, so I took a position in Saudi Arabia at King Fahd University of Petroleum & Minerals, teaching calculus to aspiring petroleum engineers and occasionally publishing a paper. After three years there, I missed California and returned unemployed in the summer of 2012.

I quickly realized the job market for math professors wasn’t promising at the time, so I started looking for industry positions that would be suitable for someone with my background. After extensive Googling, I realized “data scientist” sounded like something I could do. I taught myself some Python and SQL, practiced analyzing and visualizing publicly available data sets in R and Excel, then started applying. After six months of unemployment, I caught a break and was offered a position at a startup in Chicago. The rest, as they say, is history.

My job at Facebook is unique in its flexibility and often quite challenging, though perhaps not in the same way as algebraic geometry. I have worked on game ranking, platform ecosystem health, comment ranking, celebrity usage patterns on Instagram, and discussion of TV show content on Facebook. I was lucky to be the first data scientist on Facebook Live when it launched, and our team helped grow it into one of the biggest live-streaming platforms in the world. The problems I work to solve can either be very technical, involving complex modeling and simulation, or it can be investigatory, requiring me to search for an explanation of an unusual phenomenon, or it can even be exploratory, such as trying to answer vague questions like “What makes a mobile game fun?”

The analytical training that we mathematicians receive put us at a unique advantage in the field of data science. The rigor we’re accustomed to help us break down a general question into concrete analytical pieces which we can answer with data. It is easy for us to spot errors in thinking, or situations where the evidence doesn’t actually answer the question. After learning some basic statistics and the familiarity with an analytical data manipulation environment (e.g. R or Excel), any mathematician can rapidly become a data scientist. The field of data science is also vast, as one can focus on subfields such as product analytics, visualization, or machine learning.

The biggest misconception people have about data science is that they think we all know how to program and have spent many years writing code. While some familiarity with SQL and analytical software is often desired, we are not programmers. We are, if anything, the voice of evidence at a company. We are there to help shape our colleagues’ understanding and intuition based on the data that we see, and to give actionable recommendations that will improve existing products and help define the appropriate strategies. It’s a fun job, and a great option for all mathematicians interested in industry.

parsa_thumbsup

CC BY-NC-ND

Lost in translation: Academic work beyond academia

Carrie_Diaz Eaton
In the airport again, in an #awkwardboardingselfie for #jmm2017

 

IUSE_Carrie
Listening to interdisciplinary conversations as part of IUSE grant SUMMIT-P
Qubes
QUBESHub.org

 

Dr. Carrie Diaz Eaton, Unity College

I have a pretty unusual set of grants. The skill set for my grants is the same: working with a variety of people from a variety of different backgrounds and disciplines to advance quantitative skills. For one of these grants, QUBES (Quantitative Undergraduate Biology Education and Synthesis, qubeshub.org), I am the QUBES Consortium liaison. My job is to reach out to all sorts of partner organizations, institutions, professional societies and faculty members interested in improving the quantitative skills of all students in life science. This means that I help people make connections across disciplinary silos, travel to conferences, hold leaderships positions in interdisciplinary undergraduate mathematics education, help write collaborative grants, manage budgets, manage communications, and assist in forming strategic partnership agreements. It turns out that my dissertation research in systems theory paid off quite well, since it turns out that social change theory and systems theory are more related than one would think.

That seems like a pretty academic outreach job description, right? But you can get a lot of the same skills through leadership positions at your own university. This isn’t my first experience working across disciplines. I was a President of the Spanish Language Club in college, on the executive board of my Service Sorority, had interdisciplinary course training in biology (including ecology, wildlife, and marine science) and mathematics (including computing and statistics). In grad school, I participated in interdisciplinary university-wide teaching training and book discussions. As faculty at a small liberal arts school, I formed a college-wide teaching discussion group, advised and employed students from a variety of majors, and collaborated with faculty in different departments to improve writing and applications in my math courses. I have also served on several college-wide committees including the general education committee and an accreditation committee, which also has forced me to collaborate regularly with a diverse set of stakeholders.

So how do these academic skills translate beyond academia? Here are some keywords:

  • Non-profit development and partnerships,
  • Working with a diverse set of colleagues across the world,
  • Grant and report writing,
  • Statistics and big data trends,
  • Careers in environmental biology,
  • Mathematical modeling education, undergraduate biology education research (and pretty much everything about the guiding document in biology, Vision and Change),
  • Systems thinking for social movement, systems change theory,
  • Project evaluation,
  • Grant and project management, organizational planning and workflow, team leadership,
  • Social media marketing,
  • 101 tips for travel to anywhere from Bangor, Maine (okay, maybe this is less relevant for most jobs, but I’m a fountain of information about direct flight options from the airports in my state),
  • and more…. *Whew*.

Best learning on the job ever, but on the other hand when people wonder what I do on grant time….

 

Blogpost: How mathematics can fight the abuse of big data algorithms

Image 20161007 8987 px0lhk

Reprinted with permission from Alan Richard Champneys, University of Bristol

“Is maths creating an unfair society?” That seems to be the question on many people’s lips. The rise of big data and the use of algorithms by organisations has left many blaming mathematics for modern society’s ills – refusing people cheap insurance, giving false credit ratings, or even deciding who to interview for a job.

We have been here before. Following the banking crisis of 2008, some argued that it was a mathematical formula that felled Wall Street. The theory goes that the same model that was used to price sub-prime mortgages was used for years to price life assurance policies. Once it was established that dying soon after a loved one (yes, of a broken heart) was a statistical probability, a formula was developed to work out what the increased risk levels were.

In the same way that an actuary can tell how likely it is that a loved one will die soon after their partner, a formula was used to predict how likely it was that a person or company would default on a loan. Specifically, it was applied to predicting the risk of two subprime mortgages co-defaulting.

The formula ended up being very wrong. If I default on my mortgage, there is a good chance it is because of a downturn in the economy. So my neighbour, who is in similar socio-economic bracket as me, is pretty likely to default, too. This effect is an order of magnitude stronger than the broken-heart coefficient would predict. So apparently the maths was at fault. Big time.

Did an algorithm gone wrong cause the housing crisis?
shutterstock.com

Why didn’t the mathematicians notice? Well, in fact they did, argues Paul Embrechts, a leading financial mathematician who runs the risk lab based at ETH, the Swiss Federal Technical University in Zurich. But few were listening. Embrechts explains it was the blind use of a forumla way outside of its region of validity that was at fault. There was nothing wrong with the formula, it just didn’t apply (as the mathematicians had already shown). Unfortunately, the industry was “stuck in a classic positive feedback loop which no party wanted to walk away from”. Blaming the maths “is akin to blaming Einstein’s E=mc² formula for the destruction wreaked by the atomic bomb”.

Lessons still to learn

There was a lack of appreciation of the difference between risk (something that is priced by the quants – the name the financial services industry gives to mathematicians and data analysts) and uncertainty (what can go very wrong). The Basel Committee on Banking Supervision, in response to the global banking crisis, made it clear that banks must make an explicit assessment of this uncertainty and that different scenarios must be tested.

However, it seems that the banking industry may not yet have learned this lesson, and here I shall change a few details for obvious reasons. I have a friend, with a PhD in mathematics, who recently worked in the City of London, ensuring products sold by a leading financial institution were risk free. He was shocked by what was going on.

Policies are still being sold according to a formula that predicts the company’s profitability. Then a separate team applies simple linear regression (changing a parameter to see how much a value changes by) to “assure” the product against risk. This is to satisfy the requirement of the regulatory authorities.

However, there is little understanding among them of the mathematical theory behind what they are doing and a strong culture in the team to return the answer that all is fine. No possibility is allowed that the fundamentals of the pricing model may have been wrong in the first place, or that risk and uncertainty should be handled in tandem with profitability when the product is constructed.

Critical use of formulae

So the nub of the problem is not that mathematics is to blame, but that in our quantitative world there is often a lack of mathematical understanding among those who are blindly using formulae derived by the experts.

This idea, is in fact the key point of a recent book by Cathy O’Neil, Weapons of Math Destruction. She is not describing the dangers of mathematics per se, but the algorithms used in conjunction with “big data” that are increasingly being used by advertisers, retailers, insurers and various government authorities to make decisions based on what they have profiled about us. She is an advocate for mathematics and for “machine learning” (or artificial intelligence). But what her book seeks to argue against is the use of these algorithms without thought or without feedback.

Don’t blame the maths when the computer says ‘no’.
from http://www.shutterstock.com

The popular TV sketch show series Little Britain had a recurring scene involving a member of the public repeatedly being told by a customer service assistant sat behind a computer screen that “the computer says no”. It is funny, because it is an experience that most of us can identify with.

But the problem is not the computer, nor necessarily the algorithm it is running, but the inability of the person behind the computer to use their common sense. Instead of the computer informing their decision-making process, they are ruled by what it says.

In the mathematical and data modelling classes colleagues and I teach, we encourage students to apply the scientific method to a raft of different problems from across a variety of sectors. Predictions should not just be based on mathematics models and algorithms, but constantly tested against real data. This is an iterative process and lies at the heart of what mathematics is about.

The lesson would seem to be that we need to inculcate more of this kind of thinking in society. As we enter the big data era, rather than mathematics being to blame, it is the lack of mathematical understanding in many key businesses that is at fault. We need more mathematical thinking, not less.

The Conversation

Alan Richard Champneys, Professor of Applied Nonlinear Mathematics, University of Bristol

This article was originally published on The Conversation. Read the original article.