Interview with an Engineer
RYAN FRENZ
Founder / CTO
Join us for our new Allvision Interview Series, where we take a few moments out of changing the AI world to talk to the people who make everything work – our engineers. First up is Ryan Frenz, Allvision Co-founder and Head of Engineering.
Q: How did you decide to become a software engineer?
RF: From a young age I was always more interested in Math and Science than other subjects. And as a child of the 90’s I was heavily influenced by the massive shifts in technology during that decade (notably video games and the consumer internet). I enrolled in and entered Engineering school initially, but didn’t choose a Computer Science focus until taking my first programming course (in C) Freshman year.
Q: Tell us a bit about your background, including education and previous positions.
RF: I have degrees in Electrical and Computer Engineering from the University of Pittsburgh (BS) and Carnegie Mellon University (MS).
My first job was with a former CMU spin-out called Quantapoint where I created algorithms for analyzing LiDAR sensor data and packaged them with graphics and UI for use in creating CAD models. I did that for 6 years before joining Allpoint Systems, where we built a series of products that blended LiDAR, Computer Vision, and Robotics to solve problems for large asset owners and AEC firms.
Allpoint Systems was acquired by Autodesk, where I spent 5 years as Senior Engineering Manager. That was a great experience, as I got a ton of experience working closely with customers and building and managing a global team. In late 2017 I co-founded Allvision IO.
Q: What does your typical day look like?
RF: My typical day at Allvision is a pretty even split between two areas:
Product Management: working with Sales and Marketing to forecast product/service needs; working with the product team to design and plan implementation.
Product Development: I contribute to the design, architecture, and quality aassurance of Allvision’s software systems, and I write a bunch of code.
I also oversee our recruiting efforts and do a lot of sales.
Q: Give us an example of a project or problem that you’re currently working on.
RF: Currently I’m writing Python code to mine our production databases for data that can be used to reinforce the training of our AI models. We are constantly looking to tighten these feedback loops to back-test models and systematically improve accuracy based on real-world data.
Q: What are the skills, experiences, and attributes that can contribute to being a successful software engineer?
RF: Increasingly, software engineers need to be generalists. Tech stacks and trends change frequently, so it can be hard to focus on a single programming language or environment. That said, we’ll be writing code in C++, Python, and JavaScript for effectively forever. I would recommend a deep foundation in one or more of those, paired with a broad skill set in the libraries and stacks that are used to host, deploy, and run the code (e.g. Docker, Kubernetes, AWS). Even more important is the ability to translate business or product requirements into technical ones. That is – which of the available technologies (open source or otherwise) are out there to solve my problem? Can I leverage existing work for this problem? Or do I need to start from scratch? Good instincts for answering these questions are truly invaluable.
And of course writing. Especially in this age of remote work, communicating clearly and effectively via written text is a critical skill.
Q: What are the biggest challenges that you’re currently facing?
RF: Our main challenge is finding the optimal way to serve our customers with our technology. Our core capabilities are game-changing, but we’re constantly adjusting how we define (e.g. software vs services), price, and sell it.
Q: What are your thoughts on the future of AI development?
RF: One thing I spend a lot of time thinking about is how to optimize AI for present day value. AI has many limitations, and many of those can (at least theoretically) be addressed with “more data.” That’s accurate, but also lazy, since acquiring and preparing good data is the costliest part of AI. We should invest equally in assessment of the existing performance of an AI model. Where does it work well? Where does it fail? If we can properly quantify that, not only can we target our data investments, but also build fallback systems and add humans in the loop to make a usable, reliable system today.
Q: How do you feel about Pittsburgh’s start-up environment? Do you feel it has influenced your career path?
RF: Pittsburgh is a perfect environment for startups. The region has an amazing mix of work ethic and technical chops, and of course two world-class research universities. Not to mention a still-attractive cost of living.
Q: What are your talents/interests outside of your job?
RF: Most of my free time is spent with my wife and two daughters (ages 9 and 3). We enjoy board games and movies in bad weather and hiking in good weather. I also enjoy music, reading (mostly fiction), and sports (watching all; playing golf and basketball).
Bonus Question: Any advice for engineers in a startup?
RF: Steve Blank (author of 4 Steps to the Epiphany) defines a startup as “…a temporary organization designed to search for a scalable and repeatable business model.” A startup’s product should be optimized for this search, and not necessarily for some long-term vision or even a specific market or customer. It can take many product iterations to find the right fit and prove a business model. Engineers can treat this like any traditional requirement – build the smallest thing that narrows the search (i.e. teaches you something about the customer or market).
Thanks Ryan! Do you have any burning questions for our engineering team? Let us know in the comments!
Leave a Reply