Principal Software Engineer - Santa Clara, United States - Professional Recruiters

    Default job background
    Description
    Principal Software Engineer, Santa Clara, California or Tempe, Arizona

    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 servicesand methodologiesAnalyze existing on-prem application architecture and develop cloud compatible solutions to migrate applicationsAbility to develop applications and deploy in AWS cloud in multi-region, multi-AZ distributed systemsEnvision, Design and Build end-to-end Observability for Applications running on AWS PlatformAbility to leverage Terraform and contribute new Terraform templates for reuse across organizationEnsure security is integrated into all cloud architecture solutionsDevelop and migrate mission critical services and build automation to proactively detect and prevent re-occurrencesHave full oversight into changes going into production, asset tagging, cost and capacity analysis, vulnerability, and patch managementDefine auto-scaling processes for optimizing service and compute utilizationBuild continuous integration and automated deployment pipelines for the applications Design and develop reusable frameworks, components and libraries that can be leveraged by other teamsExperience in administrating RHEL VMsHands 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 othersKnowledge of programming language will be a plusShould have proficiency in debugging and resolving issuesShould have experience with hardening of webservers and configurations needed to secure themAdministrative experience in JenkinsShould have experience in configuring and setting up Jenkins in Master Slave setupHands on experience with creating Jenkins pipeline jobs using groovyAdministration experience of other DevOps tools like SonarQube, Git, Checkmarx etc will be good to haveExperience with Flyway DB and integrating it with JenkinsShould have experience with integration tools with Jenkins as part of pipeline setupHands on experience with git concepts and ability to resolve conflictsHands on experience in Docker and KubernetesShould have experience creating docker files, deployment and service yamlHands on experience with OpenShift will be good to haveShould have experience integrating container deployment into the DevOps pipelineHands on experience in any of the configuration management tools Ansible or ChefShould have good hands on experience AWS and aware of various networking and security conceptsExperience with IAM policies and configuring themExperience in writing complex terraform scriptsExperience automating infrastructure provisioning using terraformDevOps on AWS would be an added advantageShould have experience with the following componentso EC2

    o S3

    o IAM

    o Autoscaling

    o RDS

    o Redshift

    o Route53

    o EBS

    o EFS

    o KMS

    o Glue

    o Glue Crawler

    o Glue Database

    Excellent verbal and written communication and presentation skills.

    Problem solving and decision making skills Teamwork and Leadership skills Team management skillsAbility to lead projects and work in a cross functional capacity with teamsSME for toolsets and technologiesSkills and Requirements:

    Bachelor's Degree in Computer Science, Engineering or a related technical discipline recommended8-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 imagesExperience in developing business solutions in Java, node, reactJS or DotNet languagesExperience in setting up ALBs and Security Groups for the applicationsExperience with DevOps tools such as Jenkins, Maven, GitLab, SonarQube in a cloud environmentDemonstrable skillset in scripting languages, e.g., Bash, PowerShell Demonstrable skillset in programming languages, preferably JavaScript or PythonA team player capable of high performance, flexibility in a dynamic working environment and the ability to leadSkill and ability to train others on technical and procedural topics10 years of related application engineering experienceAWS Certification in Developer or Solution Architect is preferredAbility to analyze and troubleshoot production issues.

    Required to work in overlapping/shift hours when needed.

    #J-18808-Ljbffr