Senior Software Development Engineer - SCS
Job Summary:
The Sr. SDE will be part of an agile development team, building and working on enterprise-grade software systems on top of the Microsoft .NET development stack. The Sr. SDE develops information systems by designing, developing, and installing software solutions that are scalable for a high transaction environment.
Job Expectations:
Follow secure programming and web application security best practices
Responsible for writing technical design specifications
Recommend and develop an architectural and detailed design that is used by other members of the development teams
Coach the team on software best practices (design, coding, troubleshooting, work breakdown, work estimation, refactor strategies, automated testing, etc.)
Must be able to mentor all levels
Work closely with the other teams to optimize system architecture and project efficiency
Partner with our Product Owner to plan work and prioritization
Maintain high standards of software quality within the team by establishing good practices and habits
Provide regular updates on projects and team performance
Identify and encourage areas for growth and improvement within the team
Assist in the collection and documentation of user's requirements, development of user stories, estimates and work plans
Collaborate and add value through participation in peer code reviews, providing comments and suggestions
Analyze and resolve technical and application problems
Regular practice of CI/CD
Support, maintain and document software functionality
Research and evaluate a variety of software products; create PoCs as necessary to demonstrate new ideas and technologies
Knowledge, Skills and Abilities:
Communication skills: must be able to articulate and have a strong technical vocabulary
Must be able to coach the team on software best practices (design, coding, troubleshooting, work breakdown, work estimation, refactor strategies, automated testing, etc.)
Strong knowledge in Object-oriented Design and Analysis (OOA and OOD) and Solid Principal
Evaluate and identify new technologies for implementation
Strong knowledge of C# .NET and/or Java
Strong knowledge of Relational and non-relational DBs
Knowledge and experience in Distributed systems, MicroServices, SOA and n-tier architectures
Knowledge of REST API, event-driven architecture applications, caching, scaling, security, etc.
Strong knowledge of CI/CD pipelines, automated testing and deployment
Strong understanding of best practices within any .Net technology
Experience with Parallel Programming / Thread-safe coding
Strong knowledge of Managed Memory Architecture / Garbage Collector / Cache Management
Strong knowledge of Connection Pool / Data Reader
Production experience with Docker, Kubernetes is a plus
Experience with DDD, Event-Sourcing and CQRS is a plus
Experience Requirements:
Requires a minimum of five years of experience with software development, design patterns, software architecture
Education Requirements:
Bachelor’s Degree in Computer Science/Engineering or related fields