Full Stack Software Engineer (Now Hiring)

Los Angeles, CA /
Software Engineering /
Second Spectrum is building the next way of seeing sports. We deliver unique and innovative solutions through unparalleled capabilities in machine understanding of sports. 
• We produce the most accurate tracking data with the fastest high-quality output by leveraging the most automated and extensible solution in the market.  We are the official tracking and analytics partner of the NBA, MLS and EPL. We also work with other top basketball and soccer (football) leagues and clubs around the world. 
• We generate meaningful and accurate data in the language of sport.  Nearly every team in the NBA and ESPN uses our analytics and video platforms.
• We create cutting edge software and communication tools so we can deliver personalized and interactive technologies for leagues, managers, players, media and fans that save people time and get them what they want in ways that previously did not exist.   
• We launched an innovative product, Clippers CourtVision, which won an NBA Innovation Award and Best in Technology at the 2019 Sports Business Awards, and has subsequently been used by ESPN, Turner Sports, FOX, NBATV, and NBA League Pass among others.
The Role: Full Stack Software Engineer
We are looking for a software engineer to build and improve server and client-side web applications that run our AI-based sports analytics system. The Systems group is at the intersection of the computer vision and the data/AI groups. They ensure machine learning and computer vision algorithms run efficiently for real-time delivery to thousands of sport events every year.
What You’ll Do:
• Develop applications that power the execution of our Computer Vision-based tracking system.
• Build real-time systems for live sports: configuration management, initialization, video player visualization, monitoring and QA.
 Implement and orchestrate distributed microservices (EC2, S3, Docker, message queues, etc.).
• Optimize compute and human resources interacting with the system (e.g. queue prioritization, video augmentation, task generation, and assignment).
• Maintain best-practices for software development, including deployment process, documentation, and adherence to and improvement of coding standards.
• Discuss and distribute knowledge, technical concepts, and ideas with any member of our diverse organization
Our Stack:
 Server-side: Node, Elixir/Phoenix, RabbitMQ, PostgreSQL, Golang
 Client-side: JavaScript/TypeScript, React, JSON, WebSocket
 Infrastructure: AWS EC2 and S3, Docker, Linux
• Code base: Git with GitLab or Github
What You Have:
 Bachelor’s in computer science or equivalent  experience, with strong software engineering components.
• 3+ years’ experience as a software engineer with an emphasis on back-end
• 3+ years’ experience in full development life cycle: designing, prototyping, implementing, testing, and evaluating performance of software.
• Experience with at least 2 of: Elixir, Javascript/Typescript in Node.js, SQL in ORM, React, Ruby, Golang
• Software engineering experience: modern software development practices and tools, distributed programming, database systems.
• Able to take point on technical discussions and feature prioritization
What Will Set You Apart:
• Experience with Elixir and Phoenix
• Experimentation or production experience interest in Rust 
• Front-end development (TypeScript/React, WebSocket)
• Experience with database design and normalization
• Experience with http, load balancing, cookie and session management
 Data structures and runtime performance analysis
 Leadership experience and responsibilities with feature releases to technical and non-technical staff
Our Work Environment and What You Will Benefit From:
      Cutting-edge products to work on for major professional sports leagues and teams
      Team-oriented, start-up mindset, innovative and dynamic environment, which encourages growth and provides opportunities to make an impact
      Flat hierarchy and collaborative management led by highly-qualified technical leads

As a general approach, we interview for aptitude over specific technologies or languages. Please be prepared to speak to anything listed on your resume or in your portfolio.