Sr Software Engineer (C#.NET & APIM)
At Assurant, employees are the heart and soul of our company. Our work environment fosters teamwork and collaboration. We provide ways to make meaningful contributions, learn and develop professionally. We encourage creativity and innovation. The more our employees succeed, the better we are able to serve our customers.As a Fortune 500 company and a member of the S&P 500, Assurant's businesses offer a variety of products and services that provide opportunity and peace of mind -- but it is our people that set us apart. By listening to what our clients want and truly understanding what they need, Assurant employees develop innovative, customized solutions to help our customers meet their goals and protect them from unforeseen risks.By working at Assurant, you will be part of a thriving organization that offers a wealth of opportunities for career growth. We have established a tradition of encouraging employees to focus on their own professional development. Our fundamental belief is that when people can thrive and grow, we all benefit – the person, the business and our customers. If you are interested in discovering all the possibilities Assurant has to offer, then we can bring out the best in you.DescriptionThe Senior Developer is a position requiring working with our international clients, business partners, architects, developers, management and other IT groups to understand and design technical solutions for the desired capabilities. Collaboration, communication, and problem solving are key skills required. This developer is ultimately responsible for a complete detailed technical design for a given project for the application. Technical Role and Responsibility:Drives the development of design and build phases of the projectCommunicates frequently with management on project status, issues or newsTechnically leads the projects in the development process, as requiredPromotes and assures team follows the methodology standards and development process standards set by the ArchitectsParticipating in design reviewsLeads software reviews for consistency with best practices, standards and architecture guideline including code reviewProactively finds solutions to problems, document procedures, and drives the problem resolution approachCollaborates and work with the Architects and others leads to design the appropriate solution for the project using the Architect guidelines.Collaborate with Application & Database Architecture in the selection of the best design of projectsEnsure design meets user requirements and expectationsAnalyzes conditions and strategies that effectively minimize implementation risk and/or improve system reliability and performanceEnsure and facilitate the integration of components and systemsParticipating in team meetings with peers, staff and usersDemonstrates drive and leadership on projects and assignmentsWorks and meets with the team very frequently to discuss issues, progress, questions, open items, etc.Deliver all project commitments with quality and on schedule QualificationsEducationCompletion of Bachelor’s degree in MIS, CS, Technical Certification, etc. and/or 5 - 10 years of experience.Application-specific certifications generally considered a plus in the applications areas of focused for the technical lead. If certifications are not in place initially it is expected the lead will pursue and obtain these.Technical and non-technical Knowledge and SkillsExcellent written communication skillsBroad knowledge of web applications and infrastructureStrong knowledge of distributed systemsExperience with Microservices design and developmentExperience with cloud application design patternsExperience in application architecture, design, and development a plusExperience in influencing others, managing conflict and interacting well with individuals throughout the organizational hierarchyStrong communication and leadership in cross-functional teams.Previous ExperienceExperience administrating geographically dispersed systems. Minimum of 7 years of experience in technology services related work.Minimum of 4 years of related hardware/software and system technologies.Hands-on Scrum experience: story slicing, estimation (story points), prioritization, and delivering working software each Sprint.Fluent in English is requiredTechnology requirementsBroad knowledge and experience in the use of expertise in distributed technologies including:Expert in C#/.NET 6+, ASP.NET Core, LINQ, async/await, RESTful design, strong debugging and performance profiling.7+ years in software engineering; 3+ years building on Azure using PaaS services (App Service/Functions), and messaging (Service Bus).Advanced Oracle (SQL/PL/SQL, indexing, query plans, performance tuning)..NET DRY / SOLID PrinciplesHands-on APIM: policy authoring (rate-limit/quota, transform, validate-jwt, CORS), API lifecycle (versioning, revisions), products/subscriptions, developer portal, private networking/VNet, and integration with Front Door/WAF.Event-driven architectures (Service Bus/Event Grid)Hands-on CI/CD (Azure DevOps/GitHub), IaC (Bicep/Terraform/ARM)Instrument services with App Insights/Log AnalyticsOthers including CodeSmith code generator, Web Services, WSS 3.0, WSE, & WCF, CSS, HTML, DHTML; Javascripttest-driven development (TDD)Service Fabric Microservices Reporting tool – SSRS and SharePointSQL server 2014 + is a plusTravel required:10% Travel required to remote sites.