The OPAL language/compiler developer fills the important hole between "users wanting to accomplish things" and "the system knowing what to do." This is a crucial position, responsible for the success of the API/compiler team within a dynamic start-up.
Observe is building a new machine data platform based on temporal relational algebra, and implements this on top of the Snowflake cloud data warehouse. The glue used for data modeling and query definition is our language, OPAL, which captures the domain of modeling, extracting, querying, and updating temporal data. Any data operation executed by our front-end / GUI is expressed as OPAL, as is any ETL operation performed by the back end. The job involves taking our current implementation and capabilities, and extending them to support our platform for the next ten years -- needs from lambda expressions to native support for tuples to an extensible module system are on the docket.
Sitting at the center of our platform, OPAL serves many masters, and has to do so without adding a new language feature for each new system feature. It looks more like a functional language like ML and a declarative language like SQL, than like an imperative language like C or an object-oriented language like Smalltalk, so a background in functional or query languages is helpful. Our compiler is written in go, and generate an intermediate temporal relational representation, which is taken on by our compiler back-end team to generate execution instructions for the Snowflake data warehouse, so experience with higher level targets and language-to-language translation may be helpful.