Add Scheduled Changes to an Employee Management System

Read the full interview experience this question came from →

Quick Overview

Plan a scheduled-update feature for an existing employee-management application. Work through deferred salary, level, and title changes, including shared validation, timing rules, conflicting edits, transactional execution, and focused verification.

Add Scheduled Changes to an Employee Management System

Company: Rippling

Role: Software Engineer

Category: Software Engineering Fundamentals

Difficulty: medium

Interview Round: Onsite

An existing employee-management system allows HR users to change employee salary, level, and title. Extend it with a scheduled-update feature so that a change can be recorded now and applied later. Explain the changes you would make to the existing application, the lifecycle of a scheduled update, and how you would demonstrate that the feature works. The existing codebase and its interfaces are not supplied here, so this exercise asks for an implementation plan and pseudocode-level reasoning rather than code against an invented API. ### Constraints & Assumptions - Preserve the existing ability to update employee information immediately. - Salary, level, and title are the reported examples of editable fields; do not assume that every employee field is writable. - Scheduling rules, persistence technology, authorization model, time-zone policy, and conflict semantics must be clarified. - Any retry, cancellation, or audit behavior you propose is a design decision to justify, not an already specified interface. ### Clarifying Questions to Ask - Does a scheduled change store absolute new values or a relative operation such as a percentage increase? - Which time zone defines the requested effective time, and how precisely must execution occur? - If an employee changes before the scheduled update runs, should it overwrite, merge, fail, or require review? - Can a scheduled update be edited or canceled, and what happens if the employee no longer exists? ### Part 1 — Integrate the Feature Explain what you would inspect in the existing code and where you would add scheduling support. Describe how the new path shares appropriate validation and authorization with immediate updates without applying the change prematurely. #### What This Part Should Cover - The current update path, persistence boundaries, and background-work facilities. - A durable representation of the intended change and effective time. - Field validation and permissions, including which checks must be reconsidered at execution time. - A clear separation between accepting an update request and applying it. ### Part 2 — Execute and Verify Scheduled Changes Describe how due changes are found, claimed, applied, and marked complete. Explain failures, duplicate processing, and the evidence you would use to verify behavior. #### What This Part Should Cover - An explicit lifecycle and concurrency strategy. - A policy for changes made between scheduling and execution. - Atomicity or idempotency around applying the change and recording completion. - Focused checks for timing, invalid fields, conflicting updates, and retried execution. ```hint Trace a worker crash after the employee record changes but before the scheduled update is marked complete. What prevents a retry from changing the meaning of the request? ``` ### What a Strong Answer Covers The response should fit the feature into an existing application instead of replacing the whole system. It should make time and conflict semantics explicit, reuse the appropriate domain logic, and connect each failure case to a concrete state transition or verification step. ### Follow-up Questions - How would you implement cancellation if a worker has already claimed the change? - Would an absolute salary replacement and a relative salary increase have the same retry behavior? - How would you distinguish a change that is waiting for its effective time from one that is overdue?

Overview: Plan a scheduled-update feature for an existing employee-management application. Work through deferred salary, level, and title changes, including shared validation, timing rules, conflicting edits, transactional execution, and focused verification.

Read the full Rippling Software Engineer interview experience this question came from

Rippling logo
Rippling
Oct 20, 2026
mediumSoftware EngineerOnsiteSoftware Engineering Fundamentals
0
0

An existing employee-management system allows HR users to change employee salary, level, and title. Extend it with a scheduled-update feature so that a change can be recorded now and applied later.

Explain the changes you would make to the existing application, the lifecycle of a scheduled update, and how you would demonstrate that the feature works. The existing codebase and its interfaces are not supplied here, so this exercise asks for an implementation plan and pseudocode-level reasoning rather than code against an invented API.

Constraints & Assumptions

  • Preserve the existing ability to update employee information immediately.
  • Salary, level, and title are the reported examples of editable fields; do not assume that every employee field is writable.
  • Scheduling rules, persistence technology, authorization model, time-zone policy, and conflict semantics must be clarified.
  • Any retry, cancellation, or audit behavior you propose is a design decision to justify, not an already specified interface.

Clarifying Questions to Ask Guidance

  • Does a scheduled change store absolute new values or a relative operation such as a percentage increase?
  • Which time zone defines the requested effective time, and how precisely must execution occur?
  • If an employee changes before the scheduled update runs, should it overwrite, merge, fail, or require review?
  • Can a scheduled update be edited or canceled, and what happens if the employee no longer exists?

Part 1 — Integrate the Feature

Explain what you would inspect in the existing code and where you would add scheduling support. Describe how the new path shares appropriate validation and authorization with immediate updates without applying the change prematurely.

What This Part Should Cover Guidance

  • The current update path, persistence boundaries, and background-work facilities.
  • A durable representation of the intended change and effective time.
  • Field validation and permissions, including which checks must be reconsidered at execution time.
  • A clear separation between accepting an update request and applying it.

Part 2 — Execute and Verify Scheduled Changes

Describe how due changes are found, claimed, applied, and marked complete. Explain failures, duplicate processing, and the evidence you would use to verify behavior.

What This Part Should Cover Guidance

  • An explicit lifecycle and concurrency strategy.
  • A policy for changes made between scheduling and execution.
  • Atomicity or idempotency around applying the change and recording completion.
  • Focused checks for timing, invalid fields, conflicting updates, and retried execution.

What a Strong Answer Covers Guidance

The response should fit the feature into an existing application instead of replacing the whole system. It should make time and conflict semantics explicit, reuse the appropriate domain logic, and connect each failure case to a concrete state transition or verification step.

Follow-up Questions Guidance

  • How would you implement cancellation if a worker has already claimed the change?
  • Would an absolute salary replacement and a relative salary increase have the same retry behavior?
  • How would you distinguish a change that is waiting for its effective time from one that is overdue?