Full job description
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:
- Design, build and deploy new software features and services
- Troubleshoot and resolve system issues
- Participate in regular on-call schedule
- 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
- 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 with Redis, pub/sub and queuing technologies 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
Judgment/Reasoning Ability:
Able to identify, troubleshoot and resolve problems quickly using sound judgment, poise and diplomacy. Ability to use judgment and reasoning skills, and determine when to escalate issues, as required, in a timely manner.
Physical Demands:
The physical demands described here are representative of those that must be met by a Team Member to successfully perform the essential functions of this job. While performing the duties of this job, the Team Member is regularly required to talk and hear. The Team Member is frequently required to sit, walk, climb stairs, use hands and fingers, bend, stoop and reach with hands and arms. Reaching above shoulder heights, below the waist or lifting as required to file documents or store materials throughout the workday. The Team Member may occasionally lift or move office products and supplies up to 25 pounds. Proper lifting techniques required. Reasonable accommodations may be made to enable individuals with disabilities to perform the essential functions.
Work Environment:
The noise in the work environment is usually moderate. Other factors are:
- Hectic, fast-paced with multi-level distractions
- A professional, yet casual work environment
- Office environment
- Ability to work extended hours as required