The Software Engineer II writes and maintains code within applications and systems to implement capabilities and features, improve performance and maintainability, while reducing technical debt in alignment with product and technology roadmaps. The Software Engineer II plays a role in Agile planning, providing advice and guidance, and monitoring emerging trends.
Works with Product Management to understand the challenges that customers and end users face in their day-to-day work and partner with them to design viable solutions.
Recommends viable solutions to processes, technology, and interfaces that improve the effectiveness of the team and reduce technical debt.
Foresees capacity requirements for component usage and identifies limitations.
Provides input into story sizing, backlog grooming, and release planning.
Contributes to product and solution designs to address critical issues and complex problems.
Builds software applications across multiple platforms in response to the needs of stakeholders.
Understands technical architecture and writes software and automated tests that are aligned with agreed upon standards.
Performs trouble-shooting efforts and investigations when necessary.
- Provides ongoing support, monitoring, and maintenance of deployed products.
Advice and Guidance
- Actively works with less experienced software engineers providing technical guidance and oversight.
Emerging Technology Monitoring
- Actively participates in the engineering community, staying up to date on new software technologies and best practices and shares insights with others in the organization.
- Minimum of 5 years professional experience in C# .NET including prior Lead experience
- Minimum of 2 years professional experience developing software in Agile environment
- Working experience in coding within multiple technology stacks (e.g. Front-end: browser and device typically using common client-side technologies – HTML, CSS, ReactJS, Redux; Back-end: server, application, database using languages like C#, SQL)
What We Look For:
- Someone who’s passionate about and stays on the cutting edge of emerging .NET technologies
- Experience building clean, well defined, backend services that scale to an ever increasing user and workload demand
- Willingness to test as much of the core functionality of our app as possible
- Experience consuming and creating web services in a .NET environment.
- Experience building and implementing scalable applications that use modern design patterns and practices
- Ability to turn high-level requirements into a working system through iterative development
- Ability to work on multiple projects and be flexible to adapt to changing requirements
- High energy, confident, ambitious and self-motivated individual.
- Must be an effective communicator
- Willingness to mentor other Software Engineers
- BS in Computer Science or related degree, or equivalent work experience