Senior Software Developer

Penn Interactive
Summary
Join PENN Entertainment's digital team as a Senior Software Developer and enhance the cross-app experience between ESPN and ESPN BET platforms, creating a unified user experience. You will work with a cutting-edge technology stack (Elixir, Phoenix, Java) to develop, scale, and optimize gRPC endpoints and SQL queries. This role requires collaboration with design, product, and other development teams, both internally and with ESPN. The team focuses on acquiring new users and driving engagement through unique integrations. This is a highly visible role within a collaborative, agile environment, offering opportunities to build the foundation for future development and contribute to a first-class sports betting experience. PENN Entertainment offers a competitive compensation package, including benefits such as medical coverage, 401(k) matching, and performance bonuses.
Requirements
- 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)
Responsibilities
- 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
Preferred Qualifications
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
Benefits
- Competitive compensation package
- Fun, relaxed work environment
- Education and conference reimbursements
- Parental leave top up
- Day-one medical coverage
- 401(k) matching
- Annual performance bonus
- Equity package
- Paid time off is earned according to the local policy and increases with the length of employment