Protective Life

Software Engineer (II or Senior)

Protective Life • US
JavaScript Hybrid
The work we do has an impact on millions of lives, and you can be a part of it.
We help protect our customers against life’s uncertainties. Regardless of where you work within the company, you’ll be helping provide protection and peace of mind when our customers need it most.

Protective Life is searching for a Software Engineer to join the Licensing, Contracting and Compensation team of the Information Technology department. This team is responsible for maintaining contract information on our agents and the calculation and payment of agent compensation.

Success in this role requires leadership ability among peers, excellent oral and written communication skills, and effective collaboration with others, both internal and external to the team and company. The candidate should be self-motivated and show an inquisitive nature, seek improvements, and demonstrate strong accuracy and attention to detail. Other abilities include accepting responsibility and accountability for your own job and performance, demonstrating independent work behaviors, and having decision-making skills to achieve desired results. A successful candidate should have a desire to challenge others and be challenged to foster the best outcome.

Responsibilities:

  • Primary focus will be on working on a team developing, implementing, and testing a next generation agent compensation system.
  • The Software Engineer is responsible for designing, coding, testing, implementing, maintaining, and supporting software applications.
  • Works closely with business analysts and customers to gather requirements to ensure the customer’s business needs and expectations are met in a timely and cost-effective manner. 
  • Diagnoses, isolates, and debugs software problems and provides resolution. 
  • Prepares and modifies technical documentation.
  • Work Experience, Education, Certification/Training Required - (For a Junior Role)

  • 3+ years software development experience
  • 3+ years .NET development experience
  • Experience in SQL database development
  • Typically, a post-secondary degree, preferably in Management Information Services, Computer Science or Math related field may substitute for work and/or technical experience
  • Knowledge and Abilities Required - (For a Junior Role)

  • Must be able to manage multiple, changing priorities, resolve conflicts
  • Must be self-motivated, able to work independently and willing to self-teach and take responsibility for ongoing professional development
  • Requires oral and written communication skills sufficient to communicate clearly with peers and customers
  • Ability to perform reviews of other developers’ code and provide sign off and or constructive feedback
  • Experience in agile methodologies is a plus
  • Experience with automated testing is a plus
  • Required Skills:
  • C#
  • Visual Studio
  • Webservices (ASP.NET Web API, WCF, SOAP)
  • ASP .Net MVC 5+
  • SQL Server 2008+
  • Strong knowledge of HTML, CSS, and JavaScript
  • Unit testing
  • Ability to build dynamic user interfaces from scratch based on mockups and detailed requirements
  • Preferred Skills
  • Experience with Angular, React, or similar JavaScript libraries
  • Experience with automated UI testing frameworks (Selenium or similar)
  • Experience with Bootstrap or similar CSS frameworks
  • Knowledge of responsive design principles
  • Experience with Distributed and Asynchronous Design and Development
  • Experience with CI/CD processes.
  • Experience with GitHub Copilot
  • Experience with Git and source control in a shared development environment
  • Work Experience, Education, Certification/Training /Knowledge and Abilities Required - (For a Senior role)

    Work Experience, Education, Certification/Training Required 

    • Typically 7-10+ years of web development experience but negotiable based off skill level. 

    • Typically, post-secondary degree, preferably in Management Information Services, Computer Science or Math related field may substitute for work and/or technical experience.    

    • Proven experience in all aspects of the software development process 

    • Technical certifications are desirable. 

    Knowledge and Abilities Required 

    • Demonstrates a thorough, detailed knowledge of relevant technologies.  

    • Responsible for designing and implementing how the technologies will be incorporated in current systems or will be used in development of complex new systems. 

    • Demonstrates a thorough, detailed understanding of various data structures. 

    • Requires programming skills sufficient to solve difficult and very complex technical problems. 

    • Must be able to manage multiple, changing priorities, resolve conflicts and be able to work well under pressure. 

    • Must be self-motivated, able to work independently and willing to self-teach and take responsibility for ongoing professional development. 

    • Ability to analyze and design software solutions to meet very complex requirements. 

    • Requires oral and written communication skills sufficient to communicate clearly with peers and customers. 

    • Ability to perform reviews of other developers’ code and provide sign off and or constructive feedback.