Skip to content

Senior Software Engineer – Responsible Gaming
Company | FanDuel |
---|
Location | Atlanta, GA, USA |
---|
Salary | $126000 – $175000 |
---|
Type | Full-Time |
---|
Degrees | Bachelor’s |
---|
Experience Level | Senior |
---|
Requirements
- Degree in Computer Science, related field, or equivalent work experience.
- Experience and passion for writing highly scalable, fault tolerant and always available backend systems & APIs using Java or similar Object-Oriented programming languages
- Good grasp on relational, non-relational databases, messaging queues and handling concurrency
- Understanding of modern architectures, design patterns, and platform nuances
- Knowledge of release process best practices for APIs and services within production systems
- Experience working with cloud-based infrastructure and technologies, preferably AWS.
- Familiarity with defining infrastructure as code using Terraform or similar
- Understanding of containers (e.g. Docker), and orchestration (Kubernetes).
- Expert experience with testing concepts, test tools, and integrating testing and best practices in the SDLC
- Strong sense of ownership, urgency, and drive.
- Familiarity working in an Agile environment
- Passion for working within a fast-paced environment and can adapt to change.
Responsibilities
- You own parts of product and technology & strive to become a subject matter expert.
- You are responsible for designing the software or systems required in your area of ownership and ensuring that they meet their design objectives.
- You are able to give quality feedback on designs written by other members of your team, asking probing, insightful questions that solidify choices and surface erroneous assumptions.
- You effectively and quickly debug cross-module issues and may intuit where bugs might lie due to my deep knowledge of the libraries, platforms, and systems that my software relies on.
- You write simple and extendable code following standards and best practices. You test your code thoroughly. You help balance customer requirements with the team requirements.
- You are responsible for designing the software or systems required in my area of ownership and ensuring that they meet their design objectives.
- You are able to create coherent designs with multiple components interacting across API or system boundaries; bugs do not creep in at the boundaries between components due to mismatches in expectations of what is technically feasible.
- You are capable of rolling out a component or major feature (and deprecating an existing system or feature) reliably – including appropriate monitoring, paging, etc. are in place, and that failure domains are understood and characterized appropriately before large scale rollout. For early-stage products, I am able to roll out with an eye toward achieving learning goals untainted by poor quality.
- You help your team evolve by actively participating in the code review process, design discussions, team planning, and support ticket reviews.
- You take on projects and make software enhancements that improve the team software and processes.
- You work to resolve the root cause of complex problems, leaving software better and easier to maintain than when you found it.
- You estimate stories/tasks accurately and deliver them in time. You keep yourself up to date with industry tools, utilities, and open-source frameworks.
- You participate in the interview process and help your team train other Software Engineers.
- You will keep yourself up to date with market standards and open-source frameworks.
- You participate in the on-call support rotation for your organization.
- Most importantly, be humble, pragmatic, self-managed, thirsty for knowledge, never satisfied and always challenging the norm.
Preferred Qualifications
- Passionate advocate for your customer.
- Ability to adapt to a fast-paced environment.
- Commitment to continuous improvement.