Staff Software Engineer
- Austin, TX, USA
Common Purpose, Uncommon Opportunity. Everyone at Visa works with one goal in mind – making sure that Visa is the best way to pay and be paid, for everyone everywhere. This is our global vision and the common purpose that unites the entire Visa team. As a global payments technology company, tech is at the heart of what we do: Our VisaNet network processes over 13,000 transactions per second for people and businesses around the world, enabling them to use digital currency instead of cash and checks. We are also global advocates for financial inclusion, working with partners around the world to help those who lack access to financial services join the global economy. Visa’s sponsorships, including the Olympics and FIFA™ World Cup, celebrate teamwork, diversity, and excellence throughout the world. If you have a passion to make a difference in the lives of people around the world, Visa offers an uncommon opportunity to build a strong, thriving career. Visa is fueled by our team of talented employees who continuously raise the bar on delivering the convenience and security of digital currency to people all over the world. Join our team and find out how Visa is everywhere you want to be.
Visa's Network Software Engineering team is looking for curious, creative, and talented technologists to join our team. You will be developing solutions that will automate configuring, monitoring and processing alerts of network resources and also you will be building web apps to support self-service for users to configure, monitor and manage network resources. Your solution will focus on exposing network hardware as APIs to configure, monitor and automate as much as possible in order to improve the overall efficiency and reliability of our Network operations and monitoring. We are looking for someone with serious software development skills, strong interest in DevOps and Network Automation, and a passion for continuously delivering reliable software.
You will be an integral part of the agile development team, and will be assigned a variety of tasks pertaining to design build and test of software applications and services. Your main focus will be on Network Automation tasks; however, other tasks will be assigned depending on need such as code design tasks, software coding tasks, bug fixes, or manual testing of new functionality. You will always be working on ways to facilitate better quality through the design, implementation, and execution of automating network resources.
This role is for an individual whose experience with software development forms a strong basis for designing automated network solutions that will ensure that we deliver high quality services. It is important that you have a passion not only for understanding how the solutions work from a functional standpoint, but also for digging into the code to really understand what has been built to verify that the solution meets quality standards as well as functional requirements.
This position will be based in Austin, TX and reporting to Director of Network Software Engineering. If this sounds exciting, we want to chat and tell you more about our work culture and environment and see if this will be a good fit for both of us.
- Identify appropriate technology solutions to meet platform requirements by performing technological evaluations and implementing proof of concepts
- Engage in design of new systems, functionality or refactor existing functionality
- Design and implement APIs, abstractions and integration patterns to expose challenging network automation tasks as web apps
- Work independently to implement new functionality, automated tests, and refactor code
- Work with team to ensure consistent, predictable & productive execution for high quality deliverables
- Review requirements to ensure technical accuracy, compliance, completeness & to mitigate risks
- Understand and own component security analysis, including code and data flow review
- Collaborate with security team to implement and verify secure coding techniques Ensure proper metrics instrumentation in software components, to help facilitate real time and remote troubleshooting/performance monitoring
- Contribute to code reviews with team members
- Support trouble-shooting issues in both the test and production environments
- Respond to and solve defects in a timely manner consistent with the business needs
Bachelor degree in Computer Science or related field and 6+ years of Software Development Experience or a Masters with 4+ years of Software Development Experience
3 - 5 years of experience in Network Automation using Python under Django Rest,/Flask framework.
Solid understanding with fundamentals of object-oriented design, data structures, algorithm design, problem solving, software design patterns & complexity analysis
Experience designing & developing highly scalable, reliable, high volume, performant & fault-tolerant systems
Experience with web services standards and related technologies (HTTP, Spring, XML, JSON, REST, JERSEY).
Experience with source control, build and deployment tools such as Git, Maven & Jenkins
Lead efforts to architect, design and implement various components of our Network Automation Platform.
Strong analytical skills with good problem solving ability desired.
Strong interpersonal and leadership skills with effective communication (both written and verbal) skills and the ability to present complex ideas in a clear & concise way, a team player with good work ethics
Ability to work in a complex organization to determine business and customer needs, providing the best solution to meet those needs.
Candidate must be able to proficiently multi-task and be able to work independently or in a team environment
· Working knowledge with Ansible Tower.
. Experience with network automation for devices (SD-WAN, F5, Switches and IPAM)
All your information will be kept confidential according to EEO guidelines.