IBM Cloudant NoSQL database is a globally distributed Database-as-a Service (DBaaS) designed for developers of large and fast-growing applications. Hundreds of organizations around the world rely on Cloudant to keep their data online 24/7. This includes IBM Cloud itself, where Cloudant underpins many critical Cloud components. We help customers achieve their goals by providing a rock-solid, high-availability database that can scale with their needs and replicate their data to many global locations to keep their applications performant and robust to failure.
Learn more about IBM Cloudant at https://www.ibm.com/products/cloudant.
Cloudant is looking for a database engineer to join our team. You will focus on improving our core database, dbcore, which is based on the open-source Apache CouchDB. Cloudant is a core maintainer of the database, so this role offers opportunity to work throughout the database stack. We build new database features, discover and fix security issues, and, of course, fix bugs and generally maintain the database software.
This role is for the strategic Budapest office location (IBM Budapest Lab).
What you will do:
- Take part in development of features, enhancing security controls, preparation of software builds, and research activities to solve related problems.
- Work closely with senior engineers to define requirements.
- Write secure, performant, well-tested and well-documented code.
- Identify and fix code defects in the software builds and live service.
- Participate in the Apache CouchDB open-source community.
- Be a part of improving how we work.
What you will bring:
- Experience in software engineering (3-6 years)
- Good knowledge of one or more contemporary programming languages (e.g. Go, Java, Python, Rust).
- Proficiency in using code management tools, e.g. GitHub/GitLab/BitBucket.
- Enthusiasm about functional programming, distributed systems, databases, and cloud development.
- Ability to debug, optimize code, and automate routine tasks.
- Fluent English.
- Capability to work in a global, multicultural, and diverse environment.
Strong candidates may have experience in:
- Functional languages, such as Erlang, Haskell, OCaml, or Clojure.
- Building and running distributed systems.
- Developing and/or operating, complex production database systems.
- Database internals and diagnosing memory leaks, data corruption, replication, database performance, and tuning.
- Creating and operating containerized and/or virtualized workloads.
- Applying systematic problem-solving approaches to debug live systems.