Essential Skills:
- Digital Payment Experience: Proven experience working on digital payment systems for major companies like Amex, Visa, or Capital One (companies with high cloud adoption).
- Java Expertise: Strong proficiency in core Java fundamentals, data structures, thread safety, JVM and garbage collection mechanisms, Java versions (e.g., 1.8 vs. 20), serialization/deserialization, connection pooling, and thread pooling concepts.
- Scalability and Performance: Deep understanding of low-latency and high-throughput scenarios, design patterns, and distributed transaction processing.
- Reactive Programming: Knowledge of reactive programming concepts and the Vert.x framework.
- Data Formats: Ability to differentiate between JSON, XML, TOML, CSON, and YAML formats.
- Database Management: Understanding of the strengths and use cases for PostgreSQL, Oracle, and MongoDB databases.
Highly Desired Skills:
- Site Reliability Engineering (SRE): Experience in debugging, knowledge of APM tools, understanding of service mesh within Kubernetes, ability to distinguish between API gateways and service meshes, and experience with Grafana dashboards.
- Networking Protocols: Solid understanding of transport protocols like TCP/IP and the differences between TCP and UDP.
- Technical Knowledge Sharing: Following and engagement with relevant technical blogs.
Cloud and Development Skills:
- Cloud Expertise: Familiarity with horizontal/vertical scaling concepts and selecting the right approach for specific applications. Understanding of parallel processing and hybrid cloud functionalities.
- Programming Language Choice: Knowledge of when to utilize Scala or Python for project needs (e.g., Python for smaller projects with less experienced teams, Scala for large projects requiring significant resources and parallel processing).
Additional Information:
- Experience with ETL (Extract, Transform, Load) processes is a plus.
- Experience with SRE/Alert Monitoring tools is particularly desired by Ryan's team at Discover.
Job Description
We (Digital payments hiring team) are looking for full stack engineers who can build and release reliable software systems at scale. Potential new hire should have holistic view of their technical and industry (payments preferred) experience to design elegant solutions and strategize the future state of our larger technical ecosystem. By independently innovating and advocating for best practices, they will solve complex problems and guide the team on implementing solutions from inception to production by hands-on examples. Strong technical acumen/self-starter/SRE mindset and ability to tackle ambiguities to produce positive results is preferred.
Engineers with curiosity to look under the hood and recommending best technical path forward with pros and cons is another plus.
Technical Skills
- Core Java (Solid foundation in latest version of java including how java memory model, jvm performance tuning and concurrency works). Knowing other functional languages is a plus.
- Databases: SQL (Postgres)/NoSQL (Cassandra)
- Caching: Familiarity with Redis or similar is desirable.
- Event Streaming: Kafka/RabbitMQ
- Cloud Native: Docker/Kubernetes/Ansible/Helm/AWS/OCP
- Frameworks: Reactive Programming /Spring
- Cloud migration: CDC / ACLs / Hybrid Deployments
- DevOps: Pipelines/CICD/Git/TDD/Automated Testing/Chaos Engineering
Job Type: Contract
Pay: $55.00 - $60.00 per hour
Schedule:
Experience:
- Core Java: 10 years (Preferred)
- Databases: SQL (Postgres)/NoSQL (Cassandra): 10 years (Preferred)
- Event Streaming: Kafka/RabbitMQ: 10 years (Preferred)
- DevOps: CICD/Git/Automated Testing/Chaos: 10 years (Preferred)
Work Location: On the road