Senior Software Engineer, Rules Engine & Parsing
Summary
Senior engineer who owns a hand-written Java rules engine: a lexer, parser, AST, and evaluator that runs analyst-written rule expressions (e.g. amount > 1000 && region == "US") against every incoming record. Daily work centers on tokenization, operator precedence/associativity, typed runtime errors, and keeping the pipeline well tested.
Compensation: $160k – $200k • No equity
Our product runs on rules. Analysts write them as short expressions like 'amount > 1000 && (region == "US" || vip)', and we evaluate each one against every record that comes through. We're hiring a senior engineer to own the engine behind them: a lexer, a parser, and an evaluator, written in plain Java with no parsing libraries. What you'll do: * Get operator precedence and associativity right across arithmetic, comparison, boolean, and unary operators, plus parentheses, variables, and a handful of built-in functions * Tokenize correctly, including multi-character operators and syntax errors that point at the right position * Evaluate expressions and return clear, typed errors for what goes wrong: unknown variables, divide-by-zero, type mismatches, and wrong argument counts * Keep the whole pipeline predictable and well tested What we're looking for: * Strong Java and hands-on parsing experience: tokenizing, building an AST, and handling precedence * Good instincts for expression evaluation and error handling * The judgment to hand-write focused code instead of reaching for a parser generator Nice to have: Built an interpreter or rules engine before, and familiar with recursive-descent or precedence-climbing parsing