Description
Visa is seeking a skilled Software Development Engineer to join their team. As a Software Development Engineer, you will be an expert problem-solver and builder who designs, implements, and improves software applications and systems.
In this role, you will spend approximately 60–75% of your time coding, working hands-on with code, data, and modern tools (including AI-assisted development, cloud services, and automation frameworks) to deliver secure, scalable, and high-quality technology solutions that drive business outcomes in the fintech sector.
Key Responsibilities:
- Collaborate with stakeholders to determine requirements for product components and incorporate feedback into future designs or solutions.
- Translate functional requirements into system designs and communicate component interactions, ensuring alignment with business needs and timelines.
- Design and develop product components, refine code plans, and lead design reviews to ensure completeness and adherence to requirements.
- Contribute to project estimation, considering delivery costs and escalating issues that may cause delays.
- Lead by example in creating, implementing, and maintaining extensible, reusable code, and drive code quality through metrics and best practices.
- Apply debugging tools to resolve moderately complex issues and identify opportunities for automation across products.
- Lead code reviews, ensuring adherence to coding standards and providing feedback to team members.
- Create complex test plans, identify test gaps, and proactively address defects to minimize customer impact.
- Leverage data analysis and monitoring standards to identify patterns and defects in all environments.
- Respond to incidents during on-call rotations, troubleshoot complex issues, and assist in incident response and resolution.
- Build, enhance, and identify new developer tools to support programs and applications.
- Proactively seek new knowledge and adapt to trends and technical solutions to improve product performance and recommend resources to other engineers.
Qualifications:
- 7.5+ years of relevant software engineering experience
- Bachelor's or Master's degree in Computer Science, Software Engineering, Distributed Systems, or related field
- Extensive technical experience with JAVA, Spring, Hibernate
- Advanced Java development including concurrency, multithreading, and performance optimization
- Deep understanding of distributed system architectures (microservices, event-driven, service mesh)
- Experience with distributed consensus algorithms (Raft, Paxos) and coordination services (Zookeeper, etcd)
- Proficiency in distributed data management patterns (CQRS, Event Sourcing, Saga patterns)
- Strong knowledge of distributed caching (Redis, Hazelcast, Memcached)
- Experience with message queues and streaming platforms (Kafka, RabbitMQ, Pulsar)
- Understanding of CAP theorem, eventual consistency, and distributed transaction management
- Experience building highly available, fault-tolerant systems with disaster recovery capabilities
- Knowledge of service discovery, load balancing, and circuit breaker patterns
- Proficiency in code development using Eclipse/MyEclipse, JetBrains IntelliJ or any major Java IDE
- Strong experience with GIT/Stash, Maven, and Jenkins
- API & Integration: Extensive experience in API Development using SOAP or REST, JSON and XML
- Data & Infrastructure: Experience with SQL datastores (DB2/MySQL) and Unix/Linux platforms
- AI-First Engineering Skills: Hands-on experience with LLM integration and serving at scale (OpenAI API, Azure OpenAI, Claude, Llama, etc.)
This is a hybrid position. Expectation of days in office will be confirmed by your hiring manager.