Staff Software Engineer, Core Services
Our Core Services team builds, scales and maintains the software services which define the core components of Credit Karma: identity, authentication, financial health, and related platform services. Our work directly impacts the lives of our users and the success of our business.As an engineer on our team, you will face some of the most difficult challenges in modern software engineering. The scale at which your systems must operate will require not only producing and using highly-performant algorithms and data structures, but also solving complex problems involving distributed systems and emergent behavior of service-oriented architecture.
You will have the opportunity to work on and build highly-scaled distributed systems. Our infrastructure receives millions of requests per day, all with an uptime in excess of 99.9%. You and your fellow engineers will power the core of a system relied on everyday by millions of people.
What the Job Entails
- Build and maintain high-performance, fault-tolerant, scalable distributed software systems in the context of Credit Karma’s service-oriented architecture.
- Write code that is performant, maintainable, clear, and concise.
- Improve the reliability and efficiency of Credit Karma’s core systems.
- Diagnose and troubleshoot complex distributed problems and develop solutions that have a significant impact at our massive scale.
- Work cross-functionally with various engineering teams.
Our Ideal Candidate
- 8+ years in the industry as a technical contributor.
- Strong algorithms and data structures background.
- Expertise in Scala, Java, Clojure, and/or any functional language. We code primarily in Scala and PHP, so you’ll be excited to either ramp up on those languages or continue building awesome things with them.
- Experience with software engineering patterns and best practices (e.g. SOLID, hexagonal architecture, domain driven design, test driven development, design documentation, code reviews).
- BS, MS, or PhD in Computer Science, or equivalent work experience
- Experience with web infrastructure, distributed systems, performance analysis, and/or large-scale data processing.
- Development experience on the JVM, including asynchronous I/O, concurrency, and the Java memory model.
- A history of open-source contribution and a passion for development of elegant, well-designed frameworks.
Back to top