Software Engineer – Programming Languages Team

forwardnetworks· Engineering
Apply Now ↗
📍 Bangalore

About this role

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:

  • Strong functional programming skills with experience in at least one of the main functional programming languages, such as Scala, Haskell, OCaml, Scheme, F#, etc. Familiarity with functional programming idioms such as monads, functors, algebraic data types, and persistent data structures.
  • Experience implementing parts of programming languages or domain specific languages (DSLs), such as implementing any of the following components: a parser for language syntax, a type checker or type inference algorithm, a compiler or evaluator, a static analysis or optimization pass, or editor support such as auto-completion and semantic information about programs
  • Experience implementing parts of a database-like system, such as implementing a query parser, a query optimizer, execution pipeline, or storage format (like Parquet, etc.).
  • Experience leveraging open source data systems libraries such as Apache Parquet, Iceberg or Datafusion.
  • Experience analyzing and optimizing performance of complex applications, especially on JVM-based languages.
     

NOTE: experience in the networking domain is NOT a requirement for this role but is a plus.

 

Frequently Asked Questions

Is the salary disclosed for the Software Engineer – Programming Languages Team position at forwardnetworks?
The salary for this Software Engineer – Programming Languages Team role at forwardnetworks is not publicly listed. Click "Apply Now" to learn more about the compensation package on their official careers page.
Where is the Software Engineer – Programming Languages Team position at forwardnetworks located?
This Software Engineer – Programming Languages Team role at forwardnetworks is based in Bangalore. The position is listed as on-site or hybrid. Check the full job description or apply directly to confirm the work arrangement.
Which team or department does the Software Engineer – Programming Languages Team at forwardnetworks belong to?
This Software Engineer – Programming Languages Team position is part of the Engineering department at forwardnetworks. See the full job description for more information about the team structure and responsibilities.
How do I apply for the Software Engineer – Programming Languages Team position at forwardnetworks?
Click the "Apply Now" button on this page. You will be redirected to forwardnetworks's official application portal hosted on greenhouse where you can submit your application directly.
When was the Software Engineer – Programming Languages Team job at forwardnetworks posted?
This Software Engineer – Programming Languages Team position at forwardnetworks was posted on Aug 27, 2026. Apply as soon as possible — early applications are often reviewed first.
Software Engineer – Programming Languages Team
forwardnetworks
Apply for this role ↗

You'll be redirected to forwardnetworks's official application page on Greenhouse.