Full-stack Software Engineer to help build the next generation of our digital experience. Our agile development teams develop and support our products top-to-bottom and ship software on a regular basis (anywhere from daily to every two weeks). A successful candidate will thrive in a fast paced, autonomous team environment, is passionate about building software the right way, and influences the way their team builds great products. Finally, they will enjoy the reward of delivering business value quickly while working with product owners to help craft their roadmaps in pieces that can be delivered in an incremental nature.
- Contributes as a full-stack engineer 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.
Job-Specific Skills, Education, and Experience
- A minimum of 3 years of experience with the following:
- Acting as a full-stack software engineer building custom, high scale, n-tier applications using object-orientated languages (c#, java, etc.).
- Must have at least 2 years of experience with React programming
- 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.
- Bachelor's degree in Computer Science.
- Experience building high-scaled distributed systems running in cloud environments.
- Experience with DevOps practices and supporting tools.
- Experience in agile/lean development methodologies.