Software Engineer
FanDuelEdinburgh, United Kingdom
JavaTerraformAWSDocker
We're looking for a Software Engineer for one of our Acquisitions team, working with a multitude of micro-services achieving various goals for our marketing partners such as real-time merchandising or promotion enrollment. Your work will focus on highly efficient systems dealing with large volumes of real time data, delivered to various systems to enable targeted marketing.
Responsibilities
- Make existing systems simpler (e.g. by consolidating redundant systems, deleting unnecessary code, or removing/updating out of date documentation).
- Solve straightforward problems, seeking input and guidance from team members.
- Take defined design and turn it into code and deliver it on schedule, applying appropriate technologies and current software engineering best practices.
- Write secure, stable, testable, maintainable code with minimal defects.
- Participate in team design, scoping and prioritization discussions.
- Work effectively with other team members & identify any opportunities/problems arising from technical decisions.
- Propose pragmatic solutions to problems and be eager to learn from and educate others.
- You own parts of product and technology & strive to become a subject matter expert.
- You write simple and extendable code following standards and best practices. You test your code thoroughly.
- You help your team evolve by actively participating in the code review process, design discussions, team planning, and support ticket reviews.
- You clearly document your software to ensure that future generations of developers understand the intention behind the features and components you build.
- In the event of a problem, you can troubleshoot and thoroughly resolve defects.
- You provide excellent customer support.
- You estimate stories/tasks and deliver them on time.
- Most importantly, you are humble, pragmatic, self-managed, thirsty for knowledge, never satisfied and always challenging the norm. Responsible for the state of the code you both inherit and produce.
- You participate in the on-call support rotation for your organisation.
- Strong sense of ownership, urgency, and drive.
What We're Looking For
What we're looking for in our next teammate
- Degree in Computer Science or related software engineering field, or equivalent practical experience. 2+ years of relevant work experience.
- Strong backend engineering experience with Java, including building and maintaining production-grade services.
- Working knowledge of ReactJS - you'll collaborate closely with the team across the full stack day-to-day.
- Understanding of DevOps and Infrastructure as Code concepts (we use Terraform).
- Understanding of relational and non-relational databases, messaging queues, and concurrency patterns.
- Some experience with event streaming technologies.
- Knowledge of AWS and cloud-based infrastructure.
- Familiarity with containers (Docker) and orchestration (Kubernetes).
- Understanding of modern backend architectures, design patterns, and distributed systems.
- Experience with testing concepts and integrating testing best practices throughout the SDLC.
- Experience working in an Agile environment (we use Kanban).
Who you are
- Comfortable working in a fast-paced environment and adapting to change.