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. Twenty years in, my craft reduces to one word: simplify. Strip the system to what it actually needs. Trust proven tech. Let the architecture explain itself. The platforms I've built for Gilead, Cisco, Kaiser Permanente, MLB, Marsh, and Narvar all share the same idea: fewer moving parts, longer lives.
In practice, simplifying is the unglamorous work: service boundaries that hold under change, integration layers that survive ten migrations, and team habits that outlast their authors. I've led teams of six to ten across the U.S. and India, mentored offshore partners, and shipped designs from whiteboard to production across Foster City, San Jose, San Francisco, and New York.
For the past decade, I've led the backend on Narvar's Returns Platform in San Francisco. The job comes down to one thing: take the chaos of shipping carriers, retailer integrations, payment rails, and aging legacy code, and make returning a package feel effortless. Underneath, a fleet of Spring Boot 2.7 and Java 21 services on Apache Pulsar, Postgres, Redis, Drools, and Quartz, autoscaling on GCP behind Linkerd. It's what simple looks like once you've earned it.
In practice that looks like reusable patterns. A single Pulsar consumer ingests events from every carrier so per-carrier glue is gone, and the returns rule engine runs as 38 small Lambdas instead of one monolith. Security takes the same shape: one PII encryption client (piishield-client-api on Google Tink) that helped retire the log4j2 vulnerability, OAuth2 / Okta for service authentication, mTLS via Linkerd between services, HashiCorp Vault for secrets, and ModSecurity at the ingress. 300+ IaC commits keep every environment identical, and 84 Avro plus 23 Protobuf schemas feed our 494-table BigQuery analytics surface. Lately, the question I keep asking is where AI and LLMs can remove steps from post-purchase, instead of adding new ones.
My motto, in one word: simplify. Then build software that quietly does its job for a decade.
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
A handful of platforms
I'm proud of.
Five engagements that defined what I think great enterprise software looks like, chosen from the longer career timeline below.
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.
Twenty years, twelve companies,
one consistent throughline.
Every role, every stack, every industry, in order. The work speaks for itself.
Senior Software Engineer II
@ Narvar Inc. · Returns PlatformNarvar Returns is a white-label SaaS platform powering returns and reverse logistics for hundreds of major retail brands. The product gives retailers a fully branded customer-facing returns experience, deep carrier integrations across UPS, FedEx, USPS, and Newgistics, configurable rules and policies, PII-safe payments and refunds, and rich data and analytics dashboards their merchandising and ops teams rely on daily.
Under the hood: Spring Boot 2.7 and Java 21 services on Apache Pulsar, Postgres, AlloyDB, Redis, Drools 7.74, and Quartz, with elastic horizontal autoscaling on GCP behind Linkerd. The thread through the work is simplify. One Pulsar consumer pattern across all carriers. One PII encryption client (piishield-client-api) that helped retire the log4j2 RCE across payments. 38 small Lambdas instead of one monolithic rule engine. 300+ infra-as-code commits to keep environments perfectly identical. 84 Avro and 23 Protobuf schemas as the single source of truth, feeding a 494-table BigQuery analytics surface. End-to-end test automation with Playwright. And lately, AI and LLMs to delete steps from post-purchase, not add them.
Applications Engineer
@ Gilead SciencesArchitected the migration of Gilead's Product Quality System (PQS) from .NET to J2EE, a globally-deployed, FDA-validated platform managing quality records across the entire drug lifecycle.
Portal Lead
@ CiscoLed the GTMS uCRM initiative on Cisco.com, a unified customer-focused collaboration platform on WebSphere Portal 6.1, integrating Salesforce.com case management with My Cisco.
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 Analyst
@ Kaiser PermanenteDesigned and shipped the UBT Tracker, Kaiser's internal HR platform for managing Unit Based Teams. Owned ERD, JSR-168/286 portlets, SSO, and Spring Batch ETL from DB2.
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 Architect
@ Major League BaseballDesigned MLB's Financial Desktop portal, an extensible framework over content, document, database, and file repositories. Led a 6-engineer team on a Struts 2.0 / WebSphere build with TDD.
Lead Portal Developer
@ Marsh USATech lead for MarshConnect, Marsh's global client portal. Led a 10-person team across architecture, content frameworks, SOAP/XML claims web services, and offshore mentoring.
Lead Portal Developer
@ Guy CarpenterBuilt GCX CSS Reports, a real-time STP (Straight-Through Processing) 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.