Software Engineer II

Java backend engineering · Cloud · End-to-end development

I build what happens behind the interface.

Portrait of Nitesh Rawal

5.5+years building
software

02 / Engineering universe

One core.
Five layers around it.

Java and Spring Boot sit at the centre. Everything else exists to design, ship and keep those services healthy. Tap a layer.

Core Java
Spring Boot
Microservices · REST APIs

A Backend engineering

The services themselves: contracts, business logic and the security around them.

  • Java
  • Spring Boot
  • REST APIs
  • Microservices
  • Spring WebFlux & WebClient
  • Spring Security
  • OAuth 2.0 / OpenID Connect
  • Keycloak

B Event-driven architecture & data

How services talk asynchronously and how state is stored, queried and integrated.

  • Apache Kafka
  • Event-driven systems
  • Oracle Database
  • SQL
  • Hibernate
  • JDBC
  • Persistence & integration patterns

C Containers & cloud infrastructure

Packaging services and running them on managed compute and Kubernetes.

  • Docker
  • Kubernetes
  • AWS
  • Amazon EC2
  • Amazon EKS
  • Amazon CloudWatch

D Delivery & automation

Getting a change from commit to running service repeatably and safely.

  • CI/CD
  • Automated testing
  • Jenkins
  • Azure DevOps
  • API Management (APIM)
  • Build & deployment workflows

E Observability & quality

Knowing what a service is doing in production, and keeping the code honest.

  • Monitoring & alerting
  • Logging & troubleshooting
  • Dynatrace
  • Production diagnostics
  • JUnit
  • Mockito
  • SonarQube

03 / Code to production

Seven layers.
One trace.

A request crosses every layer below. So does a bug. An illustrative map of the lifecycle I work across, not a diagram of any one system.

  1. 01

    API design

    REST contracts, versioning and gateway-level management.

    • REST APIs
    • APIM
  2. 02

    Application services

    Business logic, security and service-to-service calls.

    • Java
    • Spring Boot
  3. 03

    Event streaming

    Decoupling producers and consumers with durable events.

    • Apache Kafka
  4. 04

    Persistence

    Relational storage, mapping and transactions.

    • Oracle
    • Hibernate
    • JDBC
  5. 05

    Containers

    Reproducible images, orchestrated and scaled.

    • Docker
    • Kubernetes
  6. 06

    Cloud infrastructure

    Compute and managed Kubernetes to run it all.

    • AWS EC2
    • AWS EKS
  7. 07

    Observability

    Metrics, traces and logs that show what really happened.

    • CloudWatch
    • Dynatrace
    • Logging

Something is wrong in production. Start at the bottom, follow the signal upward: an alert, then logs and metrics, then the container, the event, the data, and finally the contract.

04 / What I build

Ten things
I do well.

  1. 01Design and develop Java backend services.
  2. 02Build and integrate REST APIs.
  3. 03Work with distributed, event-driven systems.
  4. 04Implement authentication and authorization.
  5. 05Integrate relational databases and persistence layers.
  6. 06Containerize services and work with Kubernetes.
  7. 07Use AWS compute, Kubernetes infrastructure and monitoring.
  8. 08Support CI/CD and deployment workflows.
  9. 09Investigate behaviour with logs and observability tools.
  10. 10Write automated unit tests and improve code quality.

Public work

05 / Find me

200OKLet's connect

Say hello, or follow the code.

Looking for the detailed career view? nitesh-rawal.is-a.dev