Back to selected work

Enterprise distributed systems

Zebra Nucleus

Contributing to an enterprise platform for managing and optimizing Zebra device fleets, working across distributed backend services, frontend applications, and cloud-native delivery.

Enterprise client engagement / High-level case study
JavaSpring BootNestJSTypeScriptgRPCProtocol BuffersRESTReactHelmGCP

I work as a Senior Software Engineer at Softvil Technologies, assigned to Zebra Technologies as part of a client engineering engagement contributing to Zebra Nucleus.

Zebra Nucleus is an enterprise platform for managing and optimizing Zebra device fleets. My work spans enterprise full-stack development, distributed backend systems, cloud-native infrastructure, and production delivery within a large-scale engineering environment.

I contribute across technical design, implementation, testing, code review, troubleshooting, and collaboration across engineering teams.

I design and develop distributed backend services using Java, Spring Boot, NestJS, and TypeScript. The work involves implementing features within a larger microservices environment and understanding how a change fits into existing service boundaries.

Service boundaries

Make changes with the wider system in view.

Features can cross components, contracts, and teams. Implementation requires considering how changes affect the other parts of the system.

Production reasoning

Trace behavior across interacting services.

Distributed work means following a problem beyond the first component where it becomes visible.

gRPC and Protocol Buffers provide strongly defined, typed contracts that are useful for service-to-service communication. REST provides familiar HTTP-oriented interfaces at appropriate API and application boundaries.

The important decision is not that one approach is universally better. It is choosing the communication style that fits the boundary being designed.

Related writing: gRPC vs REST: What I Learned Using Both in Distributed Systems

Working with React and TypeScript frontend applications means following a feature across multiple interconnected components and services.

FrontendAPI boundaryBackend serviceService communicationDeployment / runtime

A change can require understanding the frontend behavior, API contract, backend implementation, service communication, and delivery path together.

I troubleshoot complex issues across backend, frontend, and infrastructure layers. The approach is to identify where a failure first becomes observable, determine which boundary is involved, and trace behavior across the components that interact with it.

01

Separate application issues from communication and deployment issues.

02

Reason about contracts between services and the layers around them.

03

Validate fixes across the affected frontend, backend, and delivery paths.

Engineering work extends beyond application code into containerized services, deployment configuration, CI/CD, and cloud environments on GCP. Helm is part of that delivery context.

ApplicationContainerized serviceHelmGCP

This is work across the delivery system rather than a claim of ownership over the entire infrastructure.

01

Design the boundary

The communication mechanism should follow the requirements of the boundary rather than dictate the architecture.

02

Contracts matter

In distributed systems, changes frequently cross service boundaries, making clear contracts important.

03

Debug across the system

The visible symptom may occur far from the component where the problem originated.

04

Think beyond the service

Backend changes can affect frontend behavior, downstream services, deployment, and production operation.

05

Delivery is part of engineering

Production software includes how services are packaged, configured, deployed, tested, and operated — not only application code.

Large existing enterprise codebasesDistributed backend developmentJava / Spring Boot and TypeScript / NestJSgRPC / Protocol Buffers and REST APIsReact / TypeScript feature deliveryCross-layer troubleshootingContainers, Helm, CI/CD, and GCPCross-team engineering collaboration

Distributed systems are rarely difficult because of a single service. The complexity lives in the boundaries between services, applications, infrastructure, and the teams responsible for them.

Working on Nucleus has required operating across those boundaries — from backend services and API contracts to frontend behavior and cloud-native delivery.