← Back to results

Software Engineer – Programming Languages Team

Join Forward Networks as a Software Engineer to develop innovative programming languages and tools for network management.

Location
Bangalore
Compensation
Not disclosed
Level
mid
Type
full time · Hybrid

Posted by employer 2 weeks ago

First seen on Joblaze 1 week ago

Last verified on the company career page 1 day ago

Apply at Forward Networks → Save job Scanned from forwardnetworks.com

AI in the day-to-day

Collaborate with AI experts to design natural language interfaces to DSLs.

Requirements

Experience
3+ years
Education
Bachelor's degree

Not disclosed in this posting: compensation, visa sponsorship.

Joblaze summary

In this role, the Software Engineer will focus on developing and enhancing the Network Query Engine (NQE) and maintaining domain-specific languages that facilitate network management. Proficiency in Java and familiarity with programming languages and database systems are essential, as the engineer will tackle challenges like implementing query optimizers and designing parsing languages. This position is ideal for someone with a solid background in software development and object-oriented design, particularly those with experience in functional programming. The team is engaged in innovative work that aims to transform network verification and assurance.

Joblaze insights

Quick facts

Is the Software Engineer – Programming Languages Team role remote?
It's hybrid — Forward Networks expects some on-site time in Bangalore.
How much experience is required?
At least 3 years of relevant experience for this Software Engineer – Programming Languages Team role.
Where is the role based?
Forward Networks is hiring for this position in Bangalore.
What's the tech stack?
Joblaze extracted these technologies from the posting: AI, Domain-Specific Languages, F#, Haskell, Java, NQE.
What seniority level is this role?
Forward Networks targets mid-level candidates for this position.
Is this full-time or contract?
Full-time for this Software Engineer – Programming Languages Team role at Forward Networks.

From the original posting

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.

Similar positions

Forward Networks
Engineering Manager
Forward Networks · Santa Clara, CA, United States
HappyRobot
Forward Deployed Engineer
HappyRobot · London
IonQ
Senior Staff Software Architect – Network Monitoring Platform
IonQ · Santa Clara, California, United States
HappyRobot
Forward Deployed Engineer
HappyRobot · Barcelona
HappyRobot
Forward Deployed Engineer
HappyRobot · San Francisco