Women transitioning to tech: Meet Google software engineer Emily Caveness
Emily Caveness graduated from Rice University with a B.A. in English. She then earned a Doctor of Jurisprudence degree from Harvard Law School. Emily practiced law, primarily as a commercial litigator, for over 6 years. Following her personal interest in software engineering, Emily went back to school and graduated from Oregon State University with a Bachelor of Science degree in Computer Science.
She started working at Google in March 2018 as part of the company’s Engineering Residency Program, and Emily is currently a Google Software Engineer working on Tensorflow Data Validation. We asked Emily about her career change to engineering as well as her advice to women interested in making a similar transition into tech.
How and why did you begin working at Google?
My path to Google is a little nontraditional. I practiced law for several years before going down the path to becoming a software engineer. I started coding as a hobby while I was still practicing as a lawyer. One thing led to the next, and I decided to jump with both feet into this career change to software engineering.
I went back to school and got a degree in Computer Science. When it was time for me to start my new career, I obviously knew about Google and the impact that Google has on the world. I submitted an application, and my recruiter told me about the Engineering Residency Program, which was particularly interesting to me because of my professional transition.
How does your background influence your work?
I could talk all day about parallels between practicing law and being a software engineer. However, there are two key things from my life as a lawyer that influence my life as a software engineer.
The first one is the fundamental importance of clarity—making things as simple and intuitive as possible. The ability to summarize and clarify is a huge part of being a litigator. As a lawyer, you might work on a case for months, if not years, and then you have to boil it down into a clear summary that a judge or a jury can easily understand.
That same idea of making things as clear, simple and intuitive as possible, even for complex problems, works well in the software engineering world. It is hard in both fields, and it's something I'm continuing to work on. The value of clarifying and simplifying is definitely important.
The need for continuous learning is another carryover from my career as a lawyer. You should always be growing and increasing your skills. It is something that as a lawyer you do every day. You are not done when you graduate from law school. You are never done learning. The same thing is true in software engineering.
There is no point when you reach the finish line. You will never have all the knowledge you could use as an effective software engineer. It is important to continue to learn, to recognize the value of learning and to actually be energized by continuous learning.
Why is software engineering important?
I work on an open-source software product called Tensorflow Data Validation. It helps people who are building machine learning applications better understand and identify potential problems in their data. That improves the process of building machine learning-based applications, and it makes those applications more impactful.
So, I am helping people who build machine learning applications be more effective in their jobs.
Software engineering is important because it influences society, both directly and indirectly, and its impact, especially through machine learning, will continue to grow.
As I look at the world around me, I see very few things that aren’t influenced by the products that software engineers build every day. And the products that machine learning engineers are building have increasingly high impact on the world around us.
What inspires you most about your work?
I am inspired by the fact that there is unlimited potential for what software engineering can accomplish. I am just getting started, and I am excited that my potential impact on society can be so great.
Machine learning has the potential to solve many of humanity’s intractable problems. We help people build tools that more effectively solve those problems, and the possibilities are endless—that is exciting.
What advice would you give to women interested in software engineering?
First, seek to develop grit and resilience, the same way you would build fundamental technical skills. This profession has a ton of impact, and can be really exciting, but the skills and experience that you need to reach your full potential are not going to be built overnight. So, be patient with yourself and try to look at mistakes and setbacks as all part of the process.
Second, don’t discount the unique abilities that you bring to this profession, even if they are different from what other people around you bring. There is a lot of benefit when you bring your skills to a team, and it is important to value those that are uniquely yours. Many things go into being a good software engineer.