Dipankar Banik, engineer.
Senior Software Engineer II on the Returns Platform team at Narvar in San Francisco. For two decades I've architected enterprise-grade Java platforms, distributed services, and the kind of large-scale systems that quietly run global businesses, at Narvar, Gilead, Cisco, Kaiser Permanente, MLB, and Marsh.
Building durable software since dial-up was loud.
A career spent solving the unglamorous parts of software, scale, integration, and the systems that need to outlive the people who wrote them.
I'm a Senior Software Engineer based in the San Francisco Bay Area with twenty years of experience building enterprise backend platforms, distributed systems, and cloud-native services built to last. My craft reduces to one principle: reduce complexity before scaling it. Clear service boundaries. Durable integration patterns. Strong data contracts. Proven technologies. Systems that teams can understand, operate, and trust long after the original engineers have moved on.
I've built and modernized platforms for Gilead Sciences, Cisco, Kaiser Permanente, Major League Baseball, Marsh, and Narvar — leading each from architecture and first-line design through production rollout. Along the way, I've managed and mentored engineering teams across the U.S. and India, driving delivery across distributed teams of six to ten.
For the past decade, I've led backend engineering for Narvar's Returns Platform — a white-label SaaS that powers return experiences for hundreds of major retail brands. The platform integrates carrier systems, retailer workflows, payment rails, customer notifications, compliance logic, configurable rules engines, and analytics pipelines. What looks effortless to the end customer is a fleet of Java 21 and Spring Boot services on Apache Pulsar, Postgres, Redis, Drools, and Quartz, autoscaling on GCP behind Linkerd.
The work spans unified carrier event ingestion, shipment reconciliation, async webhook processing, PII encryption via Google Tink, feature-flagged rollouts, mTLS via Linkerd, OAuth2 / Okta service auth, HashiCorp Vault for secrets, and rules-driven return eligibility via Drools and a custom DSL — all feeding a 494-table BigQuery analytics surface across 84 Avro and 23 Protobuf schemas. 300+ IaC commits keep every environment identical.
More recently, I've been exploring how AI and LLMs can simplify post-purchase experiences through intelligent tracking, conversational support, and predictive delivery. The question I keep asking: which steps can we quietly retire because an agent handles them better than the original code did?
My motto: simplify first. Then build systems that quietly do their job for years.
Six things two decades
have taught me.
These aren't trends I picked up from a conference, they're the operating principles that survived a hundred production systems, a dozen migrations, and a few all-nighters I'd rather forget.
The right abstraction disappears.
The wrong one will slow you down for a decade. The right one stops being noticed. Spend more time choosing than building, the cheapest line of code is the one you didn't write.
Boring tech is the long bet.
Every novel framework is a future migration. I'd rather ship Spring + Postgres in 2026 and sleep through the night than chase the latest distributed-everything because someone gave a good keynote.
Integration is where the craft lives.
Anyone can write a service. Making it talk reliably to an AS400 from 1998, an OAM SSO layer, and a Salesforce instance, that's where two decades of judgment quietly shows up.
Reversibility is a feature.
Every meaningful change should ship behind a feature flag or in dark mode, and stay there until the metrics agree with the plan. Twenty years in, the deploys I regret are the ones I couldn't roll back cheaply. The rollback path belongs in the design, not the postmortem.
The team is the real output.
The code I wrote in 2008 is mostly gone. The engineers I mentored are senior leaders today. The only output that compounds is the one that walks out the door.
Read before you rewrite.
Legacy code is institutional memory written in syntax. Every workaround is a scar from a bug you don't remember. Every odd-looking line is a warning from someone who fixed an incident before your time. The fastest way to break something old is to assume the engineer before you didn't know what they were doing.
Designed in tiers.
Built to outlast.
The reference architecture I've shipped, validated, and refined across more than a dozen enterprise deployments. Different stacks, same shape.
Edge & UI
- React · TypeScript
- Web · Mobile
- Design Systems
- CDN · Edge Caching
Cloud Runtime
- Kubernetes · Helm
- ArgoCD · GitOps
- Linkerd · Service Mesh
- Terraform · Ansible · Packer
Domain Services
- Spring Boot · Java 21
- Go · Python
- Apache Pulsar · Events
- REST · gRPC · Webhooks
Data & AI
- Postgres · Yugabyte · Redis
- BigQuery · Streaming
- Avro · Protobuf Contracts
- AI · LLMs · ML Pipelines
Twenty years, twelve companies,
one consistent throughline.
Featured platforms and the full career timeline — all roles, all stacks, in one place.
Narvar
A decade at Narvar, building the system that makes returns just work.
I have spent the past decade designing, building, and scaling Narvar's Returns platform, the backend system that powers return experiences for hundreds of leading retail brands.
My work has focused on building reliable, cloud-native services that simplify complex post-purchase workflows across carrier integrations, retailer systems, payment flows, customer notifications, shipment compliance, rules engines, and analytics pipelines. The platform is built primarily on Java-based microservices running across Google Cloud and AWS, with services designed to scale on demand and support high-volume return operations.
At Narvar, I have led backend engineering for major initiatives including Returns V2, Sales Assist, Boxless Returns, and Simple Returns. I have worked on carrier webhook ingestion, shipment reconciliation, asynchronous notification pipelines, feature-flagged rollouts, PII encryption using Google Tink, and configurable return eligibility rules powered by Drools and a custom DSL.
A major part of my work has been modernizing legacy flows into reusable platform capabilities: replacing carrier-specific custom code with unified integration patterns, moving business logic into configuration-driven rules, standardizing data contracts with Avro and Protobuf, and improving reliability through observability, dead-letter handling, and safe dark-mode deployments.
I have also contributed to infrastructure and data platform improvements across multi-cloud environments, helping keep services consistent across AWS VPCs and GCP clusters while supporting scalable analytics through BigQuery.
My focus has been to make complex distributed systems operate quietly and reliably behind the scenes, so retailers can provide a smooth, predictable returns experience to their customers. More recently, I have been exploring how AI and LLMs can improve post-purchase experiences through intelligent tracking, conversational support, predictive delivery, and smarter return workflows.
Gilead Sciences
Migrating Gilead's Product Quality System to a globally-deployed J2EE platform.
The PQS is the software backbone of Gilead's drug-quality lifecycle, from clinical API through commercial DP. I architected the full migration off legacy .NET to a Liferay-based J2EE platform, designing the JSR-286 portlet runtime, the Spring/Hibernate service framework, and the LDAP authentication hooks that bind it all together.
FDA-validated. Globally deployed. Foster City, San Dimas, Oceanside, and Edmonton, every PDM business unit on the platform runs through it daily.
Cisco
Unifying support across Cisco.com with a Salesforce-backed customer portal.
Led the GTMS uCRM initiative, a customer-focused collaboration platform on WebSphere Portal 6.1 that gave both internal and external users a single point of entry for case management. The backbone integrated Salesforce.com as the case engine for products and services, bridged through a custom WSRP catalog and JSR-286 portlet aggregation.
The work spanned high-level architecture, the SFDC integration component, offshore coordination, and tuning the live portlet performance with Charles.
Kaiser Permanente
Shipping the UBT Tracker, Kaiser's HR backbone for Unit Based Teams.
Owned the design and engineering of Kaiser's internal HR platform: team creation, role assignment, performance goals, feedback loops, and labor-contract management. End-to-end ERD design, JSR-168/286 portlets on WebSphere 6, SSO with Oracle Access Manager, and ETL pulling from DB2 mainframes via Spring Batch + Quartz.
Hierarchical reporting at any organizational depth. Web 2.0 patterns where they made sense, REST/SOAP services where they didn't.
Major League Baseball
An extensible portal framework for MLB's Financial Desktop.
Designed MLB's Financial Desktop, a portal framework that abstracted retrieval across content, document, database, and physical-file repositories into a single client-facing surface. Led a six-engineer team on a Struts 2.0 / WebSphere Portal 6.1 build, with TDD via EasyMock + JUnit and full agile cadence.
Reusable Content Service Wrapper API let consumers query any repository without caring about its underlying transport, a pattern I've reused in three other engagements since.
Marsh USA
Tech-leading Marsh's global client portal with a 10-person team.
MarshConnect is Marsh's flagship client portal, risk intelligence, claims data, and transactional workflow for the world's largest insurance broker. I led a ten-engineer team across architecture, sizing, content frameworks, and SOAP/XML claims web services backed by Hibernate and Spring JDBC.
Mentored the offshore team on the WebSphere Portal 6.0 nuances most teams learn the hard way; my advisory role on RUP-driven analysis shaped how the broader org tackled portal builds for years after.
Lead Portal Analyst
@ CiscoBuilt CVCM Portlets on Cisco's Liferay-based QUAD platform, giving collaboration users access to 200+ tools with custom categorization and real-time event subscriptions.
Lead WebSphere Portal Architect
@ Country-Wide InsuranceArchitected CWICO's Broker Portal, a unified WebSphere 6.1 view aggregating broker productivity, commissions, and policy data from legacy AS400 and DB2 systems.
Lead WebSphere Portal Architect
@ Cravath, Swaine & Moore LLPLed migration of one of NYC's premier law firms from WebSphere Portal 5.1 to 6.1, including WCM content transformation and WSRP portlet development for Legal & Finance.
Lead Portal Developer
@ Guy CarpenterBuilt GCX CSS Reports, a real-time STP reporting platform for Claims, Premiums, and Fiduciary Accounting. Extended Apache POI for image-insert in JasperReports' Excel exports.
J2EE Programmer / Analyst
@ John Deere · Marsh Inc.Early enterprise Java work spanning John Deere's IAF framework (Asset Information System, Customer Knowledge Center, SDP project tracking) and Marsh's FAR Fiduciary Accounting Replacement reporting platform.
Programmer
@ Syncalot · Geologistics · VigilosFirst chapter: handheld sync between Pocket PC / Palm devices and the web (J2ME, Java Conduit), a logistics CMS, and a remote security-monitoring platform with browser-based device control.
A toolkit, tabulated.
The modern stack I reach for across distributed services, cloud platforms, and the AI / LLM frontier, organized into the categories I trust most. Hover any cell.
What I'm thinking about
this season.
A short, honest snapshot of where my attention sits, borrowed from Derek Sivers' /now page tradition.
Returns Platform at Narvar
A decade in on the Returns Platform team, Spring Boot 2.7 / Java 21 services on Apache Pulsar, Postgres, and Drools, autoscaling on GCP behind Linkerd. The thread through the work: simplify. One Pulsar consumer pattern across carriers. One PII encryption client. 38 small Lambdas instead of one engine. One BigQuery surface as the source of truth. Lately, LLMs to delete steps from post-purchase rather than add them.
- Stack Java 21, Spring Boot, Go, Pulsar
- Cloud GCP, AWS, Helm, ArgoCD, Terraform
- AI LLMs for tracking & support
- Scale 3 → 99 pods, hundreds of retailers
Agentic AI and what comes next for software
Most of my learning hours right now go to Agentic AI. The landscape moves every other week. Planning agents that finish multi-step jobs without hand-holding. MCP wiring them into backend systems. Coding agents writing the glue code I used to write by hand. Reasoning models that think before they answer. Computer-use models that drive a real browser. The question I keep asking: which post-purchase workflows can we quietly retire because an agent now handles them better than the original code did?
- Reading Anthropic and OpenAI research as it ships
- Watching Coding agents and MCP reshape the developer loop
- Building Agent workflows that retire post-purchase code paths
The next chapter
Open to senior or principal engineering roles where deep platform thinking matters, companies with serious integration problems, teams that need a calm hand on legacy modernization, or anywhere a long-form architecture instinct earns its keep.
- Where Bay Area or remote
- Domains Healthtech, fintech, infra, SaaS
- Reach me dipankar.banik@gmail.com
Pi projects, trails, and weekend builds
When I'm not in code at work, I'm usually in code at home, tinkering with Raspberry Pi side projects (gpati is the current favorite), walking the Pleasanton Ridge, and trying to convince my family that another mechanical keyboard is, in fact, a different mechanical keyboard.
- Building Raspberry Pi projects · github.com/dipankarbanik/gpati
- Walking Pleasanton Ridge Regional Park
- Tinkering Always one mechanical keyboard away
Let's build
something durable.
Hiring for a senior or principal engineering role, planning a platform migration, or want to talk shop about Java at scale? I'd love to hear from you.