
Senior Software Engineer
- Newark, NJ
- $107,700-160,500 per year
- Permanent
- Full-time
- Build applications ensuring that the code follows the latest coding practices and industry standards, using modern design patterns and architectural principles; remove complex technical impediments
- Deliver services in cloud-based environments like AWS, Google Cloud or Microsoft Azure. Develop and support solutions to automate the creation, management, or destruction of infrastructure, actively code against the roadmap
- Develop high quality, well documented and efficient code adhering to all applicable Prudential standards
- Accelerate application development by building patterns of infrastructure services that are consumed self-service, resilient, reliant and in accordance with 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 and support the goals
- Write unit, integration tests and functional automation, researching problems discovered by quality assurance or product support, developing solutions to address the problems
- Bring a deep understanding of relevant and emerging technologies, give technical direction to team members and embed learning and innovation in the day-to-day
- Work on significant and unique issues where analysis of situations or data requires an evaluation of intangible variables and may impact future concepts, products or technologies
- Use programming languages including but not limited to Python, Java, or JavaScript, Shell/Power scripting, and Ansible, CloudFormation and Terraform frameworks
- Bachelor of Computer Science or Engineering or experience in related fields
- Ability to work independently with minimal guidance and effectively 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
- Significant experience and/or deep expertise with several of the following:
- Programming Languages: Python, Java or Java Script; working in distributed systems, object-oriented programming, modern design patterns and design methodology; microservices, multi-threading, concurrency and parallel processing
- Frameworks: React, Springboot, Node.js. Examples include Full / MEAN / MERN stack
- Data Store: NoSQL or Relational Data structures
- Data Streaming: SQS, Kinesis
- Application Programming Interfaces (API): Consumption & Development; design & implementation of microservices/API architecture patterns using REST/SOAP, JSON/XML, HTTP/HTTPS/TLS
- Unit, interface, performance and end user testing concepts and tooling (functional & non-functional)
- Automated testing using tools such as Cucumber and Selenium
- Accessibility awareness at UX design time and throughout the development and test cycles
- Software security skills including secure coding, web application security and DevSecOps; Solid grasp of security concepts including authentication, authorization, encryption, digital signature, JWT, SSL, web service proxies, firewall, SAML 2.0, OpenID Connect, OAuth 2.0, certificates
- Dev Ops Tools & Practices: Branching techniques and usage of GitHub, Bitbucket or Subversion; DevOps, Jenkins, CI/CD
- Experience supporting Production applications at scale. This includes proactive monitoring, performance/response time, alerts, built in resiliency and disaster recovery.
- AWS Development: Implement Infrastructure as Code (IoC) practices to automate cloud infrastructure deployment and management. Strong understanding and hands on experience with AWS Core Services such as Lambda, S3, CloudWatch. Experience deploying applications to AWS, ECS, EC2, EKS
- Architecture Patterns: Microservices, Events, Sidecar, Orchestration/Choreography
- Design Thinking: Use design thinking techniques to deliver innovative user experiences and solutions
- Preferred qualifications:
- AWS Certified Developer – Associate
- AWS Solutions Architect – Associate
- Financial/Insurance industry experience is a plus, not a must