← Back to experience

QBurst · Backend engineering · APIs

Backend Engineer - QBurst

TypeScript/NestJS backend API, automated testing and maintainable software delivery experience that now supports reproducible energy-analytics tools.

Backend API and automated testing workflow

What I contributed

  • Implemented and maintained backend API endpoints for production services.
  • Delivered bug fixes and reliability improvements in collaborative agile teams.
  • Built automated endpoint tests, including negative/false-path validation, and used Postman automation for checks.
  • Developed structured debugging, version-control and delivery habits that transfer directly to reproducible modelling, dashboards and energy-data workflows.

What I worked on

Representative project work

  • Customer-facing REST API service: implemented and maintained NestJS controllers, services and DTOs for a SaaS product. Handled request validation (class-validator decorators), error normalisation and OpenAPI documentation generation.
  • Authentication and authorisation layer: contributed to JWT-based session handling and role-based route guards across protected endpoints.
  • Endpoint testing: wrote Postman test suites covering the happy path plus negative cases (malformed input, expired token, missing permission, downstream-service failure). Suites ran in CI on every pull request.
  • Reliability fixes: traced and fixed production bugs from log evidence — common patterns included race conditions in transactional code, inconsistent error mapping between layers, and forgotten cache invalidation after writes.
  • Code review & documentation: reviewed peers' PRs and maintained README/changelog files; helped onboard newer engineers to the codebase conventions.

Habits I built

Software-engineering practices

  • Version control discipline: small, focused commits with clear messages; feature-branch workflow; rebase before merge to keep history readable.
  • Test-first when sensible: for new endpoints, write the Postman test before the controller — forces the contract to be specified before the implementation.
  • Defensive parsing: never trust the input. Validate types, ranges and presence at the boundary; fail loudly with structured error responses.
  • Reproducible local environment: Docker compose for the database/queue, scripted seed data, single command to reset and bring up the stack.
  • Reading logs as a primary skill: the production bug that takes 10 minutes to fix often takes 90 minutes to find; learning to read logs efficiently was the highest-leverage skill of the role.

Transferable value

Why this experience matters

The role gives my engineering profile a software-delivery base: version control, testing, modular APIs, documentation and practical maintainability for technical users. These habits transfer directly to the reproducible Python tooling I now build for energy and industrial-R&D workflows — the same care given to a backend service applies to a calibration script, an EnPI runner or a dispatch model.