Overview of NuoDB:
Designed to address the needs of today's businesses as they prepare for the future, NuoDB's elastic SQL database combines the scale-out simplicity, elasticity, and continuous availability that cloud applications require, with the transactional consistency and durability that databases of record demand. Conceived by database innovator Jim Starkey, NuoDB is backed by three former CEOs of the four original relational database companies.
Overview of the role:
The engineering team is looking for a results-oriented developer to work on the team building the scalable, distributed Management/Administration component of our unique database. The Management/Admin Team develops the design, code, and unit tests for features to manage a distributed database, including node provisioning and configuration, elastic scale, and failure detection and recovery. The Management/Admin component provides the command-line and graphical interfaces for operators, and provides them with the capabilities to analyze, control, and manage the overall system. The ideal candidate will thrive in a fast-paced environment, have hands-on development experience with distributed systems and user-oriented component development, have worked with agile software development processes, and possess strong communications skills. Management/Admin Team Developers report to the VP of Software Development.
The Management/Admin Team Developer is an individual contributor role, working within a team of talented software engineers. Being comfortable and effective working with a high level complex systems is essential. This role requires expertize with distributing computing concepts, advanced design techniques, and familiarity with distributed system testing approaches. NuoDB uses an agile development process, and has a culture that is highly communicative and accountable for development outcomes, including task estimation, delivery, and quality.
Results Orientation – The ideal candidate will have demonstrated the ability to deliver completed designs, implementations and tests in high-growth software company.
Collaboration – The ideal candidate will have the ability to build strong and open working relationships (within and between teams) characterized by mutual respect. The individual will be skilled at communicating ideas and inviting and considering input. He/she will be accessible and approachable, respecting intellectual integrity and valuing individuality.
Technical Background – The ideal candidate will have proven technical background of working challenging problems in distributed computing and/or database development.
Estimate, execute and deliver Agile Stories related to the design, implementation, testing and documentation of functional and non-functional features in the Management/Admin area
Participate in design/code reviews with other developers to ensure effective and efficient implementation
Work effectively on complex distributed systems issues, including threading, messaging, multiple processes, failure detection/handling, and distributed consensus
Analyze and fix bugs
Participate in continuous improvement of the development environment (e.g., build/test infrastructure), and the design and implementation of the product
Deliver high-quality feature code and tests
Participate in and promote the Agile Development process
Advise and mentor others to improve our development environment and product
Support customer success through developing new product features and remediation of bugs
Required skills and experience:
5+ years experience with Java
3+ years experience working on distributed platform and/or database development
Experience with complex algorithms including consensus and system failure handling and recovery
Experience building interfaces that simplify complex systems to deliver value to users
Excellent analysis and debugging skills
Experience with modern highly-automated development environments and tooling, including, source code management, testing, build automation, bug/task tracking, and team management tools, with specific preferences for:
Ability to dive deep into technical issues
Strong verbal and written communication skills
BS/MS in Computer Science or equivalent.