NSF-IPAM Workshop – 2017 UPDATE


NSF-IPAM Mathematical Sciences Internship Workshop

Full report available here.


The report above reflects discussions and recommendation from the September 1-2, 2015 NSF-IPAM Mathematical Sciences Internship Workshop held at the Institute for Pure and Applied Mathematics (IPAM) at UCLA. The workshop was organized by Russel Caflisch, Mathematics, UCLA; Alan Lee, VP of Engineering, Advanced Micro Devices (AMD); Rachel Levy, Mathematics, Harvey Mudd College (facilitator) and James L Rosenberger, Statistics, Penn State. The diverse group of participants brought perspectives from academic (college/university, public/private), business (large/small) and governmental institutions as well as many areas of the mathematical sciences.

The goal of the two-day workshop was to discuss recommendations for infrastructure and programs.

The BIG Math Network has adopted the goals of the workshop to:

  • increase the number of internships targeting mathematical sciences students
  • open the internship pipeline to a diverse group of students
  • provide assistance with timing and logistics for undergraduates, graduate students and postdocs in pure and applied mathematics
  • provide training to prepare mathematical sciences students for internships
  • develop viable models of how internships best work for mathematical sciences students, postdocs and faculty and for industry/government

During the workshop participants spent two sessions in one of the following working groups: support, training, logistics, recruiting, culture. They also rotated to two other groups, participated in a charrette to respond to general questions, and provided comments in several all-group sessions. With the intentional overlap between topics and exchange between members of different groups, many ideas arose which resonated across the groups. This report represents central ideas that had strong support, as well as questions and considerations raised by the participants.

The following recommendations resonated across the working groups on support, training, logistics, recruiting, and culture. A target of 1000 graduate internships per year was suggested to meet the demand for internships arising from the strong production of Mathematics PhDs, and the large numbers of students pursuing BIG (Business, Industry, Government) careers after the undergraduate and Master’s levels. The recommendations are related as a distributed network, with different goals at each level.

Distributed Network Internship Initiative

National level: Create a national network to increase internship information exchange, data collection, access and opportunities

  • Design and implement a data-gathering project to inform a picture of the mathematical sciences internship landscape and provide baseline data for new initiatives.  UPDATE:  Efforts in this area are underway by the CBMS Research Advisory Group and AMS.
  • Provide communication and coordination of best practices, training materials and opportunities, models for local programs, and media to aid regional and local outreach efforts.  UPDATE:  The BIG Math Network is serving this purpose.
  • Build a national network of individuals, companies, government labs, academic institutions, math societies and mathematical sciences institutes to exchange information and work together to increase and advertise internship opportunities.  UPDATE:  The BIG Math Network is serving this purpose.
  • Develop funding mechanisms and pursue funding for mathematical sciences internship stipends (seed money), internship training and internship development.  UPDATE:  The NSF has started an internship program in collaboration with the national labs.  Other funding pathways are primarily through regular hiring mechanisms or departmental arrangements.

Regional level: Establish regional internship centers to build internship contacts and organize training opportunities  UPDATE: BIG Math Network is seeking funding for a new Northeastern US hub based on existing efforts at the University of Illinois, Urbana-Champaign.

  • Build internship contacts and opportunities in the region
  • Offer centralized training (that could be replicated locally), such as short courses in programming, soft skills and data.
  • Hire internship development staff to serve as liaisons between local institutions and potential internship sites and to promote mathematical sciences internships in BIG by communicating how mathematical sciences students make contributions.

Local academic level: Encourage and enable student participation in internships in mathematical sciences departments. UPDATE:  BIG Math Network is running workshops that help departmental leaders identify and prioritize new initiatives.  First workshop was held at a Spring 2017 TPSE Chair+1 Meeting at UMBC.  Second workshop will be a Minitutorial at the 2017 SIAM Annual Meeting.  Contact us for assistance running a workshop in your department or region.

  • Encourage students to pursue training and internships.
  • Disseminate information from national and regional organizations.
  • Identify the department chair, director of graduate study, or an interested faculty member to build local institutional mechanisms for internships.


Free AAAS Career Webinar

AAAS Career Development Center logo

Webcast: Transitioning into a Non-academic Career
Tuesday, June 2012:00-1:00 p.m. EDTRegister now

This workshop explores the skills and best practices for transitioning from an academic environment to one of many non-academic career paths. It introduces strategies for career planning, emphasizing an ongoing process for professional development throughout your career.

Join us for this FREE webcast!

Presenter: Josh Henkin, PhD – Founder, STEM Career Services, LLC

Josh Henkin
Josh is the founder of STEM Career Services, a career coaching company aimed at helping STEM graduates launch and sustain careers outside of academia. He conducts workshops at conferences, universities and institutes across the country and provides career coaching to STEM graduates at all levels of their careers. Josh sits on the National Postdoctoral Association Board of Directors. He is also an AAAS Science and Technology Policy Fellow Alum, AAAS member, and is an AAAS Career Development Center subject matter expert.


  • Being strategic in your career planning
  • What skills you need for non-academic jobs and how to acquire these skills while still in the lab
  • Networking as a part of life
  • Crafting your “elevator pitch”
  • How to create a master resume (inclusive of all your skills)
  • Creating position-specific resumes
  • Ample time will be provided for Q&A with Josh

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.


Blogpost: Parsa Bakhtary


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.



Blogpost: What are the obstacles to Math students entering BIG careers?


by Dr. William D. Stone, Dean of Arts & Sciences and Professor of Mathematics, New Mexico Tech Mathematics Department

A strong Mathematical background is an excellent preparation for many exciting careers in business, industry, and government. So why don’t more of our students think in terms of these careers? I see two reasons.

The first reason I see, is that many faculty feel uncomfortable advising students into these paths, since they don’t have much experience with industry. Most of us went from college, to graduate school, to a faculty position. We don’t know that much about what a Mathematician does in a BIG career.

This is not an insurmountable problem. Do you have former students who have gone to industry jobs? Invite them back to talk to your Math Club. Or contact a BIG-SIGMAA member in your section and invite them to talk about what they do. Some of your students might get excited. Some students who may not have considered a math major, since they didn’t see career paths other than teaching, may now think about joining your department.

Another obstacle can be faculty attitude. If we think of it as a failure when one of our graduate students goes into a non-academic career, that attitude is conveyed even if we don’t say it directly.

To me, this attitude is short-sighted. Many students want to work on real, applied problems. We should be welcoming them into Mathematics, and helping them on their path. The more that scientists and engineers see the value of a mathematician on their research teams, the better for our profession. When we have students out in industry, we may find ourselves being drawn into some very interesting problems, with genuine consequences. It’s a win-win all around!

BIG Math Job Titles (hint…usually not mathematical scientist)

The BIG Math Network would like to collect a list of BIG Math Job Titles to help job seekers search for and identify opportunities.  If you don’t see your job title on the list, please email it to bigmathnetwork@gmail.com or ping us on Twitter at @bigmathnetwork with the hashtag #bigmathjob.

Job titles  (often with junior or senior in front)

  • Actuary
  • Analyst
  • Analytics Consultant
  • Analytics Manager
  • Applied Mathematics Researcher
  • Associate Editor
  • Biostatistician
  • Business Analyst
  • Business Intelligence Developer
  • Claims Specialist
  • Consultant
  • Cryptanalyst
  • Cryptographer
  • Data Analyst
  • Data Engineer
  • Data Operations Associate
  • Data Processing Specialist
  • Data Scientist
  • Director of Math Tutorial Curriculum
  • Engineer
  • Forecast Analyst
  • Functional Analyst
  • Game designer/slot game designer/game mathematician
  • Geolocation Engineer
  • Global Pricing Analyst
  • Guidance and Navigation Engineer
  • Informatics Scientist
  • Information Analyst
  • Investment Analytics Quant
  • Manager
  • Math Curriculum Coach
  • Math Curriculum Consultant
  • Mathematician
  • Modeler
  • Modeling Engineer
  • Operations Researcher
  • Operations Support Specialist
  • Pharmacokineticist
  • PK/PD Modeler
  • Planner
  • Principal Scientist
  • Product Manager
  • Program Manager
  • Programmer
  • Project Manager
  • Quality Systems and Compliance Manager
  • Quantitative Analyst
  • Quantitative Developer
  • Quantitative Pharmacologist
  • Quantitative Researcher
  • Quantitative Scientist
  • Quantitative Software Engineer
  • Reporting Engineer
  • Research and Development Engineer
  • Research Analyst
  • Researcher
  • Research Scientist
  • Risk Analyst
  • Risk Strategist
  • Scientist
  • Simulation Engineer
  • Software Engineer
  • Staff Scientist
  • Statistician
  • Strategist
  • Supply Chain Analyst
  • Systems Engineer
  • Technical Staff
  • Tutor