-
Software Engineer - Database
- IBM (San Jose, CA)
-
Introduction
A career in IBM Software means you’ll be part of a team that transforms our customer’s challenges into solutions.
Seeking new possibilities and always staying curious, we are a team dedicated to creating the world’s leading AI-powered, cloud-native software solutions for our customers. Our renowned legacy creates endless global opportunities for our IBMers, so the door is always open for those who want to grow their career.
IBM’s product and technology landscape includes Research, Software, and Infrastructure. Entering this domain positions you at the heart of IBM, where growth and innovation thrive.
Your role and responsibilities
We're looking for talented software engineers with a passion for a systems-oriented view of software engineering. You’ll be challenged with untangling complex knots in code-bases and concurrent systems, with expertise in Java or other C-lineage languages (Scala, Kotlin, C#, C++, Rust, etc). A gut passion for quality, elegance, performance and simplicity in solutions and code is critical in this role. If you're comfortable in navigating multi-threaded, large distributed systems at scale this will be a great fit. This role is part of the engineering teams that develop our database products, Astra (our multi-cloud database-as-a-service), and DSE/HCD which are all based on Apache Cassandra. Our products are used by many major organizations across the world!
What you will do:
* Develop new features, enhancements, and bug-fixes on our highly scalable, multi-tenant, database products.
* Collaborate extensively with internal teams across DataStax to coordinate releases, support existing customers through defect fixes and improvements, and review/advise on documentation for the project.
* Potentially contribute to Cassandra NoSQL database management system, which handles large sets of data.
* Model solid engineering practices around architectural design, testability, scalability and maintainability.
* Work full-time, discussing things with peers over Slack, email, or video chat
Required technical and professional expertise
* Minimum of 4-6 years of relevant industry experience in Software Engineering
* Substantial experience programming distributed and high throughput applications
* A deep knowledge of Java and JVM ecosystem of open source libraries and projects
* Deep understanding of algorithms, data structures and software design
* Strong coding skills with Java, Python, C/C+* Comfortable handing problems related to concurrency and distributed computing
* Familiarity with bug tracking tools, version control tools, build automation tools and test automation tools.
* Experience in SDLC having contributed at each step: Plan, Track, Code, Build, Test, Deploy and Monitor.
* Experience with concurrency, memory management and I/O
* Experience with Linux or other Unix-like systems
* An open-minded and collaborative attitude
Preferred technical and professional experience
* Experience with database internals (preferably NoSQL) preferred
* Experience with at least one major public cloud providers preferred
* Experience with Kubernetes preferred
* Experience with Apache Cassandra is a plus.
* Experience with cloud-scale Saas applications is a plus
* Prior experience contributing to open source projects is a plus
IBM is committed to creating a diverse environment and is proud to be an equal-opportunity employer. All qualified applicants will receive consideration for employment without regard to race, color, religion, sex, gender, gender identity or expression, sexual orientation, national origin, caste, genetics, pregnancy, disability, neurodivergence, age, veteran status, or other characteristics. IBM is also committed to compliance with all fair employment practices regarding citizenship and immigration status.
-