Full Stack Engineer-6228
The Software Engineer is a full-stack software engineer. As an individual contributor, this role exercises considerable judgment to make decisions that support our products top-to-bottom and ship software on a regular basis (anywhere from daily to every two weeks). This role also provides recommendations to address challenges while working in an agile environment with product owners.
- Acts as a subject matter expert in full-stack engineering on a scrum delivery team, collaborating with product owners, designers, and other engineers to deliver business value on an iterative basis.
- Coaches and influences team-members on best practices and emerging technologies.
- Solves complex technology and business problems with new and creative methods.
- Architects, engineers, tests, deploys, and supports highly scalable and maintainable complex, end-to-end custom software applications.
- Ensures delivery of high-quality software by writing clean code and utilizing pair programming, test-driven development (TDD), and continuous integration.
- Actively engages in the technology industry, networks and understands how evolving technologies can benefit our organization.
- Influences cross-functionality and partners with other disciplines to develop strategy.
- Develops a solid understanding of the team’s guest experience, business, and systems.
Job-Specific Experience, Education & Skills
- 4 years of experience in software engineering or related area.
- Bachelor’s degree with a focus in Computer Science or a related field, or an additional two years of relevant training/experience in lieu of this degree.
- Experience in the following:
- Angular, TypeScript, and .NET Core
- Acting as a full-stack software engineer building custom, high scale, n-tier applications using object-orientated languages (c#, java, etc.).
- Developing web or mobile applications using modern technologies (react, swift, etc.)
- Utilizing appropriate design patterns to create clean, maintainable, and performant code.
- Expertise with TDD, unit testing, pair programming, and other XP techniques.
- Strong interpersonal skills and the confidence to socialize and introduce new ideas and technologies to communities of developers.
- High degree of professionalism, customer service orientation, initiative, flexibility, and the ability to multi-task.
- Excellent communication skills and proven ability to collaborate with a variety of team.
- Experience coaching and developing other software engineers.
- Experience building high-scaled distributed systems running in cloud environments.
- Experience with DevOps practices and supporting tools.
- Experience in agile/lean development methodologies.