Tom Pavel, Physicist and Software Architect
|
Dr. Tom Pavel studied Physics and Math, and was Sr. Director of Engineering and Software Architect at Riverbed Technology before retiring in 2017. He shares his journey as a first-generation college student and immigrant from early education through a nearly two decade-long career, and some advice for students.
|
Education
|
B.S. in Physics and Math
Ph.D. in Particle Physics |
How did you end up in this role?
|
I had an interest in mathematics early on, with things like summer math programs, high school science fairs, and AP calculus. As part of an immigrant family from communist Czechoslovakia (at the time), I was a first-generation college student and somehow navigated the world of college admissions and financial aid.
I was a bit of a natural student and didn't struggle too much early on. However, there were a number of stages in my career (like going from undergrad to grad school classes) where I quickly learned that I needed to up my game and work harder than I was previously used to. A good metaphor is to think of school like being an athlete training for a sport, where the more time and effort you put in, the higher level of performance you will be able to reach. I thought I was set to become a mathematician, but I found myself drifting from math to physics. I found I liked working in a team on projects and I thought the research questions in physics were less abstract. This brought me to California for graduate school in experimental particle physics. Over the course of my Ph.D., I again felt my interests shifting a bit. I found the work of particle physics to be something like 90% engineering and 10% physics, between building the elaborate particle detectors and programming all of the data analysis. By the time I finished my degree, I had learned a lot about software engineering, operating systems, and computer networking. This led me to the startup experience. I was the first employee at a company called Network Physics, which set out to improve TCP performance by applying nonlinear control dynamics, but soon shifted to commercializing the network monitoring systems we built in order to understand TCP performance. Without really realizing it at the time, my colleagues and I had brought particle physics data analysis techniques to network performance problems, and this was a bit of a breakthrough at the time. "Like being an athlete training for a sport, the more time and effort you put in, the higher level of performance you will be able to reach."
After 8 years the company ran out of capital and was bought up by a larger network monitoring company (OPNET Technologies). This ultimately proved to be very successful, with the Network Physics product filling a key gap in OPNET's product line, culminating in a $1B acquisition by Riverbed five years later. I spent another 5 years working on integrating the OPNET and Riverbed products, essentially working on the same product technology over 3 different companies and numerous product cycles. In this 18-year arc I covered many roles, ranging from software architect to a manager of teams (ranging from 3 to 15 engineers) to performance analyst and individual developer. I am now retired (at 54) and deciding what it is I want to do next.
|
A day in the life
|
At Riverbed, I was one of the senior folks on the team merging two pre-existing products after Riverbed acquired my previous company, OPNET. This involved lots of planning meetings to work out software design choices, choices of tools and infrastructure, and decisions about development process.
While all that was going on, I managed a team responsible maintaining a large part of the existing product. This involves prioritizing bug reports, communicating with front-line support folks to collect needed information, sometimes debugging code myself, and analyzing security threats that arise. My typical day was a mix of several meetings, a lot of time communicating via email, some amount of analysis on the hot questions of the day, and occasionally some focused time on coding (typically in later hours of the workday). My last project was coding tools to measure product performance and to analyze the results for any regressions. |
Advice for aspiring students |
My main advice is not to stress over finding your perfect lifelong career. There are many different paths you can take and lots of them can lead to success. Try to explore a bunch of different things to see what interests you the most and then just follow any one of them. If you later find that you would have preferred a different choice, it's probably feasible to change or adapt what you are doing.
More practically, the standard wisdom is to learn coding by doing, which is a very good idea. There are many online resources to learn JavaScript or Python or other languages. Also, there are so many open-source projects nowadays that you can often find a useful starting point for any sort of application you might want to build. Seeing how other people have organized their code can also be a useful way to learn software techniques. Also, I would recommend that you consider top-tier colleges if your grades and such are good enough. Sometimes the more prestigious schools can be easier to afford than mid-range ones, due to the need-based financial aid. (Although, this was my experience from 35 years ago, so things may well be different now...) |