Introduction
Hello! I'm Paul Kefer, a machine learning engineer with a passion for computer vision and its applications in sports technology. I was born and raised in Austria, which gave me the advantage of being fluent in both English and German. My journey into the world of computer science began at Wake Forest University, where I pursued a double major in Computer Science and Statistics, with a minor in Neuroscience.
During my time at university, I maintained a perfect 4.0 GPA and made the Dean's List every semester from 2017 to 2021. This academic foundation has been crucial in my professional development, providing me with a strong theoretical background in machine learning and computer vision. The concepts I learned, such as convolutional neural networks for image processing and statistical methods for model evaluation, now form the backbone of my daily work. I apply these principles when developing and optimizing our deep learning models for real-time sports analysis, ensuring our systems can accurately track players and detect game events across various sports.
My current role as a Machine Learning Engineer at BallerTV allows me to combine my love for technology with the exciting world of sports. On a daily basis, I work on developing and improving deep learning models for computer vision tasks, particularly in the realm of sports analytics. This involves everything from object detection and classification to creating innovative solutions for automated sports production and analysis.
What I find most exciting about my work is the tangible impact it has. For instance, I've worked on volleyball production systems that have been used in more than 200,000 commercially streamed games. It's incredibly rewarding to see how the algorithms and systems we develop enhance the viewing experience for sports fans and provide valuable insights for athletes and coaches.
Data Science Fellow
career options
Machine learning offers diverse career paths that cater to different interests and strengths. From developing new architectures to interpreting data and managing projects, the field provides opportunities to tackle real-world challenges through innovative technology. Here's an overview of key roles in the industry:
Develops and implements machine learning models and algorithms to solve complex problems, often working on tasks like image recognition, natural language processing, and predictive analytics.
Focuses specifically on developing algorithms and systems that can interpret and understand visual information from the world, crucial in areas like sports analysis, autonomous vehicles, and medical imaging.
Analyzes and interprets complex data using statistical and machine learning techniques to extract insights and inform decision-making processes.
Conducts cutting-edge research to push the boundaries of what's possible in artificial intelligence and machine learning, often working on theoretical advancements that can later be applied in practical settings.
Bridges the gap between technical teams and business needs, overseeing the development of AI and ML products from conception to launch.
Data Science Fellow
skills
What are the main hard skills you use on a daily basis in your current job?
Proficiency in Python is crucial in my daily work. I use it extensively for developing machine learning models, data processing, and creating various tools and scripts. Additionally, knowledge of C++ has been valuable for optimizing performance-critical parts of our systems. I’ve been programming since very young, and gained most of my experience working on personal projects.
I regularly work with frameworks like PyTorch for building and training neural networks. This skill was developed through a combination of academic courses, online learning, and hands-on project work.
A deep understanding of computer vision algorithms is essential in my role. This includes knowledge of object detection, tracking, and classification techniques. I've honed this skill through academic study and practical application in projects like our volleyball and soccer ball perception systems.
Proficiency with Git is crucial for managing code and collaborating with team members. I use it daily to track changes, manage different versions of our projects, and integrate new features. I’ve used Git to track my personal projects, so I learned more and more about it as the complexity of my projects increased.
Experience with cloud platforms (like AWS or GCP) and MLOps tools is increasingly important. I've worked on deploying models, managing databases, and setting up monitoring systems using tools like MLflow. This skill was largely developed on the job and through self-study.
What are the main soft skills you use on a daily basis in your current job?
In my role, I frequently encounter complex technical challenges that require innovative solutions. For instance, when developing our soccer ball perception system, I had to combine various techniques and optimize them for real-time performance. This skill has been honed through academic training, coding challenges, and real-world project experience.
Clear communication is vital when explaining complex technical concepts to non-technical stakeholders or collaborating with team members. I've developed this skill through presentations, team meetings, and interdepartmental collaborations. For example, when creating our interactive labeling tool for the support team, effective communication was key to understanding their needs and delivering a user-friendly solution.
I’ve cultivated a mindset where I identify and solve problems even if they’re outside my immediate job description: examples of this are fixing internet connections that are too slow to stream reliably over by quickly learning and implementing multi-path TCP routing, doing systems administration for our web-based labeling tools, and writing bespoke labeling or inspection tools for niche use cases.
Many of our projects involve cross-functional collaboration. For instance, when working on the volleyball production system, I had to collaborate closely with the product team and other engineers to ensure the system met all requirements. This skill has been developed through group projects in academia and reinforced in my professional work.
Managing multiple projects with varying deadlines is a crucial part of my role. For example, when developing the game event detection system for volleyball while also improving the autonomous production system, effective prioritization was key to meeting all deadlines. I've honed this skill through experience and by adopting productivity techniques suited to software development workflows.
Paul
’s personal path
Tell us about your personal journey in
Data Science Fellow
:
My journey into the field of machine learning wasn't entirely linear, but it was driven by a consistent passion for technology and problem-solving. I have been infatuated with computers since I was a child and started my computer science journey by learning to administrate video game servers for my friend-group and building programs to automate video games.
During my time at Wake Forest University, I didn't just focus on my coursework. I sought out opportunities to apply my skills in real-world settings. One of the most impactful experiences was my participation in the International Conference for High-Performance Computing's Student Cluster Competition. This experience not only honed my technical skills but also developed my ability to work in diverse teams under pressure - a skill that has proven invaluable in my professional life.
My journey into the job market was not without its challenges. Graduating in 2020, in the midst of a global pandemic, presented unique obstacles. The job search process was intense - I filled out many applications and went through at a lot of interviews before landing my first job. Each rejection was disheartening, but I tried to view them as learning opportunities, always asking for feedback when possible.
Networking played a crucial role in my job search. I attended events hosted by Wake Forest University, and landed interviews by reaching out to Wake Forest alumni.
My role at BallerTV is both challenging and exciting. I was immediately immersed in projects that required me to apply my academic knowledge to real-world problems. One of my early projects involved developing volleyball perception algorithms, which significantly improved tracking accuracy. This experience taught me the importance of bridging the gap between theoretical knowledge and practical application. It was also exhilerating to see that my work as an intern was immediately deployed to tens of thousands of viewers in a product that is a significant source of revenue. As I progressed in my role, I took on more complex projects. Developing the soccer ball perception system and creating the first iteration of game event detection in volleyball were particularly rewarding. These projects not only allowed me to deepen my technical skills but also taught me about the business aspects of sports technology.
One of the most valuable lessons I've learned is the importance of continuous learning. The field of machine learning is constantly evolving, and staying current requires dedication and curiosity. I've made it a habit to regularly explore new research papers, experiment with new techniques, and keep up with the latest developments in the field on X. It definitely helps that I’m very passionate about the field, and experimenting with new techniques is very exciting to me.
Another key aspect of my journey and perhaps the biggest mental update so far has been learning to balance technical excellence with business needs. Creating solutions that are not only technically impressive but also meet real user needs and business objectives has been a crucial part of my growth as a professional.
For students looking to enter this field, I would emphasize the importance of hands-on projects. Whether it's contributing to open-source projects, participating in hackathons, or working on personal projects, practical experience is invaluable. It not only helps in developing technical skills but also in understanding how to approach real-world problems. Lastly, don't be discouraged by setbacks. The job search process can be challenging, especially for new graduates. Persistence, continuous learning, and networking are key. Every interview, even unsuccessful ones, is an opportunity to learn and improve. Keep refining your skills, stay curious, and remain open to opportunities - you never know which connection or which project might lead to your dream role.
What would you tell your younger you regarding building your current career?
If I could go back and give advice to my younger self, I would say this: maximize your luck surface area! Coined by Jason Roberts, this idea which I learned about later in my career, has been transformative in how I approach professional growth and opportunity creation. The core principle is this: Your "Luck Surface Area" - the amount of perceived serendipity you experience in life - is directly proportional to the degree to which you pursue your passions and effectively communicate this to others. In other words, L = D * T, where L is luck, D is doing, and T is telling.
Firstly, on doing. Pursue your passions by diving deep into what excites you. For me, it was machine learning. When you pour energy into your passions, you develop valuable expertise. Focus on creating value by developing skills and knowledge that are valuable to others. Your expertise is your currency in the professional world.
Embrace the thrill of continuous learning. In rapidly evolving fields like machine learning, staying current is crucial. Make it a habit to explore new research, experiment with cutting-edge techniques, and keep your finger on the pulse of industry developments. Let your curiosity drive you to expand your knowledge base constantly.
As you progress, learn to balance technical excellence with practical application. Strive to create solutions that aren't just technically impressive, but also address real-world needs and business objectives. This holistic approach will accelerate your professional growth and make you an invaluable asset in any organization.
Secondly, on telling. Don't keep your projects and learnings to yourself. Share your work by blogging about them, speaking at meetups, and contributing to open-source projects. The more people who know about your work, the more opportunities will come your way. Build your network by attending conferences, joining online communities, using your alumni network, and reaching out to professionals you admire. Every person who knows about your passions is a potential connection to an unexpected opportunity.
Be infectious with your enthusiasm. Your passion is contagious. When you're genuinely excited about your work, you naturally draw others in and create a positive feedback loop of opportunities. Share not just your successes, but also your learning process and the challenges you overcome. This authenticity will resonate with others and help you build meaningful professional relationships.
Be open to unexpected paths and embrace serendipity. Some of the most significant opportunities in my career came from seemingly random connections or conversations. Focus on creating value by developing skills and knowledge that are valuable to others. Your expertise is your currency in the professional world. Be infectious with your enthusiasm. Your passion is contagious. When you're genuinely excited about your work, you naturally draw others in and create a positive feedback loop of opportunities.
Luck isn't just about chance. By actively expanding your "Luck Surface Area," you're creating an environment where opportunities are more likely to find you. Do what you love and start telling the world about it. Your future self will thank you for the incredible journey ahead!
Final thoughts & tips
As a final thought, I want to emphasize two crucial strategies for students looking to build a career in machine learning, or any tech-related field: engaging with real projects and seeking out mentorship.
There's often a misconception that as a student, you're limited in your ability to contribute to real-world projects. This couldn't be further from the truth. The tech world, especially the open-source community, values contributions from everyone, regardless of their formal status or experience level. Look for open-source projects in areas that interest you. Start small - even fixing documentation or small bugs can be valuable contributions. Develop your own projects based on your interests. For instance, if you're into sports and machine learning like me, you could create a simple player tracking system using publicly available sports footage. Participate in hackathons. They're great opportunities to work on practical problems, learn new technologies, and network with like-minded individuals. Seek out internships, even if they're short-term or part-time. The experience of working in a professional environment is both exhilerating and invaluable. Remember that each project you work on is a learning opportunity and a potential talking point in future job interviews.
Having a mentor can significantly accelerate your learning and career growth. A good mentor can provide insights, feedback, and guidance that you can't get from coursework alone. Many universities have mentorship programs. Take advantage of these if they're available. Attend industry conferences, meetups, and workshops. These are great places to meet potential mentors. Use platforms like LinkedIn to connect with your university’s alumni in your field of interest. Many are open to mentoring if approached respectfully. If you secure an internship, try to build a mentoring relationship with your supervisor.
For those preparing for technical interviews in the field of machine learning: Brush up on your algorithms and data structures. While machine learning is the focus, strong fundamental computer science knowledge is often tested. Be prepared to explain machine learning concepts clearly. Practice explaining complex ideas in simple terms. Work on coding problems related your field. Platforms like LeetCode and HackerRank have generic problems, but also practive with the specific tools you’ll need in your role. For me, those were machine learning and computer vision libraries like TensorFlow, PyTorch, and OpenCV. The best preparation is doing your own projects, because they require you to deeply interact with the matter at hand. Prepare to discuss your projects in depth. Be ready to explain your decision-making process, challenges faced, and how you overcame them. Stay updated with recent advancements in the field. Being aware of current trends can set you apart. Practice implementing machine learning algorithms from scratch. This demonstrates a deep understanding of the underlying principles. Also keep in mind that the goal of technical interviews is not just to test your knowledge, but to understand your problem-solving process and how you approach challenges.
In conclusion, building a career in machine learning is an exciting journey filled with constant learning and innovation. By engaging with real projects, seeking mentorship, and preparing thoroughly for opportunities, you'll be well on your way to a successful and fulfilling career in this field.
Resources to dig in more
How to Increase Your Luck Surface Area
Jason Roberts’ blog in which he details the concept of luck surface area.
Stanford CS229: Machine Learning
Stanford’s open-access machine learning course – a great introduction!
Andrey Karpathy’s machine learning courses
Having previously worked in leading positions at both Tesla and OpenAI, Andrej is now focusing on teaching – I strongly recommend his work to build a foundation.
Ilya Sutskever’s “90% of what matters today”
Ilya Sutskever gave John Carmack this reading list and said: ‘If you really learn all of these, you’ll know 90% of what matters today.’ The critical and difficult part of doing this “lazy loading” the knowledge: stopping every time you do not understand something, and researching it until you do.
Eureka Labs
Andrej Karpathy’s “new kind of school that is AI native”. Not yet launched, but I strongly encourage you to keep up-to-date as I expect this to be the single best learning resource once it comes online.