This list contains only the countries for which job offers have been published in the selected language (e.g., in the French version, only job offers written in French are displayed, and in the English version, only those in English).
Wells Fargo is seeking a Senior Software Engineer. We are looking for an experienced and fully hands-on Application Support Engineer with deep understanding of Reliability Engineering (SRE) principles, and considerable practical experience implementing them in complex enterprise environments, to join our WIMT Platform team. This Application Support Engineer / SRE will assume Operational Ownership (in partnership with Software Development and Business owners) of a subset of WIMT systems and applications, with the primary focus on improving Reliability and Supportability -- by acquiring deep understanding of the in-scope systems, and using SRE principles to operate them. Ideal candidate enjoys and takes pride in solving complex technical problems, using creative approaches to troubleshooting and weakness analysis, automating routine or risky manual operations, sharing knowledge and experience with colleagues, and leading others by personal example. Candidate will join a passionate engineering Team that combines various skillsets and experiences as Systems Engineers, Software Engineers and Infrastructure Engineers, to achieve strategic reliability and everyday operational health goals.
Job Responsibility:
Operational Ownership / Application Support: Maintain system operational knowledge (functional and technical)
Understand and monitor system operation, ensure optimal availability, functional health, and performance (driven by SLO/SLA)
Triage alerts, respond to incidents, perform root cause analysis (troubleshooting)
Handle users' questions and requests related to business systems (not a Desktop Support)
Ensure continuous improvements of operational processes and methods
Reliability Engineering: Analyze system's monitoring and observability needs (technical, functional, business), and create or adjust logging, monitoring, alerting and analytics solutions to cover those needs
Use understanding of software engineering (system code) and infrastructure to improve the depth and quality of root cause analysis (troubleshooting)
Partner with Architecture, Infrastructure and Development teams to influence decisions that impact reliability and supportability
Identify routine or risky manual operations, and create automation solutions (scripting, tooling) or influence fixing the sources of manual work (as appropriate)
Drive deeper post-incident reviews for major incidents, to learn and improve
Engage in weakness research and analysis, and architectural reviews, to use deep knowledge of production operation to suggest improvements
Use deep knowledge of production operation to create detailed high-quality stories and tasks on DEV owners' backlog, with the focus on reliability and supportability
Ensure continuous improvements of systems' reliability and supportability
Requirements:
4+ years of Software Engineering experience, or equivalent demonstrated through one or a combination of the following: work experience, training, military experience, education
12+ years of software engineering experience
5+ years of application production support experience
Education BS/BA degree or higher
An industry-standard technology certification
Strong verbal, written, and interpersonal communication skills
3+ years of experience with Cloud technologies
Knowledge and understanding of Site Reliability Engineering (SRE) concepts
3+ years of Agile experience
Advanced scripting skills specifically around automation, log rotation, data collection, error collection and alerting
Scripting and automation experience
Experience with complex business logic and dependencies
3+ years of CI/CD automation and configuration experience (DevOps / pipeline automation)
3+ years of experience with ITSM processes (e.g. Incident Management, Change Management, Asset Management and Configuration Management)
Hands-on experience with writing / maintaining technical documentation such as fixlogs, runbooks, knowledge base, architectural diagrams
Hands-on experience with system administration across multiple platforms
Hands-on experience with one or more software development languages: Java, JavaScript, Ruby, Python, JSON, Angular, NodeJS, .Net/C#
Hands-on experience with one or more CI/CD automation tools: Jenkins, Gradle, Maven, Git, SonarQube, Artifactory, Ansible, Puppet, Apigee
Hands-on experience with one or more process management and scheduling tools: Autosys, JAWS
Hands-on experience with one or more Monitoring/Observability/APM/Analytics tools: Splunk, Elastic, Kibana, Grafana, Prometheus, AppDynamics, Dynatrace, New Relic, DataDog, Kafka, CloudWatch, Jaeger, Zipkin, Big Panda, TrueSight
Hands-on experience with one or more Server OS: Windows, Linux, Unix, Mainframe
Hands-on experience with one or more Cloud and virtualization technologies: Azure, GCP, AWS, PCF, PKS, Kubernetes, OpenShift, VMware
Hands-on experience with one or more Data storage, management and messaging technologies: Kafka, IBM MQ, Apache Airflow, Logstash, Spark, Oracle, SQL, MongoDB, Cassandra, Hadoop, Cloudera, AWS EMR, S3
Hands-on experience with one or more Testing Frameworks: Selenium, JMeter, Blazemeter, Performance Center, Perfecto, Cucumber, Gherkin, ALM, Gremlin, Chaos Monkey, Chaos Toolkit, Simian Army, Toxi Proxy
Working knowledge of TCP/IP networking, experience analyzing packet captures to assist in troubleshooting
Working knowledge of Internet technologies: routing, NAT, firewalls, load-balancing, proxies, web servers
Ability to work additional hours as needed
Ability to work on call as assigned
Flexibility to work in a 16/7 environment, including weekends and holidays