Careers

Join our team and help shape the future of workforce management

Software Development Engineer (SDE)

Position description

Complete feature ownership including user interface, usability feedback incorporation and quality control.

The ideal candidate will be able to commit long term to deep specialized feature areas, develop in-depth expertise and insight into feature usage.

Preference will be given to candidates with good oral and written communication skills and job responsibilities require working closely with design and marketing staff.

Candidate Requirements

  • Hands-on experience with UNIX/LINUX environments.
  • Exposure to NodeJS, RDBMS (PostgreSQL Preferred).
  • Exposure to HTML, CSS, JavaScript, Web Technologies, Kotlin, C, C++, Python.
  • Clear understanding of Data Structures, Algorithms and Object Oriented System Design.

Interview Challenge

Assignment: Implementing a Persistent Priority Queue

Design and implement a priority queue that supports the core priority queue operations, with its state persisted using either file-based storage or a relational database (PostgreSQL only). Include a brief note describing your implementation and some real-world use cases for priority queues.

Your implementation must support the following operations:

  • insert
  • extract_min
  • extract_max
  • peek
  • update
  • delete
  • is_empty

You are expected to implement a module that exposes the methods listed above.

We expect you to understand the fundamentals of priority queues, including the underlying data structures commonly used to implement them. You may be asked to discuss these concepts and your implementation choices at a later stage of the interview process.

You are free to use any AI tool of your choice.

You can submit your solution either as a ZIP file containing the complete project folder or as a link to a GitHub repository containing the project.

Submission Guidelines

  • Solutions submitted as a plain text (.txt) file will not be accepted.
  • Solutions may be submitted in Python, JavaScript, C, or C++.
  • You may choose any suitable name for your project.
  • The main implementation should be placed in a file named module.<extension>, where the extension corresponds to the programming language used:
  • module.py
  • module.js
  • module.c
  • module.cpp
  • You are free to introduce additional files as needed.
  • Include any required setup/init scripts with the submission.
  • A README.md file is not mandatory. However, if the project requires any setup, initialization, configuration, or execution instructions, those instructions must be provided in a README.md file.

A typical submission may look like this:

<project-name>/
|
+-- README.md          # Optional; required if setup or usage instructions are needed
+-- module.<extension> # Main implementation
+-- <additional-files> # Optional supporting files

Project Structure

<project-name> represents the root directory of your submission and can be named as you choose.

module.<extension> is the primary source file containing the main implementation of the assignment. The extension should match the programming language you have chosen.

README.md is optional unless your solution requires instructions to set up, configure, build, or run the project. In such cases, all relevant instructions should be documented there.

Additional files may be included where necessary to provide setup scripts, configuration, or other supporting functionality.

“As per the submission guidelines above, please send your submission to careers@saralweb.com with the subject line ‘SDE Assignment - Aug 2026’.”

Submission Timeline

Candidates will be considered in the order of assignment submission. Please submit your assignment as soon as possible.