Forward Networks is revolutionizing the way large networks are managed. Forward’s advanced software delivers a "digital twin" of the network, enabling network operators to verify intent, predict network behavior, avoid outages, and simplify network management. Our platform can be implemented on premises, in the cloud, and in hybrid environments.
The results? More reliable networks, reduced outages, and reduced business risk.
Forward Networks is currently looking for a talented Software Engineer to join our NQE and Programming Languages team. This team develops NQE (Network Query Engine), a query engine for network data, enabling non-programmers to express custom data views, reports, and verifications on their networks. This team also maintains a suite of internally-used domain-specific languages that help deliver a reliable, robust experience with Forward Networks’ network verification and assurance software.
In addition to Java development, the NQE & Programming Languages Engineer will draw on concepts and techniques from the areas of programming languages (PL) and database systems (DBMS) to help develop the state-of-the-art network verification platform and improve how network operators manage networks today. Here are some of the types of problems that this engineer might be challenged with:
- Implement a cost-based query optimizer for NQE’s query language.
- Design extensions to a novel hierarchical text pattern-matching language.
- Design and implement a bidirectional parsing language and system.
- Collaborate with AI experts to design natural language interfaces to DSLs.
Responsibilities:
- Develop, enhance, and maintain our code base (primarily Java)
- Develop, enhance, and maintain NQE, leveraging various PL and DBMS techniques.
- Deliver a suite of domain-specific languages used in the development of Forward Enterprise.
- Build and support tools (such as IDE plugins providing language support) associated with the above domain-specific languages.
Requirements:
- BS in Computer Science or related degree; MS preferred
- 3+ years of work experience with Java, Scala or other similar languages (C#, F#, etc.)
- Strong object-oriented design and development skills
Nice to Haves:
- Experience with domain specific languages
- Experience with DBMS implementation techniques, e.g. storage formats, query execution strategies, query optimization, query language design.
- Experience with parsing techniques or tools
- Experience with language tooling implementation (autocomplete, debuggers, profilers, etc.)
- Experience with REST APIs, as well as with frameworks such as Spring or Hibernate
NOTE: experience in the networking domain is NOT a requirement for this role but is a plus.
This position is a regular, full-time opportunity with Forward Networks in Santa Clara, CA. Remote work may be possible for this role.
Cash compensation for this role is between $180,000-$220,000 per year. Within this range, individual pay is determined by several factors including job-related skills, work experience, relevant education and training, and location.