Skip to content

Backend software engineer / production systems / AWS

Amirul

I build and maintain backend systems that survive real production use.

3+ years across Laravel, PHP, MySQL, AWS, Linux, Nginx, REST APIs, release engineering, production support, and database-heavy systems.

Production Snapshot

Release, runtime, database, and support responsibilities

Release Path

01Planowned
02Deployowned
03Verifyowned
04Monitorowned
05Hotfixowned

Runtime

api laravel/php

db mysql/rds

ops nginx/php-fpm

Signal

Production

Releases, logs, APIs, SQL, infrastructure, and user support.

3+

years

backend-heavy software engineering experience

~80%

backend

primary engineering focus across recent roles

MY + BR

production

supported Malaysia and Brazil environments

6 -> 12

Laravel

led legacy modernization to Laravel 12

Featured Engineering Work

Production backend case studies.

These are backend problems: modernization, data correctness, deployment, storage, debugging, release safety, and keeping systems maintainable after they are live.

Modernization

Legacy Laravel Modernization

A production Laravel 6 codebase needed to move to Laravel 12 and PHP 8 while preserving existing business workflows.

Laravel 6 -> 12PHP 7 -> 8MySQLRegression checks

Problem

Framework upgrades affect package compatibility, runtime behavior, deprecated APIs, authentication paths, and regression risk.

Technical Challenge

The work had to improve maintainability and long-term support without breaking live user workflows.

My Responsibilities

Led the Laravel 6 -> 12 migration work.

Reviewed package compatibility and runtime changes.

Supported production rollout planning and regression checks.

Participated in code reviews and technical discussions around system design.

Audit

Mapped framework, PHP, package, and compatibility risks before changing runtime behavior.

Refactor

Separated concerns in legacy code so debugging and future changes became easier.

Validate

Used regression checks, API behavior review, and release validation to protect production paths.

Release

Supported rollout awareness, post-release monitoring, and hotfix readiness.

Engineering Decisions

Updated framework and PHP assumptions from Laravel 6 / PHP 7 to Laravel 12 / PHP 8.

Refactored legacy areas for reusability, debugging efficiency, and cleaner architecture.

Checked API behavior and database interactions around upgraded flows.

Production Considerations

Production safety came from compatibility review, regression testing, deployment coordination, and watching for post-release issues.

Lessons Learned

Modernization is not only package updates. It is risk management, backward compatibility, and keeping operators confident after release.

Business Impact

Improved maintainability, security posture, and long-term support for a legacy production system.

Case study 01 / Code unavailable where company confidentiality applies.

Data systems

Forecasting And Reporting Workflows

Business teams needed reporting and forecasting workflows backed by historical operational data.

MySQLSQL tuningReportingForecastingPython

Problem

Forecasting accuracy depends on reliable data extraction, business-rule validation, SQL behavior, and transparent reporting outputs.

Technical Challenge

The hard part was keeping business logic, SQL queries, and forecast outputs understandable enough to debug.

My Responsibilities

Worked with historical data and reporting flows.

Used SQL debugging and query optimization to improve data-heavy paths.

Validated outputs against business expectations and operational rules.

Used Python for algorithmic thinking and analysis where useful.

Data Flow

1. Historical station sales2. Extraction query3. Business rules4. Forecast logic5. Validation6. Report output

Engineering Decisions

Kept SQL behavior explicit so incorrect output could be traced to data, rules, or transformation logic.

Favored validation checkpoints over hidden calculations.

Optimized query shape where response time or report generation became a bottleneck.

Production Considerations

Production work focused on correctness, query performance, and predictable report behavior for users relying on the data.

Lessons Learned

Data systems fail quietly when validation is weak. The useful engineering work is making each transformation explainable.

Business Impact

Supported business decision-making through reporting, forecasting inputs, and database-backed workflows.

Case study 02 / Code unavailable where company confidentiality applies.

Cloud infrastructure

AWS Production Deployment

Production Laravel applications needed infrastructure that could support deployments, database connectivity, storage, load balancing, and observability.

AWSEC2ELBRDSS3CloudWatch

Problem

Cloud issues often appear outside application code: load balancer behavior, Nginx config, PHP-FPM, environment variables, IAM, storage permissions, and database access.

Technical Challenge

The system had to remain operable across deployment, monitoring, file storage, database access, and troubleshooting workflows.

My Responsibilities

Provisioned and configured AWS infrastructure with EC2, ELB, and RDS.

Worked with S3, IAM, CloudWatch, and environment configuration.

Investigated production performance issues using server logs and query optimization.

Supported multiple production environments and deployment cycles.

EC2

Application runtime for Laravel/PHP workloads.

ELB

Traffic entry point and load distribution.

RDS

Managed relational database layer for production data.

S3

Object storage for files and attachment workflows.

IAM

Access boundaries for AWS resources.

CloudWatch

Logs and operational visibility after release.

Engineering Decisions

Configured AWS components around application deployment needs.

Used Nginx and PHP-FPM logs to investigate runtime failures.

Supported production validation and post-release troubleshooting.

Production Considerations

Operational readiness meant knowing where to look when deployment, database, storage, or runtime behavior failed.

Lessons Learned

Cloud experience becomes useful when it is tied to real troubleshooting paths, not just service names.

Business Impact

Supported production application deployments and gave the backend system clearer operational boundaries.

Case study 03 / Code unavailable where company confidentiality applies.

Storage and security

Attachment Preview And File Access

Users needed a smoother way to inspect attachments without downloading every file manually.

LaravelS3Access controlPDF handlingFallbacks

Problem

File preview work crosses authorization, storage paths, browser behavior, PDF rendering, security, and fallback handling.

Technical Challenge

The feature had to feel simple while protecting files and handling unsupported preview cases gracefully.

My Responsibilities

Handled backend file access and preview behavior.

Worked with storage paths, access rules, and failure states.

Considered browser behavior, PDF handling, and user workflow reliability.

Failure Modes Considered

User has no permission for the attachment.

File path exists but storage object is unavailable.

Browser cannot preview the file type.

PDF render or download behavior differs across browsers.

Fallback must not bypass authorization.

Engineering Decisions

Treat preview as a backend access-control problem before treating it as a UI convenience.

Keep fallback behavior explicit for unsupported files or failed previews.

Avoid exposing storage details directly to users.

Production Considerations

The production concern was avoiding broken file workflows while keeping access control intact.

Lessons Learned

File features look small, but the real engineering work is security, storage correctness, and graceful failure.

Business Impact

Improved attachment inspection while preserving backend control over file access.

Case study 04 / Code unavailable where company confidentiality applies.

Architecture

I think in request paths and failure modes.

Backend ownership means understanding what happens before and after the controller: DNS, load balancing, runtime, auth, queues, storage, database behavior, logs, and post-release monitoring.

01

Browser

02

Cloudflare

03

Vercel

04

Next.js

05

Laravel API

06

AWS EC2

07

RDS

08

S3

09

CloudWatch

Request lifecycle

01DNS
02Load balancer
03Nginx
04PHP-FPM
05Laravel
06MySQL

Authentication

01Client
02API guard
03Authorization
04Business rule
05Audit trail

Queue flow

01Scheduler
02Command
03Queue worker
04Job handler
05Retry / log

Storage flow

01Upload
02Access rule
03S3 path
04Preview
05Fallback

Production Ownership

Release engineering and debugging are part of the work.

My strongest production signals are not UI polish. They are release cycles, logs, hotfixes, SQL behavior, environment config, server health, deployment validation, and support after the code is live.

Release Engineering

Prepare

Review backlog scope, deployment notes, schema changes, and environment configuration before release.

Deploy

Coordinate weekly production releases and monthly production updates across live environments.

Verify

Validate API behavior, core workflows, database changes, and integration points after deployment.

Monitor

Watch logs, user reports, CloudWatch signals, and production behavior after release.

Hotfix

Investigate failures quickly and support targeted fixes when production behavior changes.

Debugging Production Systems

Nginx access and error logs
PHP-FPM runtime behavior
CloudWatch logs and metrics
SQL query plans and slow paths
Environment variables and deployment config
Linux permissions and storage paths
API payloads and third-party responses
Performance bottlenecks and load-time regressions

Production Wins

Owned weekly production release cycle with deployment, verification, monitoring, and hotfix support.
Supported Malaysia and Brazil production environments for deployments of the same system.
Led migration of a legacy Laravel 6 codebase to Laravel 12.
Supported PHP 7 -> 8 runtime modernization work.
Provisioned and configured AWS infrastructure using EC2, ELB, and RDS.
Investigated production performance issues with Nginx logs, PHP-FPM logs, and SQL optimization.
Implemented Laravel scheduled commands and background processes for data synchronization.
Improved average execution time from 70ms to 50ms by reducing queries per page.
Cached infrequently updated data in Redis to reduce loading time.
Led Bitbucket to GitLab migration to improve version-control workflow.
Implemented PASETO security measures for HTTP redirect services.
Tested shell scripts and SFTP flows for server-to-server file transfers.

Skills

Backend-led toolkit.

Grouped by production responsibility: backend code, data, infrastructure, automation, debugging, and earlier platform signals.

Backend

PHPLaravelSymfonyREST APIsAuth / authorizationBusiness logic

Database

MySQLPostgreSQLSchema migrationsQuery optimizationReportingData integrity

Cloud

AWSEC2ELBRDSIAMS3CloudWatchLambda

Infrastructure

UbuntuNginxPHP-FPMDNSEnvironment configServer monitoring

Automation

Laravel SchedulerQueue workersBackground jobsData syncShell scriptsSFTP testing

Earlier Backend Signals

Redis cachingPASETOGit migrationReverse engineeringC++ buildsAPI specs

Engineering Timeline

Backend ownership built through production work.

2022

Backend foundations

Maintained Laravel backends for delivery, invoicing, and HR systems; implemented PASETO, Redis caching, API specs, and a 70ms -> 50ms query reduction.

2023 - 2025

Production support and systems work

Shipped Laravel systems, monthly production updates, GitLab migration, server monitoring, API integrations, shell-script testing, SFTP validation, and reverse-engineering/debugging work.

2025

Backend modernization and cloud

Maintained Laravel applications, developed REST APIs, handled schema migrations, led Laravel 6 -> 12 migration, configured AWS EC2/ELB/RDS, and debugged Nginx/PHP-FPM production issues.

2026

Senior full-stack role with backend ownership

Owned weekly production releases, supported Malaysia and Brazil environments, optimized APIs and database queries, implemented scheduler/background processes, and refactored legacy code.

Engineering Principles

The habits behind the backend work.

These are the principles I come back to when working with legacy systems, production incidents, release cycles, APIs, and data workflows.

Build for maintainability before cleverness.
Debug using evidence: logs, queries, payloads, and reproducible behavior.
Treat production release work as engineering work, not an afterthought.
Understand the full request lifecycle before changing one layer.
Make failure modes visible so support is faster.
Prefer simple architecture that another engineer can operate.

Profile

MY / UTC+8

A

Backend engineer who enjoys tracing a request from DNS to Laravel, SQL, logs, infrastructure, and user impact.

API

REST and integration

Ops

Release and support

About

I like backend work because the truth is in the system.

I enjoy the part of engineering where you follow evidence: reading logs, checking SQL, tracing API payloads, reviewing environment configuration, and finding the exact point where a production workflow breaks.

My best work sits between backend code and operations: Laravel systems, database-heavy features, AWS deployments, release coordination, legacy refactoring, and making software easier for the next engineer to maintain.

I also work closely with business stakeholders, product owners, QA, external systems, and other engineers through estimation, technical discussions, code reviews, and modest mentoring of interns.