Software Engineer – Tools and Packaging Development

Join the Couchbase Team, help transform the database world!

Location: Mountain View, CA, United States
Job type: full time
Salary: Depends on experience
Expire date: 2015-06-15

Job description

As a Member of Technical Staff, Tools Engineering, you will be part of team developing and shipping cutting-edge distributed, scale-out data infrastructure software systems, which is a pillar for the growing cloud infrastructure. You will be designing, developing, coding, shipping and supporting the key administration, management and development tools & command-line programs and packaging for Couchbase products. You will be part of a development team working with colleagues in server development, SDK development, quality engineering, technical support and product management.  You’ll be involved in the hard problems in the areas distributed key-value and document data stores, distributed replication, scale-out fault tolerance, zero downtime upgrades. You’ll work with engineers who develop on Python, Golang, JavaScript, C/C++, Erlang, Java, C#, Ruby and a number of other programming and scripting languages. In addition, Couchbase and its technical staff are active open source contributors for couchbase, membase, couchdb, and memcached projects; you’ll be able to participate in the community building of these projects.




  • Create, enhance and maintain the critical management and administrative tools, development tools, integrations and packaging/installer/upgrade systems for Couchbase Server.
  • Write and update design documents and specifications.
  • Develop and maintain unit and functional tests for all your key deliverables.
  • Participate in requirements & design review meetings and in ongoing sprint planning & status meetings.
  • Track down escalated customer issues, solving mysteries and diagnosing problems at some of the largest production sites of Couchbase Server.
  • Interview engineering candidates and help to build a growing, exciting software company.
  • Interact with colleagues and peers worldwide.
  • Analyze technology to help plan and assess the feasibility of projects and new features.

Candidate description



  • 1-3 years of software design and development; must know the Fundamentals of Computer Science.
  • Self-motivated, willingness to learn, loves to code, loves to build, eager to get your software into the hands of real users.
  • Desire to work in a fast paced environment and to be an outstanding team player and leader.
  • Demonstrated experience and high proficiency in python and scripting.
  • Experience with software development lifecycles, and agile development methodologies.
  • Experience with linux and windows O/S.
  • Education: Bachelors in computer science or equivalent field.


Good to have


  • A public account that we can look through; open-source engagement is ideal.
  • Work experience in a face-paced, growing startup organization.
  • Experience with osx, ios and android OS.
  • Knowledge of/experience with git and source code control systems.
  • Knowledge of/experience with unit and functional testing.
  • Knowledge of/experience with golang, C, scripting languages, sh/bash, Makefiles.
  • Knowledge of/experience with network programming, TCP/IP, sockets, client-server, network protocols.
  • Knowledge of/experience with packging systems and installers (rpm, apt, wsi, installshield).
  • Knowledge of/experience with cloud API’s like AWS, openstack, heroku.
  • Knoweldge of/experience with RDBMS, sqlite, mysql, postgres.
  • Experience with python C language bindings highly desired.
  • Knowledge of/experience with ETL, XML, json.

Come join the database revolution! We’re looking for talented people to help shape the future of data management and build a passionate community around exciting new database technologies. We offer an energetic, collaborative and fun work environment as well as market-leading salaries, generous stock option participation, and medical, dental, vision, vacation and other benefits.