Senior Software Engineer - Distributed Systems


Couchbase,Mountain View, CA

Work in HR? Unlock Free Profile
Apply Now

Job Description

As a Member of Technical Staff, Core Distributed Systems, you will design and implement cutting-edge distributed, scale-out data infrastructure software systems, which is a pillar for the growing cloud infrastructure. Especially, you will bring Unix systems and server tech kung-fu to the team. You will be part of a development team working on hard problems in a number of areas, including distributed caching, key-value and document data stores, distributed replication, scale-out fault tolerance and data layer reliability. You’ll work with C/C++, Java, C#, Erlang, JavaScript, Python, Ruby and a number of other programming and scripting languages. In addition, Couchbase and its technical staff are active open source contributors for Couchbase, Apache CouchDB, memcached, and other projects.

Responsibilities
  • Create the world’s best, distributed software server infrastructure products which companies will rely on for mission-critical OLTP needs.
  • Participate in requirements, architecture, and design specification reviews.
  • Design and implement key server modules and networking protocol dispatch layers.
  • Research industry and academic leading-edge algorithms for distributed consensus, replication, consistency, availability and scalability.
  • Work with peers in an agile development environment.
  • Develop high-quality software and use unit, component, and end-to-end automation tests.
Requirements
  • Self-motivated, independent, and high-performance individual, with ability to learn new technologies and become productive extremely fast; strive for challenges with a do-what-ever-it-takes mentality.
  • 2-7 years of commercial or open source software experience (prefer experience with packaged, downloadable software).
  • Hardcore C is an absolute must.
  • Built high-performance distributed networked server systems that run cross-platform on Windows/Linux and POSIX infrastructure.
Good to have
  • Experience with BDD and TDD methodologies and tools like cucumber.
  • Experience coding with C#, Java, Python, or Ruby.
  • Experience using various tools such as Bugzilla, git, gnu toolchains (like gcc, autotools, automake)
  • Excellent analytical skills and fanatical attention to detail.
  • Solid experience with software development lifecycles.
  • Ability to work in a fast-paced environment and to be an outstanding team player.



Company Details

Employee Reviews

3 Reviews

4.3
3 Reviews

Recommend to a friend
Approve of CEO
(no image)
CEO
0 Ratings