by Christopher H. Gorman, PhD, Research Engineer at MadHive
I work as a cryptographic research engineer at MadHive, a software company that leverages cryptography, blockchain, and artificial intelligence to power modern media. I will talk about cryptography and how I arrived at my current position. To make a long story short about industry careers, many opportunities exist for those who have doctorates in mathematics if one is willing to look and apply to jobs that do not have “mathematician” in the title.
My time during Graduate School
I did not plan or expect to become a cryptographer, and so first I will talk about my story. I graduated with a doctorate in mathematics from the University of California, Santa Barbara (UCSB). Originally, I wanted to study algebra, geometry, or topology, but my research interests changed, and my dissertation focused on numerical linear algebra and fast algorithms.
Like many other students, at the beginning of graduate school I wanted to become a mathematics professor. This career path is well-understood, even if becoming more challenging to accomplish. Although my professional aspirations were academic, I sought out mentors from family and friends who could give me general career advice. With help from my mentors, I interned at NASA’s Jet Propulsion Laboratory (JPL) and Lawrence Berkeley National Laboratory. One of my mentors explained that JPL is like a research university without the required teaching; national laboratories are similar. Although he did not want to turn me away from the academy, he wanted to open my eyes to other fulfilling career possibilities, as he knew how challenging it was to land a tenure-track position. I also did an internship at a local technology firm in order to see what industry is like. These internships showed me there are rewarding careers in industry or national labs if one is willing to look for them.
As I got closer to finishing up my doctoral program, I began to realize I missed being close to my family. It was then that I knew I should seek opportunities in the Midwest and try to find something I enjoyed. Although I had not completely turned away from academic positions, I knew I had a greater chance, and more flexibility, in my job search by looking at industry positions.
Applying for Industry Positions
It was unsettling not to have a job lined up when I received my doctorate, but before I graduated, I was already talking with multiple companies about potential openings. One of my mentors, who works in engineering, said that with my background I should look at systems or software engineering roles. Apparently companies frequently place mathematics majors as systems engineers, and dissertation work in a more applied area is helpful when applying to software engineering roles.
During this time, I joined LinkedIn and started connecting with friends and colleagues. When some of the initial applications did not result in job offers, I reached out to others for advice. One person was a technical recruiter who wanted to talk with me about a cryptography position. Cryptography had fascinated me because of its relation to spies and secrecy, although I had never ventured to look at it much. I took some time to prepare for the interview and learned as much as I could in a week. Although I was not offered that position, I continued to apply to cryptography roles and eventually interviewed at MadHive and received an offer. My manager was excited to see that I had a doctorate in mathematics, due to the difficult mathematics behind elliptic curve cryptography and pairing-based cryptography.
Mathematical Aspects of my Job
I primarily work with public-key cryptography. Most of it is related to elliptic curve cryptography (ECC) and pairing-based cryptography. One reason for choosing ECC over other methods such as RSA is due to the reduced storage requirements when storing public keys. ECC looks at the algebraic structure of elliptic curves over finite fields. It is here that a deep understanding of the underlying mathematics is beneficial.
Pairing-based cryptography uses bilinear pairings to produce smaller digital signatures. Currently, these bilinear pairings come from pairings on elliptic curves. The basic ideas are not too difficult to understand, even though it is nontrivial to construct these pairings. One particular project I have worked on is implementing a hash-to-curve algorithm used for creating digital signatures. This task entailed reading cryptography journal articles in order to understand the theory and then work on implementing the algorithms in multiple programming languages.
During my initial interview, I was asked by my boss if I could teach mathematics to engineers. This was because more of the software engineers will need to know cryptography and it would be good to have someone who could teach them. I said “Yes” and then chuckled to myself because most of the students I taught as a teaching assistant at UCSB studied engineering. Other people in my company have asked if I could explain some of these topics in a nontechnical manner in order to help them understand what is happening. The skill I gained during graduate school at explaining mathematical topics at different levels is certainly helpful. This skill is especially important in industry because it is usually the nontechnical business types who write the million-dollar checks.
Other Fun Aspects of my Job
Besides the mathematics, I love many other aspects of my job. I enjoy working in the research and development group of a technology startup. One of my mentors recommended working for a startup (he has worked for multiple ones) because of everything else that one learns. This became clear from my first three days of work: the first day was spent learning about cryptography; the second day I worked on a statistics problem; on the third day I examined software licenses to protect intellectual property. I have also learned on the job about finance and economics in order to better understand blockchain and cryptocurrencies.
General Career Advice From Other People
Below are suggestions I was either told or found out for myself while searching for a job in industry. I hope they are helpful to you too.
- I was a little concerned about looking for a career in industry because I was working towards my doctorate in mathematics and not one in science or engineering. One mentor responded by saying “A STEM PhD means that you can solve hard, technical problems. In industry, we have hard, technical problems, and we will pay you to solve them.” Even though you may not meet all of the job requirements, you may still have a chance.
- When applying to jobs, I looked at many different positions. They mainly focused on software or systems engineering. With my dissertation focusing on the development, analysis, and implementation of fast algorithms, software development seemed like a natural choice. When talking with other engineers, it appears math majors are usually directed toward systems engineering positions at engineering firms due to the abstract thinking capabilities. This does not mean one’s dissertation research must be in applied mathematics.
- The sooner you prepare for a career in industry, the better. Even if you think you have no interest, it may be beneficial to be exposed to what happens in industry and what jobs are available. If you are interested in a particular area (especially if it is not related to your previous work), spend time learning about the new field in order to understand the big picture. After a recruiter said I may be a good fit for a cryptography position, I spent a lot of time reading about cryptography and applied to other similar positions. Those applications led me to my current position and career path.
- If at all possible, do an internship. Employers like seeing experience and want to hear from someone other than your advisor that you worked hard. Also, I worked with fellow graduate students on a group project that eventually led to a publication that was helpful in obtaining a job in industry.
- Expand your network. Reconnect with people you worked with as an undergraduate or during your graduate studies. Also look for people further along in their careers who could give you some guidance.
- In a similar vein, seek out mentors who are well-established in their careers whom you can ask for guidance and who may be willing to help you and point you in a good direction. Friends your own age might be able to help you, but someone 5, 10, or 20 years older than you probably knows a lot more and has more connections. One of my mentors remarked that “The systems engineers where I work are a little overwhelmed with work and could use some help. I think you would be able to help them – you should apply for an internship.” This conversation eventually led to an internship during graduate school.
- Seeking out mentors is especially important if you are looking for industry positions and no one else you know is doing so. Outside of family, mentors could be found in church, volunteer organizations, or other hobbies; any place where you can meet people of all ages who share similar interests with you and get to know you.
Many career possibilities are open to those who study mathematics. Cryptography is one possible field, and as I found, one may pivot into it even after studying other areas in graduate school. What will your path be?