Skip to content
Forward NetworksForward NetworksBengaluru, India

Software Engineer – Programming Languages Team

Develop Java-based network query engines, domain-specific languages, and language-support tooling using programming languages and database-system techniques. Requires a computer science degree, 3+ years of experience with Java or similar languages, and strong object-oriented development skills.

Salary not listed
On-site3+ YOEBackend Engineering

About the job

Responsibilities

  • Develop, enhance, and maintain the primarily Java codebase.
  • Develop, enhance, and maintain the Network Query Engine (NQE), applying programming languages and database management system techniques.
  • Deliver domain-specific languages used in the development of Forward Enterprise.
  • Build and support tools associated with these languages, including IDE plugins that provide language support.

Requirements

  • Bachelor's degree in Computer Science or a related field.
  • 3+ years of professional experience with Java, Scala, or similar languages such as C#, F#, or other comparable languages.
  • Strong object-oriented design and development skills.

Nice-to-haves

  • Strong functional programming skills and experience with Scala, Haskell, OCaml, Scheme, F#, or another major functional programming language.
  • Familiarity with functional programming concepts including monads, functors, algebraic data types, and persistent data structures.
  • Experience implementing programming languages or domain-specific languages, including parsers, type checkers, type inference algorithms, compilers, evaluators, static analysis or optimization passes, and editor support.
  • Experience implementing database-like systems, including query parsers, query optimizers, execution pipelines, or storage formats such as Parquet.
  • Experience with open-source data-system libraries such as Apache Parquet, Apache Iceberg, or DataFusion.
  • Experience analyzing and optimizing the performance of complex applications, particularly JVM-based applications.
  • Networking-domain experience.

Skills

JavaScalaC#F#Object-Oriented DesignFunctional ProgrammingHaskellOcamlSchemeDomain-Specific LanguagesCompilersQuery OptimizationApache ParquetApache IcebergDatafusion