Senior Runtime Software Engineer StreamBase Systems
Programming language design, compiler implementation, network protocols, data management, real-time responsiveness, high throughput, scalability, and fault tolerant clustering. Are you prepared to work on one system combining all these skills?
StreamBase is the leading Complex Event Processing (CEP) platform, used by developers building the most demanding data processing systems in the world. StreamBase enables rapid development of high-performance flexible applications, meeting the needs of the most demanding customers in financial services, federal intelligence, e-commerce, and telecommunications.
Runtime engineers are responsible for developing the programming language, compiler, and deployment server for our technology. They collaborate closely with the user interface team in order to provide end-users with the most powerful authoring and execution environment available in any CEP platform.
Your primary responsibilities will be to define, design, and develop functionality within the StreamBase CEP engine, primarily in Java, for commercial product release. This position requires hands-on development expertise, developing innovative solutions for scalable, high-performance distributed systems. Successful candidates must be self-reliant and resourceful and enjoy working with other smart, motivated people.
Excellent communication skills, both written and verbal, and ability to work well in a team.
Solid background in software engineering, including iterative development, code reviews, and unit testing in large object-oriented codebases.
BS in Computer Science or a related field and four years experience in server-based development.
Experience developing high-performance system software.
The ideal candidate will have substantial skill in at least one of the following areas:
Programming Language and Compiler Development
Knowledge of several programming languages and opinions about their design and implementation, with emphasis on compiler technology.
Experience building code models for use in integrated development environments, supporting broken-syntax recovery, semantic analysis, and refactoring.
Server and Cluster Development
Experience in network/server programming with focus on throughput performance tuning, connection scalability, reliability, and latency.
Experience implementing fault tolerance and clustering functionality in server deployments.
Database Management System Implementation
Experience as a database user and designer, including schema design and performance optimization.
Experience designing and developing core functionality of database management systems such as query planners, query executors, access methods, and reliability/rollback functionality.
The following skills are also desirable:
Experience with real-time system development.
Experience working with Web and application servers like Apache, Spring, BEA, JBoss, IBM WebSphere, or other distributed applications frameworks.
Experience with scalable performance enhancing technologies (memcache, Voldemorte, Coherence, Terracotta, Varnish).
Experience optimizing performance in a managed VM (e.g., Java or .NET) and including bytecode/JIT, GC tuning, and dynamic code generation.
||181 Spring Street |
Lexington, MA 02421