Principal Software Engineer
at Catapult Sports
Our mission is to improve the performance of athletes and teams, which we do by engineering the premier technology platform for sport. We've been at the forefront of sports technology and science since 2006 -- we don't just work in the sporting industry, we are actively changing its future. Our solutions are designed to help athletes and coaches "play smart" in a world where 1% can literally mean the difference between winning and losing.
We work with over 3,000 teams around the world, empowering coaches, managers and trainers in premier teams in the NFL, NBA, NHL, MLS, EPL, AFL, NRL, NCAA and more. We provide the information they need to optimize athletes' health, game-day readiness, and performance, as well as in-game tactics. Our solutions include wearable technology, video analytics, and athlete monitoring solutions, and we are passionate about helping sports organizations at all levels to better scout, recruit, teach, and win.
WE WANT PEOPLE WHO ARE PASSIONATE ABOUT BUILDING BEAUTIFUL SOFTWARE
We are looking for a talented and inquisitive Principal Software Engineer whose drive for learning and determination for continuous improvement aligns with our ambitious, fast-growing and transforming company. Based in Boston, you will be a key player in planning, designing, building and testing the features. We believe that our customers deserve the best platform and we are on a mission to maximise and enhance their performance through delivering a high quality experience. Our software engineers match this ethos by taking responsibility for constantly improving productivity and development of self and be able to excel in a fast-paced environment with short project timelines from conception to deployment. This is a C++ role, however, if you have good knowledge of another object-oriented programming language (such as C# or Java), you will also be considered.
WHAT YOU'LL DO
- Design and implement professional applications using sound software engineering practices
- Analyze and decompose complex software systems and collaborate with cross-functional teams to influence design for scalability and testability
- Develop and maintain software for processing high-volume low-latency video streams
- Contribute deeply to the implementation and maintenance of efficient, reusable and reliable code to solve a variety of customers needs while considering existing technology, architecture and processes
- Actively participate in team engineering processes, design meetings and code reviews with the view of continuously lifting quality and improving
- Participate in the whole software lifecycle including development, CI/CD and production maintenance to improve overall scalability, efficiency and reliability.
- Document your code clearly and concisely as well as describing tests and aiding the production of user documentation
- Mentor others to improve their technical skills and provide technical leadership to the team
WHAT YOU'LL NEED
- 10+ years of experience with Java or other OOP programming language (C#, Python, C++, Go, etc..) required
- Degree in computer science or other scientific or technical area
- Develop high-quality, scalable, well-written microservices (in a distributed environment, hosted on AWS) exposing REST APIs.
- Hands-on experience with one major cloud provider like AWS, Azure, or GCP
- Experience with containerization (e.g. Docker, Kubernetes)
- Deep understanding of real-time and multi-threaded programming concepts
- Experience developing efficient data structures and algorithms
- Knowledge of Cloud native, microservices architecture patterns
- Excellent interpersonal, communication, writing and presentation skills
- Experience working collaboratively in an entrepreneurial team environment
- Experience developing applications that process video is strongly preferred
- Experience with open source media libraries (FFmpeg/Gstreamer) is preferred
- Experience with large-scale distributed relational and NoSQL database systems (MySQL, mongoDB, etc) is preferred
- Experience developing applications on Windows or Mac is preferred
- We have amazing people. We can promise you will work with some of the most ambitious and intelligent people in an exciting industry, and you will do some of the best work of your life.
- We encourage our people to have constructive, open and honest communication in order to make Catapult extraordinary; innovate and create smart solutions; establish a collaborative, yet challenging, environment to develop our performance and the performance of our customers.
- Our workforce spans more than 20 countries, you'll have the opportunity to work across multiple nationalities and cultures, and build your global awareness and capability
- We value improvement and development. We are challenging ourselves to continuously grow and become a high-performance company. That means we maintain a growth mindset in everything we do, and our people are always looking for ways to do things better. There is unlimited opportunity to grow, do more, and do better.
Whether you're interested in sports or not, you'll have the satisfaction of knowing your work is supporting some of the most successful teams and athletes on the planet!
Research shows that while men apply for jobs when they meet an average of 60% of the criteria, women and other marginalized groups tend to only apply when they check every box. So if you think you have what it takes, but don't meet every single point in our job ad, please still get in touch! We would love to have a chat and see if you could be a great addition to our team. We are building the future of sports performance, our priority is to find the brightest talent that can add to our team culture, those who actively contribute and who are excited about what they do.