Posted in

Senior Software Engineer – Responsible Gaming

Senior Software Engineer – Responsible Gaming

CompanyFanDuel
LocationAtlanta, GA, USA
Salary$126000 – $175000
TypeFull-Time
DegreesBachelor’s
Experience LevelSenior

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.