Senior Software Engineer, Assurant, India
About US: Assurant, Inc. is a global provider of risk management products and service with headquarters in Atlanta. Its businesses provide a diverse set of specialty, niche-market insurance products in the property, casualty, extended device protection, and preneed insurance sectors. The company’s main operating segments are Global Housing and Global Lifestyle. Assurant is 325 on the Fortune 500 list of the largest companies in the United States
This position will be Hybrid at our Bangalore/Mumbai/Chennai, India location.
What will be my duties and responsibilities in this job?
- Analyze requirements and design solutions for approved projects and change requests of moderate to high complexity and risk (20%)
- Gather, organize, and document data and requirements from various stakeholders and constituencies according to given direction and standards.
- Participate in design consultations with hardware and software technicians.
- Develop, document and present design solutions and supporting rationale.
- Prepare and obtain approval of estimates of work effort and duration for assigned tasks.
- Participate in the preparation of product vision and project documentation.
- Design/develop system, application, and program code according to business and technical requirements (30%).
- Identify and recommend software and infrastructure components required to implement technical solutions.
- Identify and recommend solution objects, functions, interfaces, dependencies, and integration points.
- Prepare design documentation; submit for design review.
- Convert basic specifications into equivalent infrastructure and application software structures.
- Code and unit test independently or as part of a development team.
- Submit software products for review of compliance with best practices, standards, and enterprise architecture (code review).
- Participate in quality assurance and testing to achieve quality objectives (20%).
- Review established quality requirements and measurement metrics.
- Participate in quality assurance and testing activities according to planned schedules.
- Learn, use, and gain experience with testing tools and techniques.
- Perform technical support activities required for execution of test plans.
- Perform root cause analysis and defect correction as indicated by test results.
- Evaluate outcomes, report results and document findings according to current standards.
What are the requirements needed for this position?
Overall Work Experience: 6+ Years.
Mandatory Skill Sets Requirement: Node JS + Angular + MySQL
- Sound knowledge and experience in the use of expertise in distributed technologies, including but not limited to.
- Highly experienced and skilled in Node.js, PHP, AJAX, and Extensible Markup Language (XML & XMLT) and jQuery.
- Expertise and experience with RESTful API and JSON.
- Expertise and experience with database technologies including MySQL, MongoDB, AWS RDS and stored procedures.
- Good to have experience and knowledge in Angular & Python.
- Knowledge and familiarity with CSS, HTML, DHTML and JavaScript.
- Understanding of Web Servers – Apache Tomcat, Load Balancers (Layer 4 & 7), Proxy and Reverse Proxy, State Management.
- Knowledge of client/server and n-tier development principles including Unified Modelling Language (UML) and other tools supporting Object Oriented Analysis and Design (OOAD).
- Knowledge of development concepts for Linux and web services.
- Proficient with code versioning tools including Git, Azure DevOps.
- Knowledge of Azure DevOps and Jenkins to automate the build and deployment of applications.
- Established programming skills in targeted languages and utilities for the distributed environments and relational database technologies.
- Effective oral and written communication skills.
- Estimation skills for cost, effort, and duration of product deliverables of moderate to high complexity.
- Analysis skills for technical problems and solutions of moderate to high risk.
- Ability to perform work and achieve results in generally unambiguous situations.
- Ability to analyze issues, handle ambiguity, and make sound, timely decisions with less than complete information.
- Ability to prioritize and manage multiple tasks and assignments of low to high complexity.
- Ability to manage expectations, issues and risk for tasks and assignments.
- Ability to deliver results on time, on budget and within scope.
- Capable of performing duties under pressure in a fast-paced, high-volume environment.