Lead Software Engineer
Assurant
This job is no longer accepting applications
See open jobs at Assurant.See open jobs similar to "Lead Software Engineer" Refresh Miami.Software Engineering
Brazil · Remote
Posted 6+ months ago
Job Purpose
The Lead Software Engineer designs, codes and tests multi-platform application programs, functions, services, and other related software components to meet the end-user’s and business goals of the highest complexity and risk. The incumbent maintains ownership of the software development lifecycle (SDLC) by providing leadership, technical guidance, training and mentoring to others in areas of acquired expertise. The incumbent plans, organizes, leads, supervises, and coordinates the day-to-day activities for the staff within their team. The incumbent is responsible for the efficient application of currently relevant and appropriate emerging technology in the development of quality products within the constraints of time and budget.
Responsibilities:
Analyze requirements and design solutions for approved projects and change requests of the highest complexity. (20%)
Gather requirement data from various stakeholders and constituencies.
Review, evaluate, organize, and document detailed requirements of the various stakeholders.
Evaluate technical capabilities, options, and strategies.
Develop, document, present and recommend design solutions and alternatives.
Prepare estimates effort and duration for development tasks and activities.
Prepare and contribute toward the preparation of project and product vision documentation.
Schedule regular engineering meetings with Enterprise Architecture to discuss new ideas, issues and ensure technical alignments.
Design/develop system, application, and program code according to business and technical requirements (30%)
Interacts with Enterprise Architecture to validate software and infrastructure components required to implement technical solutions.
Prepare of design documentation; evaluate designs for requirement consistency.
Code and unit test solutions of high complexity and help other engineers in codding activities.
Mentor Software Engineers on best practices of software development.
Evaluate software developed for consistency with best practices, standards, and enterprise architecture (code review)
Assess the stability, the integrity, the performance and the efficient operation of the systems and infrastructure that the team supports.
Plan and develop proof of concepts (POCs) to demonstrate solutions through new technologies and patterns (5%)
Review industry trends to identify applicable use cases for complex business problems.
Design a repeatable pattern for others to follow when the POC is accepted and leveraged in our solutions.
Select/recommend appropriate tools and techniques.
Perform and/or direct and mentor technical implementation.
Analyze the cost/benefit of the solution for viability and report findings to management to assess.
Evaluate outcomes, review findings, and recommend strategies that improve long term system scalability and performance.
Implement solutions (20%)
Adhere to Assurant change management requirements for application and system implementations.
Analyze conditions and approve strategies that effectively minimize implementation risk and/or improve system reliability and performance.
Prepare and/or oversee the preparation of and approve change management and Help Desk documentation according to implementation requirements.
Assure reliable disaster recovery and back-out mechanisms are in place and readily available.
Execute, direct, and approve software implementation activities according to current standards and policies.
Monitor implementations and coordinate and/or direct appropriate response in the event of disruptive impacts.
Oversee day-to-day activities of the Support Team (15%)
In consultation with Manager, establish and monitor development plans, short- and long-term goals for the development team.
Ensure that all processes are documented and that the staff is cross trained.
Oversees requests and incidents for the business.
Provides feedback on performance of development team members to S Managers.
Involve in the hiring and onboarding process for developers
Maintain and enhance knowledge of the business operations and strategic imperatives of Assurant (10%)
Periodically review business goals and operational and strategic objectives
Apply knowledge of the key components and relationships of Assurant products, distribution channels, and customer base
Foster and sustain open communication with business application users and stakeholders.
Adhere to the Assurant Core Principles; pursue achievement of excellence in Core Competencies
Know the critical success factors supporting the Assurant Core Purpose, Mission, Goals and Strategy
Education:
• High School diploma or GED equivalent
• Bachelor’s degree or equivalent applicable industry experience
Previous Experience:
• 10 years’ experience working in the Information Technology field.
• 3+ year’s experience leading technical teams of software developers
Knowledge and Skills:
• 5 years’ experience developing solutions over systems at big scale cloud-based architectures on Azure, and subject matter expertise in various distributed technologies like microservices architectures and databases (Oracle P/L SQL Packages Store Procedures, Cosmos DB, AzureTables).
• Deep knowledge on Microsoft Technology stack: Windows and Web-based Services, IIS, .Net, .Net Core, C#, Azure APIM, Azure Functions, Application Insight, Azure Event Grid, Azure DevOps and other technologies like REST, SOAP
• Strong knowledge of operational excellence best practices, SDLC performance metrics, system reliability, system observability and monitoring.
• 5 years of experience with quality assurance and testing procedures TDD, test automation, performance testing, security testing and techniques employed within multi-platform application and system development cycles. Knowledge of testing tools like Postman and Soapui.
• 5 years of experience with the comprehensive insight into concepts, tools and processes used for estimating, tracking, managing, and reporting work.
• 5 years’ experience documentation skills to translate requirements into technical specifications, creation of playbooks and runbooks and procedures to support the area.
• 5 years’ experience working on agile scrum methodologies.
• 3+ years’ experience with training leadership, coaching, and mentoring skills in both individual and group settings.
• Effective oral and written communication skills in English
This job is no longer accepting applications
See open jobs at Assurant.See open jobs similar to "Lead Software Engineer" Refresh Miami.