Software Engineer- Level III
The Software Engineer III develops, implements, and maintains software solutions that enable business operations to realize company goals & objectives.
The incumbent performs analysis, design, coding, debugging, testing, and support of software applications. May be assigned to develop new applications / systems, enhance / upgrade existing systems or provide production support.
He / she works independently on moderately complex projects, receiving only general direction. May provide assistance and direction to less experienced peers.
Works with the Agile Program Manager (APM), Digital Product Manager (DPM), and Business Systems Analyst (BSA) to accurately capture stakeholder requests and system specifications and translate them into engineering artifacts, which typically include design specifications, source code, test scripts and test results.
Coordinates with software architects and Software engineer IVs to ensure that the engineering realization is in accordance with Enterprise Architecture principles and software development best practices.
As part of Agile teams, completes software development work which includes application design, coding, code review and testing.
Keeps Agile team and APM apprised of project status.
Offers suggestions to stakeholders on devising effective and efficient approaches to achieve project and program objectives.
Manages engineering risks by proactively tracking and communicating issues, and devising methods to mitigating them.
Liaises with other project and program areas to coordinate interdependencies and resolve issues.
Supports business units in the resolution of in-depth user questions and issues following production support process and SLA's.
Maintains a working knowledge of new technology and software engineering standards, practices and tools.
Provides input to APM / DPM in creation of Product Roadmap, High Level Estimates
Collaborates with IT management to define and develop documentation & engineering artifact standards, guidelines, processes, and templates.
Advanced knowledge of the theoretical and practical application of highly specialized software engineering best practices, methods & techniques.
Extensive experience in developing software applications on the assigned technology platform.
Extensive knowledge on source code change management and related tools.
Knowledge and experience using agile software development principles, process and tools..
Excellent analytical, problem solving and organizational skills.
Excellent interpersonal, and written and oral communication skills.
Strong customer service skills in order to provide end user / business owner systems support.
Knowledge of production support processes such as incident and problem management techniques.
Experienced in scalable, high-availability back end database technologies primarily SQL Server
Experience building microservices with SpringBoot as well as building and calling API's.
Experience with non-relational database technologies would be a plus such as Memcached, MongoDB, Redis
Front end development experience including HTML5, CSS, Bootstrap, jQuery, Accessibility and Responsive Layouts UI / UX development experience.
Experience with Insurance / Reinsurance Systems and Data
Strong understanding of server-side software, scalability, performance, and reliability Skills
Strong understanding of the OSI model, Networking, OS Layer and Services
Understanding of continuous delivery tools like Chef, Puppet, Salt
Understanding of continuous integration and deployment tools like Octopus deploy, Jenkins
Some experience with Docker, Docker Swarm, Kubernetes, OpenStack, Swift, is a nice to have even if it is lab experience.
Excellent communication skills :
Ability clearly speak and understand the English language.
Excellent command of the English language, i.e. Ability to write and understand the written documents, email and other forms of electronic communications.
Ability to discuss, articulate and simplify technology to non-technical people.