About the Role & Team
As a Senior Software Developer on the ESPN Ecosystem team, you’ll enhance the cross-app experience between ESPN and ESPN BET platforms, with the goal of giving users a unified experience in both platforms. Our goal is to offer a seamless sports media and betting experience for sports fans, through intuitive cross product integrations. This team's focus is on both acquiring new users directly from ESPN platforms, as well as delivering opportunities for continuous engagement with ESPN BET through unique integrations that can only be found on ESPN and ESPN BET. This new team has many opportunities to lay the building blocks for the future.
We’re always looking for ways to not only improve our knowledge but also share knowledge throughout the company. This role involves direct collaboration with our design, product, frontend, and backend development teams to define and deliver a first-class sports betting experience. We also collaborate externally with the ESPN development team, representing PENN. With that, this is a highly visible and critical team in our partnership with ESPN.
About the Work
- Work with our preferred technology stack (Primarily Elixir, Phoenix, Java)
- Develop, scale, and optimize gRPC endpoints, as well as SQL queries
- Solve technical problems of the highest scope and complexity
- Navigate through highly sensitive and regulated systems in our codebase; ensuring highest level of code quality and test coverage
- Collaborate with the team in a system designed to continually define and improve our internal style guide, maintainability and best practices
- Participate in the design, architecture, and delivery of new features in a collaborative, agile/scrum environment
- Collaborate with other teams and various stakeholders to build integrations with other internal and external services.
- Setting up monitoring and alerting with Datadog, Bugsnag, PagerDuty
- Continually strive and be on the lookout for a more scalable system by identifying bottlenecks and areas of high risk
- Provide mentorship for education to all our developers when onboarding on our services
- Other duties as required.
About You
- A solid foundation in computer science, with strong competencies in data structures, distributed systems, algorithms and software design
- Experience with a production system at scale
- Experience with on-call rotations for a production service
- Excellent written and verbal communication skills to communicate clearly with various stakeholders, maintain documentation, and work with other team members
- Passionate about clean code architecture and software craftsmanship
- A strong grasp and experience with relational databases; including PostgreSQL
- Comfortable working in the terminal
- Experience with Git and GitHub or similar
- Proficiency within an editor of your choice
- Experience with testing frameworks such as ExUnit, RSpec, Jest, pytest or equivalent.
- A strong grasp and experience with relational databases; including PostgreSQL and MySQL
- Experience with background job processing (Oban, Exq, Sidekiq, Celery, Beanstalk).
- Experience with Object Oriented Programming
- Experience with asynchronous event handling infrastructure (Apache Kafka, RabbitMQ, AWS SQS/SNS, Google Cloud Pub/Sub)
- NICE TO HAVE: Experience with Kubernetes, Kafka, building GraphQL APIs (Absinthe), hexagonal architecture, Domain Driven Development, contribution to open source software, experience working at startups, and passion for sports.
What We Offer
- Competitive compensation package
- Fun, relaxed work environment
- Education and conference reimbursements.
- Parental leave top up
#LI-REMOTE
Initial placement within the salary range is based on an individual's relevant knowledge, skills, and experience. Base salary is just one component of our competitive Total Rewards package, which includes wellness programs designed to support our team members' financial, physical, and mental well-being. Specific benefits—such as day-one medical coverage, 401(k) matching, annual performance bonus and equity package — depending on position. Paid time off is earned according to the local policy and increases with the length of employment.
Click HERE to discover how we empower team members to grow, thrive, and advance in their careers. Check out our LinkedIn page!