Principle Software Engineer

Location: Santa Clara, CA or Tempe, AZ

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
  • Should have experience with the following components
    •  EC2
    • S3
    • IAM
    • Autoscaling
    • RDS
    • Redshift
    • Route53
    • EBS
    • EFS
    • KMS
    • Glue
    • Glue Crawler
    • Glue Database
  • 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

 

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.

To apply send a resume to [email protected]

Return to Search