Description:
As a Software Engineer on/in Corporate Technology's reinsurance team, you will partner with product owners, tech leads, designers, engineers and delivery professionals to improve automate manual processes, improve systems architecture, design more efficient data models, and facilitate improved reporting and analytics.
Here is What You Can Expect on a Typical Day
- Build applications ensuring that the code follows latest coding practices and industry standards, using modern design patterns and architectural principles, with guidance, actively code against the roadmap
- Develop high quality, well documented and efficient code adhering to all applicable Prudential standards
- Collaborate with product owners in understanding needs and defining feature stories, tech leads in defining technical design and other team members to understand the system end-to-end and deliver robust solutions that bring about business impact
- Write unit, integration tests and functional automation, researching problems discovered by quality assurance or product support, developing solutions to address the problems
- Bring an understanding of relevant and emerging technologies, begin to identify opportunities to provide feedback to the team, and embed learning and innovation in the day-to-day
- Work on problems of diverse scope in which analysis of data requires evaluation of identifiable factors
- Use programming languages including but not limited to Python, Java, or JavaScript and React, Springboot, Node.js frameworks
The Skills & Expertise You Bring
- Bachelor of Computer Science or Engineering or experience in related fields
- Leverage diverse ideas, experiences, thoughts and perspectives to the benefit of the organization
- Experience with agile development methodologies and Test-Driven Development (TDD)
- Knowledge of business concepts tools and processes that are needed for making sound decisions in the context of the company's business
- Ability to learn new skills and knowledge on an on-going basis through self-initiative and tackling challenges
- Excellent problem solving, communication and collaboration skills
- Experience with the following:
- Programming Languages: Python, Java or Java Script; working in distributed systems, object oriented programming, design patterns and design methodology; JAVA services using Spring CLI, Maven, Microservice, multi-threading, Concurrency and parallel processing
- Frameworks: React, Springboot, Node.js, such as Full / MEAN / MERN stack
- Data Store: NoSQL or Relational Data structures; MongoDB BPM tools
- Data Streaming: SQS, Kinesis
- Knowledge/understanding of the following:
- Application Programming Interfaces (API): Consumption & Development; implementing service oriented architecture (SOA) patterns; Web service technologies such as APIs, REST, JSON, SOAP, XML, JDBC, MySQL
- Unit, interface and end user testing concepts and tooling (functional & non-functional)
- Automated testing
- Accessibility awareness
- Software security skills including secure coding, web application security and DevSecOps; Solid grasp of security concepts (authentication, authorization, encryption, digital signature, JWT), SSL, web service proxies, firewall, SAML 2.0, OpenID Connect, OAuth 2.0)
- Dev Ops Tools & Practices: Branching techniques and usage of GitHub, Bitbucket or Subversion; DevOps, Jenkins
- Software Development Life Cycle (SDLC): Monitoring and logging techniques
- AWS Core Services: AWS Services such as CloudWatch, Code-Deploy
- Preferred qualifications:
- AWS Development
- Architecture Patterns
- Design Thinking
- Financial/Insurance industry knowledge is a plus, not a must