Senior Software Engineer

FanDuel ,
Edinburgh, City of Edinburgh

Overview

Job Description

FanDuel Group is a collection of brands operating at the intersection of sports, gaming, tech, and entertainment. Our mission is to give sports fans the chance to win everyday and create experiences they can't wait to share with their friends. We're not just a company, we're a collective. And we're not just coworkers, we're a community. We're an all-hands-on-deck crew of dreamers, doers, thinkers, makers, builders, breakers, and rebuilders. We value teamwork above all else, and we believe that diversity and inclusiveness are at the core of any good team. Like any good sports team, we've got passion. Passion for building a product our customers will love, passion for being the best in our field, and passion for our own people. With a company that's as committed to its people as it is to its customers, FanDuel Group is a great place to develop yourself and your career. SUMMARY OF THE ROLE We're looking for a Senior Software Engineer to help coach engineers, and design systems within our Rewards, Loyalty and Promo engineering teams! You'll work on a wide range of work from short-term asks to longer-term capability projects delivering features that'll be used across our entire Product Group. Marketing, one of our primary partners, is a high impact group influencing a wide range of new and current users! We're looking for passionate & experienced technologists, strong communicators and those with a commitment to continuous improvement. The ideal candidate will have the confidence to propose pragmatic solutions to complex problems and be eager to learn from and educate others. As a senior software engineer, you will work in empowered, multidisciplinary teams, autonomously tackling complex challenges that provide the very best experiences and products for a growing community of millions of players. You will own and become subject matter experts of areas of product and technology stack and will be the go to person for those areas. You thrive on technological advancement of the team and always working towards it's improvement. ESSENTIAL DUTIES AND RESPONSIBILITIES You are a significant and autonomous contributor. Your work is consistently of high quality. You solve difficult problems, applying appropriate technologies and best practices. You work with your team to invent, design and build software that is stable and performant. You are proficient in a broad range of design approaches and know when it is appropriate to use them and when it is not. Your solutions are pragmatic. You consider the legacy of the code you produce and write code that an SDE unfamiliar with the system can understand. You limit the use of short-term workarounds. You do things with the proper level of complexity the first time (or at least minimise incidental complexity). You create flexible software without over-engineering. You make appropriate trade-offs, re-use where possible, and are judicious about introducing dependencies. You are efficient with resource usage (e.g., system hardware, database, memory/CPU, etc). Accountabilities: * You work in project ideas with customers, stakeholders, and peers. * You own parts of product and technology and become subject matter experts. * 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 help your team evolve by actively participating in the code review process, design discussions, team planning, and ticket/metric/COE reviews. * You classify, store, and handle data in accordance with FanDuel policies. * You track security risks and mitigate and/or escalate them in a timely manner. * You focus on operational excellence, constructively identifying problems and proposing solutions. * 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 are able to train new team-mates on how your team's software is constructed, how it operates, how secure it is, and how it fits into the bigger picture. * You foster a constructive dialogue and seek resolutions in a professional way. * You help recruit and interview for your team. * You estimate stories/tasks accurately and deliver them in time. * You mentor and help to develop others. * On-call rotation where required. You provide excellent customer support. * You keep yourself up to date with market standards and open-source frameworks. * Most importantly, you are; humble, pragmatic, self-managed, thirsty for knowledge, never satisfied and always challenging the norm. REQUIRED QUALIFICATIONS AND ABILITIES * Degree in Computer Science, related field, or equivalent work experience. * Writing distributed, highly scalable and available backend systems and APIs using Java or similar programming languages. * Proficientworking with relational, non-relational databases, m