
This is software (AWS) generated transcription and it is not perfect.
So in college, I went to the University of Utah, and while I was going to the University of Utah, I was majoring in physics, but the parallel field to that was electrical engineering. So I got into robotics, just as a hobby, I never took a class in robotics or anything like that. I was really interested in programming and artificial intelligence, those kinds of things for robots so as I was going through it, then I did my master's degree also at the University of Utah, it's kind of a cross between science and management and for my thesis, I picked the topic that was pretty programming heavy and involved quite a bit of machine learning but I'm not a programmer, I didn't come from that. So I took a couple of jobs. One was a little bit more business managing programmers and then the next one was the Department of Labor, US Department of Labor, where I wrote a lot of software and this is kind of the time when the machine learning really heated up in 2015, there were some breakthroughs that made it possible. So everybody was going to machine learning and the Department of Labor was looking for ways to implement machine learning and me and a colleague kind of really stepped up and started a data science group within the department and she got hired away by the industry within six months. I stayed there for another couple of months and then Adobe came knocked on my door and said, "Hey, how do you like to work here?" And I said, "It would be a dream" so here I am.
Let me take the 2nd one first. Adobe is really flexible. The work, I mean, I could work from home, I can work from the office. I think they prefer us to come to the office but I think at the end of the day, what matters is that the work gets done and where are you doing and how you are doing it is not too important. Personally, I don't like to travel too much because I find that it takes up a lot of time that you're not working so I try to minimize that. We still get a couple of meetings with colleagues in different offices a year, and then we usually try to go to a couple of conferences a year. Just the same today on what's happening, that's what the day today is. The data science engineer is a little bit of a weird title. Most companies, I think would call it a machine learning engineer and what would we do is really try to understand the models that are coming out of research and commercialize them in production. What that typically entails that I come in earlier than most of my colleagues so I could do more work early. I do think that requires a lot of thinking, like coding or system design early in the morning. Then I usually have a slew of meetings from about 11 to about 3. Then I can spend an hour figuring out like what I just learned in the meeting, what are the new models?
That's a great question. Oftentimes, when a new member joins the team, the first thing they ask you is what language do you write in and I think the way I answer this would have varied a lot over the period of my career. But, I think I've come to a certain level of acceptance that every tool exits for a reason. There's somebody who invented this because there was a need that other tools did not satisfy. So, we actually are not very dogmatic, to date, just for technical reasons, we have not used deep learning in production. But I think, actually, we have solved some of those technical issues and I think you're going to see a lot more of that come out over the analytics in the near future. Things that we use there like PyTorch and TensorFlow and a lot of the models they tend to be in Python just because a lot of frameworks have been written for Python. However, that's not a requirement, we have production services in Java, we have production services in C++, we have production services in R which has a few challenges. Lately, we've been seeing more and more Kubernetes and Docker comes onto the scene. We have a lot of spark jobs that we run for things that are so big that a single computer cannot hold the data. So really, it is very agnostic, you just pick the best for a job. Part of the challenge of my work is that, aside from everything else I do I have to stay up with technology right now, I have a project but I'm debating between Airflow versus Kubernetes job scheduler and trying to understand for this case what would be best. I love Python, the reason I love Python is because it is extremely flexible but that comes with downsides, too. So I write all of my code in Test Driven Development style, which means I write the test, and then I read the code itself to satisfy the test and my personal requirement of my code is that there be as close to 100% unit test coverage as possible and I think because of that Python works really well for me but Python doesn't have a compiler, so a lot of things you would be missing otherwise.