Principal Software Engineer - Santa Clara, California United States - 43293



JOB DESCRIPTION

Job #: 43293
Title: Principal Software Engineer
Job Location: Santa Clara, California - United States
Employment Type:
Salary: contact recruiter for details
Employer Will Recruit From: Local
Relocation Paid?: NO

WHY IS THIS A GREAT OPPORTUNITY?


Pioneer in the FinTech space.  Bank has grown from $40B in assets to $116B in assets in 3 years during COVID.

Huge opportunity for upward mobility. 

 

 

JOB DESCRIPTION

Principal Software Engineer

Come join a growing bank at the heart of the innovation, technology, green tech and life sciences space. We continue to expand our global footprint and our banking technology is at the core of everything we do.

Work within our DevOps team and be part of a group that helps ensure our applications can be developed and deployed using industry standard tools and technologies. Work at the forefront of build and deploy automation. 

As a Principal Software Engineer, your primary responsibility will be supporting the development and delivery of the solutions/projects and initiatives being used by Development teams. The engineer will be responsible for setting up new build and deploy automation as well as troubleshooting/fixing existing. The role will be focusing on developing the solutions working closely with partner resources and onsite team members (development leads and systems analysts).

Primary Responsibilities:

  • Collaborate with product engineering teams to develop and deploy applications using Gitlab, Terraform, AWS services and methodologies
  • Analyze existing on-prem application architecture and develop cloud compatible solutions to migrate applications 
  • Ability to develop applications and deploy in AWS cloud in multi-region, multi-AZ distributed systems
  • Envision, Design and Build end-to-end Observability for Applications running on AWS Platform
  • Ability to leverage Terraform and contribute new Terraform templates for reuse across organization
  • Ensure security is integrated into all cloud architecture solutions
  • Develop and migrate mission critical services and build automation to proactively detect and prevent re-occurrences
  • Have full oversight into changes going into production, asset tagging, cost and capacity analysis, vulnerability, and patch management
  • Define auto-scaling processes for optimizing service and compute utilization
  • Build continuous integration and automated deployment pipelines for the applications Design and develop reusable frameworks, components and libraries that can be leveraged by other teams
  • Experience in administrating RHEL VMs
  • Hands on experience with scripting languages like Bash/Shell or Python.
  • Hands on experience in installing and configuring application/Web servers like Weblogic, Tomcat, apache and others
  • Knowledge of programming language will be a plus
  • Should have proficiency in debugging and resolving issues
  • Should have experience with hardening of webservers and configurations needed to secure them
  • Administrative experience in Jenkins
  • Should have experience in configuring and setting up Jenkins in Master Slave setup
  • Hands on experience with creating Jenkins pipeline jobs using groovy
  • Administration experience of other DevOps tools like SonarQube, Git, Checkmarx etc will be good to have   
  • Experience with Flyway DB and integrating it with Jenkins
  • Should have experience with integration tools with Jenkins as part of pipeline setup
  • Hands on experience with git concepts and ability to resolve conflicts
  • Hands on experience in Docker and Kubernetes
  • Should have experience creating docker files, deployment and service yaml     
  • Hands on experience with OpenShift will be good to have
  • Should have experience integrating container deployment into the DevOps pipeline
  • Hands on experience in any of the configuration management tools Ansible or Chef
  • Should have good hands-on experience AWS and aware of various networking and security concepts
  • Experience with IAM policies and configuring them
  • Experience in writing complex terraform scripts
  • Experience automating infrastructure provisioning using terraform
  • DevOps on AWS would be an added advantage
  • Excellent verbal and written communication and presentation skills.
  • Problem solving and decision-making skills Teamwork and Leadership skills Team management skills
  • Ability to lead projects and work in a cross functional capacity with teams
  • SME for toolsets and technologies

Should have experience with the following components

  • EC2
  • S3
  • IAM
  • Autoscaling
  • RDS
  • Redshift
  • Route53
  • EBS
  • EFS
  • KMS
  • Glue
  • Glue Crawler
  • Glue Database

Skills and Requirements:

  • Bachelor’s Degree in Computer Science, Engineering or a related technical discipline recommended
  • 8-10 years of demonstrated experience in designing and developing complex distributed IT solutions (e.g., cloud, distributed systems, or high-performance computing experience)
  • 6+ years of real work deployment experience in core infrastructure technologies including compute, storage, networking, databases, security, and management.
  • For the last 2+ years, hands-on experience with deploying cloud solutions such as AWS and others.
  • 5+ years of experience with DevSecOps tools (Jenkins, Gitlab) and building CICD pipelines
  • Experience with Jenkins, writing code as a pipeline jobs using groovy. Using groovy to create shared libraries
  • Hands-on Experience working with container platforms (Docker, Kubernetes, ECS)
  • Deep Understanding of service design for Cloud (AWS) using Containers, Container Orchestration (like Kubernetes), Service Mesh (like Istio), Kafka
  • Experience implementing and utilizing service mesh
  • Experience with Unix OS, writing scripts using shell/bash, Perl, Python for task automation
  • Good knowledge of Linux internals and administration
  • Network configuration of Firewalls, VPN, Routers/Switches, and Load Balancers
  • Troubleshooting and resolving single customer issues with Windows, Mac, and Linux, VPN, permissions, and ownership of a wide variety of account administration tasks.
  • Hands-on Extensive Experience with AWS Managed Services
  • Compute EC2, EKS, ECS, Lambda
  • Database RDS, DynamoDB, RDS
  • AWS Networking & Security Groups and their underlying technologies (Route53, VPC, ALB, Security Groups)
  • Well versed in AWS services for monitoring, logging, metrics, high availability, and automation
  •  Hands-on Experience in Linux environments (RHEL)
  • Deep knowledge & Hands on Experience of infrastructure as code (Terraform, Gitlab CI/CD) principles, knowledge of Terraform is a must to have.
  • Experience in systems software development (java go, python, bash, ... )
  • Hands-on Experience with Ansible, writing playbooks to automate tasks, deploy artifacts
  • Effective Communication Excellent listener proven collaborator with management and peers
  • Deep knowledge & Hands on Experience of infrastructure as code (Terraform, Gitlab CI/CD) principles, knowledge of Terraform is a must have
  • Hands-On Experience building solutions in AWS, including services such as EC2, S3, VPC, SNS, SQS, Lambda, Dynamo DB, RDS, Redshift, Glue etc.
  • Ability to create and utilize Terraform templates to automated creation of AWS images
  • Experience in developing business solutions in Java, node, reactJS or DotNet languages 
  • Experience in setting up ALBs and Security Groups for the applications
  • Experience with DevOps tools such as Jenkins, Maven, GitLab, SonarQube in a cloud environment
  • Demonstrable skillset in scripting languages, e.g., Bash, PowerShell Demonstrable skillset in programming languages, preferably JavaScript or Python
  • A team player capable of high performance, flexibility in a dynamic working environment and the ability to lead
  • Skill and ability to train others on technical and procedural topics
  • 10 years of related application engineering experience
  • AWS Certification in Developer or Solution Architect is preferred
  • Ability to analyze and troubleshoot production issues.
  • Required to work in overlapping/shift hours when needed.

QUALIFICATIONS

  • Bachelor’s Degree in Computer Science, Engineering or a related technical discipline recommended
  • 8-10 years of demonstrated experience in designing and developing complex distributed IT solutions (e.g., cloud, distributed systems, or high-performance computing experience)
  • 6+ years of real work deployment experience in core infrastructure technologies including compute, storage, networking, databases, security, and management.
  • For the last 2+ years, hands-on experience with deploying cloud solutions such as AWS and others.
  • 5+ years of experience with DevSecOps tools (Jenkins, Gitlab) and building CICD pipelines
  • Experience with Jenkins, writing code as a pipeline jobs using groovy. Using groovy to create shared libraries
  • Hands-on Experience working with container platforms (Docker, Kubernetes, ECS)
  • Deep Understanding of service design for Cloud (AWS) using Containers, Container Orchestration (like Kubernetes), Service Mesh (like Istio), Kafka
  • Experience implementing and utilizing service mesh
  • Experience with Unix OS, writing scripts using shell/bash, Perl, Python for task automation
  • Good knowledge of Linux internals and administration
  • Network configuration of Firewalls, VPN, Routers/Switches, and Load Balancers
  • Troubleshooting and resolving single customer issues with Windows, Mac, and Linux, VPN, permissions, and ownership of a wide variety of account administration tasks.
  • Hands-on Extensive Experience with AWS Managed Services
  • Compute EC2, EKS, ECS, Lambda
  • Database RDS, DynamoDB, RDS
  • AWS Networking & Security Groups and their underlying technologies (Route53, VPC, ALB, Security Groups)
  • Well versed in AWS services for monitoring, logging, metrics, high availability, and automation
  •  Hands-on Experience in Linux environments (RHEL)
  • Deep knowledge & Hands on Experience of infrastructure as code (Terraform, Gitlab CI/CD) principles, knowledge of Terraform is a must to have.
  • Experience in systems software development (java go, python, bash, ... )
  • Hands-on Experience with Ansible, writing playbooks to automate tasks, deploy artifacts
  • Effective Communication Excellent listener proven collaborator with management and peers
  • Deep knowledge & Hands on Experience of infrastructure as code (Terraform, Gitlab CI/CD) principles, knowledge of Terraform is a must have
  • Hands-On Experience building solutions in AWS, including services such as EC2, S3, VPC, SNS, SQS, Lambda, Dynamo DB, RDS, Redshift, Glue etc.
  • Ability to create and utilize Terraform templates to automated creation of AWS images
  • Experience in developing business solutions in Java, node, reactJS or DotNet languages 
  • Experience in setting up ALBs and Security Groups for the applications
  • Experience with DevOps tools such as Jenkins, Maven, GitLab, SonarQube in a cloud environment
  • Demonstrable skillset in scripting languages, e.g., Bash, PowerShell Demonstrable skillset in programming languages, preferably JavaScript or Python
  • A team player capable of high performance, flexibility in a dynamic working environment and the ability to lead
  • Skill and ability to train others on technical and procedural topics
  • 10 years of related application engineering experience
  • AWS Certification in Developer or Solution Architect is preferred
  • Ability to analyze and troubleshoot production issues.
  • Required to work in overlapping/shift hours when needed.

Education:
University - Bachelor's Degree/3-4 Year Degree

APPLY NOW FOR THIS JOB

Our recruiters are currently seeking to fill this position and hundreds like this in our network. If you are a match you'll be contacted with additional details.

We value your privacy and will never share your information with any employer without your consent.

Send your profile and resume to the recruiter who posted this job. You may include a cover letter to introduce yourself.

Cover Letter Text:

5,000 character limit