Skip to content

Senior Software Developer – Sports Modelling Automation – Python
Company | Penn Interactive |
---|
Location | Philadelphia, PA, USA |
---|
Salary | $140000 – $200000 |
---|
Type | Full-Time |
---|
Degrees | Bachelor’s |
---|
Experience Level | Senior |
---|
Requirements
- Strong Computer Science Foundation: Solid understanding of data structures, distributed systems, and software design.
- Passionate About Clean Code: Commitment to clean architecture and software craftsmanship.
- Versatile Developer: Experience with modern web frameworks and API development.
- Adaptable Learner: Proficiency in Python with a willingness to learn new technologies and frameworks.
- Hands-on experience with workflows orchestration tools such as Argo Workflows (or Airflow).
- Database Proficiency: Strong experience with relational databases such as PostgreSQL and MySQL and NoSQL database such as BigTable, Mongo, DynamoDB.
- Comfortable with Command Line: Proficient in terminal operations.
- Familiar with Containerization: Knowledge of Kubernetes and container orchestration.
- Caching Knowledge: Understanding of caching strategies and tools.
- Problem-Solving Skills: Excellent analytical abilities and independent troubleshooting.
- Strong Communicator: Ability to convey complex technical concepts to both technical and non-technical stakeholders.
Responsibilities
- Design, implement, and maintain backend services and APIs using Python (primarily FastAPI or Flask).
- Build and manage complex data workflows with Argo Workflows (Kubernetes-native workflow engine supporting DAG and step-based workflows).
- Develop event-driven distributed systems that process large amounts of data and integrate with downstream back end services (Kafka experience preferred or any other event streaming/message queue platform).
- Work in containerized environments using Docker and Kubernetes.
- Build internal tools and libraries to help accelerate other backend teams.
- Work with data science and data engineering teams to build best-in-class SDLC processes.
- Oversee the design and maintenance of data systems and contribute to the continual enhancement of the data platform.
- Collaborate with the team to define, track, and meet SLOs.
- Maintain and expand existing systems, tooling and infrastructure.
- Ensure System Reliability: Implement robust monitoring and alerting mechanisms using tools like DataDog.
- Participate in Agile Processes: Engage in the design, architecture, and delivery of new features within a collaborative agile/scrum environment.
- Deploy to Cloud Infrastructure: Manage deployments of services and applications to our cloud platforms.
- Strategic Partnership: Work closely with the tech lead and engineering manager to help set the team’s direction.
- Demonstrate Technical Proficiency: Showcase expertise in the team’s tech stack, tooling, and architecture to lead wide-ranging projects effectively.
- On-Call Rotation: Participate in our on-call rotation to address critical issues during off-business hours.
Preferred Qualifications
- Knowledge of other programming language (e.g, Elixir, Java, GO)