At the core of the LogicBlox platform is the LogicBlox engine, the combination a terabyte-scale data store, and a high transaction-throughput, massively parallel data processing runtime. The LogicBlox engine is at the core of supporting all aspects of a LogicBlox application — from data processing and analytics, to maintaining business logic rules, to evaluating UI state machines — all while maintaining ACID guarantees. The combination of complex analytics and high transaction throughput present unique challenges in the architecture and engineering of the runtime.
As a core member of the runtime team, you will:
- Participate in and contribute to the design of every aspect of the system, from the underlying data storage mechanisms, to transaction and concurrency management, to parallelism and distribution, to database connectivity interface, and to backup and recovery mechanisms
- Implement, test, and deliver some of these critical system components
- Work with other team members, as well as users of the runtime — platform team engineers as well as solution architects — to identify opportunities for improvement, identify the right timelines for implementing these improvements, and develop them in deliverable stages
- Work with users to diagnose performance issues and develop solutions, both short and long term
- Improve the quality and functionality of through solid testing, both functional and performance
- Passion for building solid, high performance systems
- Deep knowledge of DB systems, language runtime a plus
- Deep knowledge of distributed systems topics like replication, fault detection, tolerance, etc.
- Deep knowledge of concurrent programming
- Strong C++ skills
- Demonstrated ability to work on hard problems and develop solutions in deliverable stages
- Ability to prioritize based on customer needs, as well as dependencies on other team members, or other platform teams