Staff Software Engineer(REF2369Z)-Digital and Mobile Product Development (DMPD)

  • Full-time
  • Job Family Group: Technology and Operations

Company Description

The Digital and Mobile Products organization is building a new generation of applications to facilitate commerce in everyone's new digital lives. Our focus is to build profoundly simple to use apps that embed into our customers' everyday lives. Visa customers trust us with the most valuable data on earth about global commerce. The Digital & Mobile Product Development (DMPD) technology group develops eCommerce (Visa Checkout) and mobile solutions (Visa Tokenization Services, Visa Direct, and mVisa) that promote the growth of digital commerce in emerging and developed markets. As an organization we pride ourselves as the next generation of payment innovators and change agents to the organization.

Reliability Engineering team is a recent initiative within DMPD's Platform Engineering & Operational Services organization for building highly scalable reliability services & platforms that are integrated in all core digital products. Reliability engineering team builds and operates innovative platform solutions that help assure the high availability, performance and health of business services. This position will be responsible for technically leading a team of developers to design and implement systems and solutions that support Visa consumer, tokenization and cloud based payment offerings. We are looking for self-motivated stars who are passionate about software development and will adopt best practices to minimize operational overhead with automation testing, code reviews and support for continuous integration/deployment. The Lead must be able to coordinate and manage input from business and technology stakeholders across the enterprise and be responsible for the design and execution of large-scale technology initiatives. To be successful, the individual will lead the team & must design and build highly available, secure, scalable, reliable and manageable systems in a hands-on manner.

Job Description

As a Staff SW Engineer, you will take a lead role in a team that develops solutions, tools and frameworks required to ensure overall operability, resiliency, performance, and capacity of business services. You will be building components involving event instrumentation, event classification, multi-protocol event handlers, stream processing, pipelining, time series data aggregation and data analytics. This role will report to Director, Reliability Engineering.

The role is a self-organized Staff SW Engineer with a solid Full-Stack background in technically leading and implementing substantial applications supporting large numbers of consumers. This Technical Lead is responsible for delivering systems that provide state of the art reliability engineering in the realm of operational visibility, monitoring, alerting for core products as well as deployed infrastructures. In this position, you are first and foremost a passionate and talented software engineer who can work in a dynamic environment as a member of Agile Scrum teams. Additionally, you are capable of leading and mentoring less seasoned developers. Your strong technical leadership, problem solving abilities, coding, testing and debugging skills is just a start. You must be dedicated to filling product backlog and delivering bug-free production-ready code in three week sprints. You must also be committed to continuous improvement of the product, demonstrating your ability to share knowledge, mentor and motivate others. You must be willing to go beyond the routine and prepared to do a little bit of everything.

As the subject matter expert responsible for delivering various systems for Visa's Digital & Mobile products, provide technical coordination, oversight and leadership of the development team and serve as primary escalation point of contact for all related issues.


•Develop components involving event instrumentation, event classification, multi-protocol event handlers, stream processing, pipelining, time series data aggregation and data analytics.
•Work closely with rest of the development teams to ensure that services and platforms are designed with reliability in mind.

•Develop tools for reliability of application services - reliability scope includes event detection, monitoring models, reaction strategies and mechanisms to automate service recovery.

•Evaluate & customize various frameworks including open source software to recommend appropriate choices
•Champion resiliency and reliability oriented architectures, patterns and trends through thought leadership and evangelism.Embrace DevOps and Combined Dev + Test Engineering transformation to achieve accelerated delivery.

•Design, develop, document and implement new systems, as well as enhancements, modifications, and corrections to existing software with code that complies with design specifications and meets security and Java/J2EE best practices. Coding must adhere to all standards for security, be easily maintainable and have high system performance.

• Have a passion for delivering zero defect code and be responsible for insuring the team's deliverables meet or exceed the prescribed defect SLA. Coordinate the team's design, development and testing activities, including conducting peer code reviews in addition to contributing to core product.
•Identify opportunities for further enhancements and refinements to best practices, standards and processes.

- Play the Scrum Master Role & Work directly with Product Owners, Technical Project Managers, Architects, and Agile teams to review and estimate stories, help lead sprint planning, demos and retrospectives and manage the technical aspects of a development pipeline.

- Create & review implementation/deployment plans, participate and manage product installations, support production environment , issue resolution, root cause analysis & addressing technical debt proactively. Create documentation and procedures for design, deployment and configuration of software. 


Qualifications


Bachelor's/Master's Degree in Computer Science or related field 


- Typically requires 10+ years of experience in delivering enterprise-class, mission-critical, commercial, and scalable products, at least 3 of which were in the role of a technical lead engineer. In-depth experience in Full Stack development & core J2EE technologies and Systems programming. Demonstrated programming skills in one or more languages: Java, Javascript, Go, Python, Erlang, Ruby, or C/C++.

- 3 or more years demonstrated experience implementing scalable solutions for one or more of the following: Event Monitoring, Site Reliability, Payment Services, Authentication, Authorization, Identity Administration, or Federation.

- 3 or more years demonstrated experience with n-tier web application development and experience in Java development. Must demonstrate knowledge and experience with many of the major Java APIS (e.g. JMS, JPA, JNDI, EJB, RMI, JAX, JMX etc.). Development experience in web-related technologies such as Web Services in REST, SOAP, JSON, and XML

- 3 or more years demonstrated experience with Experience with Core Spring, Spring MVC, Hibernate/JPA, JDBC, XSD, CXF, Jersey, JAX-RS, JAX-WS, Tomcat

- Experience with web services standards and related technologies (XML, JSON, REST, SOAP, WS*, AXIS, JERSEY).

- Experience working with a variety of Applications Servers and Databases (e.g. WebSphere, Tomcat, Oracle/NoSQL/Mongo/MySQL, Hadoop/Hbase).

- Hands on experience with Continuous Integration, and full SDLC Development tools, including Jenkins, Bamboo, GIT, Maven, Junit, Code review, Static analysis, Security testing

- Demonstrated experience working in Agile development

- Experience working with a variety of Applications Servers and Databases (e.g. WebSphere, Tomcat, Oracle/NoSQL/Mongo/MySQL, Hadoop/Hbase)

- Excellent process orientation and exhibited planning, organizational and problem solving skills.

- Strong interpersonal, facilitation, and leadership skills along with effective communication (both written and verbal) skills.

- Experience leading projects from development through implementation.

- Demonstrated ability to solve complex software development/design issues using clean, coherent code following established coding guidelines.

- Ability to understand systems from all levels: from the "big picture" enterprise-level view to the low level technical view. Strong familiarity with event monitoring frameworks like Reimann, Apache Spark, Splunk, Graphite and New Relic

Previous experience with financial services/payments processing experience/ Data Science /Analytics /Big Data environment a big plus

Privacy Policy