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:
insertextract_minextract_maxpeekupdatedeleteis_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.pymodule.jsmodule.cmodule.cpp
- You are free to introduce additional files as needed.
- Include any required setup/init scripts with the submission.
- A
README.mdfile is not mandatory. However, if the project requires any setup, initialization, configuration, or execution instructions, those instructions must be provided in aREADME.mdfile.
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 filesProject 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.