About the job Backend Software Engineer
Responsibilities
a. Backend API Development
- Design, build, and maintain RESTful APIs using Java Spring Boot and Python-based supporting services.
- Implement business logic across lifecycle management, asset tracking, configuration, and reporting domains.
- Define API contracts using OpenAPI/Swagger.
- Implement structured logging, monitoring, and alerting.
- Write tests for the services you build.
b. Authentication and Security
- Implement OAuth2, JWT, and API key-based authentication.
- Contribute to a multi-tenant RBAC system governing API access and feature availability.
- Work with Firebase Authentication for token validation and identity handling.
c. Data Layer and Persistence
- Work with MySQL, MS SQL Server, and PostgreSQL.
- Design schemas, manage migrations, write and optimize SQL queries and stored procedures.
- Maintain data integrity and performance in a multi-tenant architecture.
d. Event-Driven and Microservices Architecture
- Implement and extend microservices communicating via message queues (RabbitMQ / Amazon MQ).
- Build asynchronous message-processing workflows with retry, dead-letter, and error-handling strategies.
e. Python Services and Tooling
- Develop and maintain Python-based services for data processing, ETL pipelines, and backend automation.
- Write Python scripts and utilities for operational tooling, data transformation, and integration support.
f. Third-Party Integrations
- Integrate with external APIs from dealer management systems, telematics providers, and equipment
manufacturers. - Handle authentication schemes, payload mapping, data transformation, and failure handling.
- Document integration contracts and data flows.
g. IoT, GIS, and Mapping
- Work with geospatial data, asset location services, and map-based interfaces.
- Contribute to services powering geofencing, path replay, and location-based reporting.
Requirements
a. Technical
- 6+ years building APIs with Java Spring Boot.
- 3+ years working with Python in a backend or data-processing context.
- Strong knowledge of OAuth2, JWT, OpenID Connect, and API security practices.
- Experience with at least two of MySQL, MS SQL Server, and PostgreSQL.
- Proficiency in OpenAPI/Swagger.
- Experience with event-driven architectures and message queues (Kafka, RabbitMQ, SQS, or Amazon MQ).
- Demonstrated experience writing automated tests (unit, integration, contract).
- Experience with AI development tools such as Claude Code or Codex.
b. Environment and Tools
Services run on Linux in production. Comfortable in a terminal — reading logs, tracing processes, debugging environment-level issues. Knows local dev setup thoroughly: builds, containers, and why things break between local and staging.
c. Communication
Non-negotiable. Cross-timezone work with teammates in Pakistan, Indonesia, and the US. Mostly asynchronous — Jira, Confluence, Slack, pull requests. Advanced level of English. Plain-language technical explanations. Surface problems early. If you go quiet when stuck, this is not the right fit.
d. Ownership
Small team. Own problems end-to-end. Ask the right questions when requirements are ambiguous. Make architectural decisions when your lead is offline. Context-switch between feature work, production issues, and integration work without dropping things.