I'm a software engineer working across Linux systems, containers, and developer tooling.

Day to day, I build systems at Rocket Software.

Open Source

Container internals, build tooling, and the Go/C boundary.

I gravitate toward the layer underneath the application: a compile-time instrumentation tool rewriting Go source before it builds, a Kubernetes GPU device plugin sharing memory with a C process, a Jenkins agent coordinating threads over a socket. The bugs there cluster into a handful of patterns: silent failures, thread-safety gaps, unbounded cardinality, spec drift. Browse by problem category below, not by repo.

OpenTelemetry C++ SDK

Everything below, across every problem category, that touches this repo.

OpenTelemetry C++ SDK

Configurable per-instrument-type cardinality limits for the Metrics SDK

Observability Cardinality Control

The Metrics SDK hardcoded a 2000 cardinality limit and silently discarded any user-supplied override from declarative YAML config.

Wired a configurable limit through MetricReader and CollectorHandle end-to-end, fixing a sentinel-value bug along the way; a follow-up fix (#4314) closed a gap where histogram views setting only a cardinality limit were silently rejected.

OpenTelemetry C++ SDK

EnvironmentCarrier didn't normalize empty keys

Specification Compliance

Get("")/Set("") silently touched the wrong slot instead of normalizing to "_", a spec violation - fixed alongside documenting the caching contract's string_view lifetime guarantees.

OpenTelemetry C++ SDK

LoggerConfig missing declarative-configuration attributes

Specification Compliance

minimum_severity and trace_based were missing from LoggerConfig's YAML configuration path, so file-configured loggers silently ignored severity filtering.

OpenTelemetry C++ SDK

OTEL_RESOURCE_ATTRIBUTES values weren't percent-decoded

Specification Compliance

Values were stored raw instead of percent-decoded per the W3C Baggage grammar the spec defers to, so key=hello%20world produced the literal string instead of "hello world".

Caught and fixed a real operator-precedence bug during review: << binds looser than +, so combining hex nibbles with + rather than | would have silently miscomputed the decoded byte.

OpenTelemetry C++ SDK

Qualified C library calls with std:: after a header modernization

Code Health & Static Analysis

Swapping deprecated C headers for their C++ equivalents left calls like memcpy, strcmp, and strtod unqualified, relying on implementations happening to expose them globally, which the standard does not guarantee.

Added std:: to those call sites across api, sdk, exporters, ext, examples, and functional, plus the includes that had relied on transitive inclusion, leaving vendored code untouched.

OpenTelemetry C++ SDK

Header used uint8_t without including the header that defines it

Code Health & Static Analysis

predicate_factory.h used uint8_t without including cstdint, compiling only because another header in the same translation unit happened to pull it in.

Added the missing include directly to the header that needs it, so it builds in isolation and under standard libraries without that transitive include.

OpenTelemetry C++ SDK

Anonymous-namespace linkage cleanup (misc-use-internal-linkage)

Code Health & Static Analysis

Closed out a long-running clang-tidy tracking issue by wrapping the last four file-local symbol groups in anonymous namespaces, reducing ODR risk on symbols with no header exposure.

OpenTelemetry C++ SDK

Deprecated C header migration (modernize-deprecated-headers)

Code Health & Static Analysis

Swept ~90 files from legacy C headers to their C++ equivalents, fixing IWYU's mappings first so it would stop recommending the headers being removed; excluded vendored code a reviewer flagged as out of scope.

Filed a scoped follow-up (#4356) for the std:: qualification gap the header swap exposed, rather than scope-creeping it into the same PR.

OpenTelemetry C++ SDK

Histogram views with only a cardinality limit were silently rejected

Silent Failure & Data Loss

When a view set aggregation_cardinality_limit without an explicit aggregation, AddView always built a plain AggregationConfig. For histogram and exponential-histogram instruments that type didn't match, so the whole view was dropped with a warning and the limit never applied.

AddView now resolves the instrument's effective aggregation type the same way the view registry does, so the configured limit takes effect.

OpenTelemetry C++ SDK

Elasticsearch log exporter aborted the whole process on invalid UTF-8

Silent Failure & Data Loss

WriteValue stored a log record's body/attributes as given, and Export() dumped them via nlohmann::json with its default strict error handler - any non-UTF-8 byte (a truncated multibyte sequence, a differently-encoded payload) threw type_error.316 inside a noexcept function, turning std::terminate() into the actual failure mode for one bad log record.

Switched to error_handler_t::replace, which substitutes U+FFFD for the invalid bytes so the record and the rest of the bulk batch still export instead of crashing the process.

OpenTelemetry C++ SDK

Logger emit could static_cast a no-op record into a real one

Concurrency & Thread Safety

A record created while the logger was disabled was a no-op record, but enabling the logger before emit let it reach two unconditional static_casts, which is undefined behavior. The issue's dynamic_cast fix doesn't build under the project's no-RTTI CI job.

CreateLogRecord now returns an empty MultiRecordable while disabled, which is a real Recordable, so both casts are always safe and the record is dropped without reaching a processor.

Experience

Where I've worked and what I've shipped.

Full-time engineering and product-based internships - all focused on production-grade backend systems in Go and cloud-native infrastructure.

Full-Time

Rocket Software

Jun 2026 - Present

Software Engineer-1

Java 21Spring Boot 4.1ReactViteDockerJenkinsRedisJWT AuthenticationRBACOpenAPI

Architected and delivered SLTS (Software License Tracking System), a production-grade enterprise SaaS platform managing 500+ software licenses, 200+ user accounts, and $2M+ in annual license spend across 15+ global offices with real-time compliance tracking.

Engineered a high-performance RESTful API spanning 40+ endpoints with Spring Boot 4.1 and Java 21, implementing JWT-based authentication (15-minute access tokens, 7-day refresh rotation), RBAC across 4 permission tiers, and adaptive rate limiting that blocks attackers after 5 failed attempts within 2-minute windows.

Designed a normalized, multi-entity relational schema with 6 core domain models (Users, Licenses, Assignments, Offices, Audit, Notifications) supporting 11 license types and 9 department hierarchies; enforced complex business rules including atomic seat allocation, duplicate-prevention logic, and cascading soft-delete patterns to prevent orphaned references.

Built a Redis caching layer that reduced database queries by 65%, using a configurable 60-minute TTL for frequently accessed licenses and LRU eviction to maintain sub-50ms dashboard load times for analytics workloads processing 10K+ monthly assignment operations.

Implemented a zero-trust authorization model with method-level security annotations controlling 25+ protected operations, enabling procurement managers to analyze vendor spend distribution across $500K+ procurement budgets while restricting sensitive cost data from 150+ regular employees.

Developed a forensic-grade audit logging system capturing 15+ event types across all CRUD operations with immutable, append-only trails, enabling compliance teams to reconstruct complete entity lifecycle histories with millisecond precision and actor attribution for SOC 2 Type II readiness.

Containerized the full application stack with Docker Compose, orchestrating a 3-tier architecture (MySQL 8.0, Redis 7, application layer) with health-check-gated startup sequencing, automated volume backup workflows, and environment variable injection to support seamless dev-to-prod promotion.

Built a responsive React 19 + Vite frontend delivering role-adaptive interfaces with command palette (Cmd+K) navigation, real-time WebSocket notifications, one-click CSV export for 1000+ license records, and an interactive dashboard visualizing license utilization across 50+ active contracts with expiry prediction alerts 30 days in advance.

Integrated a self-documenting OpenAPI 3.0 specification with Swagger UI, enabling zero-setup API exploration across 40+ endpoints; reduced downstream integration time by 70% and eliminated 90% of "how do I authenticate?" support tickets through embedded JWT token management.

Configured a Jenkins CI/CD pipeline executing a 3-stage validation flow (Maven compile + 25 unit tests, npm build + bundle optimization, artifact packaging) in under 4 minutes, enabling 3x daily deployments to staging with zero-downtime rollout strategies.

Internships

CoinSwitch

Jan 2026 - May 2026

Software Development Engineer Intern

GogRPCRESTNATS JetStreamPostgreSQLRedisDockerAWSKubernetes

Architected and scaled a production vendor adapter microservice bridging internal trading workflows with external OMS systems using Go, gRPC, REST, and NATS JetStream.

Designed environment-isolated runtime configuration across prod, preprod, and UAT, enabling build-once-deploy-many workflows and eliminating cross-environment traffic risk.

Implemented secure secret injection and strict file-permission controls (least privilege), replacing hardcoded credential paths with rotation-friendly operational patterns.

Engineered deterministic fail-fast startup with strict dependency sequencing and singleton initialization, preventing fail-silent behavior in high-frequency trading flows.

Built recovery-ready subscription management and trace-aware structured logging across REST, gRPC, and async callbacks, improving fault tolerance and incident triage speed.

ConnectWise LLP

Jun 2025 - Jul 2025

Engineering Intern (On-Site, Pune)

GoPostgreSQL (Aurora)KafkaDockerAWSGitLab CI/CD

Engineered a production-grade entitlement client in Go with resilient transport abstractions and config-driven endpoint resolution for reliable external integrations.

Implemented Hystrix-inspired circuit-breaker and fallback controls to preserve service availability during partial outages.

Built shard-aware partner onboarding and offboarding workflows, contributing to scalable Aurora data access patterns and better data locality.

Operationalized end-to-end reliability validation via local service mocks, API verification, Kafka event checks, and controlled failure simulations.

Projects

Top picks from my engineering portfolio.

Coldchain Optimization

Mar 2026

Coldchain Optimization

Real-time cold-chain logistics matching engine. Pairs shippers with transporters using live geospatial scoring, ETA tracking, and dynamic pricing.

GoReactPostGISDockerPython (Flask)
View Repository
GraphMind

Mar 2026

GraphMind

Multi-tenant AI memory assistant for financial workflows. Combines graph and vector retrieval for fast, isolated context recall across users.

FastAPIPostgreSQLNeo4jMilvusDocker
View Repository
InsightGuard

Dec 2025

InsightGuard

Real-time APT detection framework built on the ELK stack. Simulates attacks mapped to MITRE ATT&CK and flags anomalies with a reinforcement-learning model.

Elastic StackSysmonPythonPPO (RL)SHAP
View Repository
Smart Vehicle Sequencing

Oct 2025

Smart Vehicle Sequencing

Real-time paint-shop vehicle routing and sequencing system. Uses constraint optimization and discrete-event simulation to minimize color changeovers across buffer lines.

ReactFastAPISimPyOR-Tools (CP-SAT)MILP
View Repository
MetaLens

Mar 2025

MetaLens

Metadata explorer for data lakehouses. Reads Iceberg, Delta, Hudi, and Parquet schemas straight from S3, no external catalog required.

Node.jsFastAPIDuckDBApache ArrowAWS S3
View Repository
Safe Space

Mar 2026

Safe Space

Safety education platform for 5,000+ concurrent learners. Generates age-adaptive AI narratives from live news and reads emotion cues for feedback.

ReactFastAPIPostgreSQLRedisGoogle Gemini AI
View Repository

Blog

Things I've written down.

Notes on backend engineering and the occasional production mistake, currently hosted on Medium.

I care about writing code that is simple to reason about, easy to monitor, and dependable when it matters most. The problems that pull me in are usually about concurrency, data consistency, and holding up under load. Here's how I got here.

I write about backend engineering on my blog, and I've led technical communities and national-level events on the side. I also play badminton competitively.

Contact

Open to backend and distributed-systems work.

If you're building something in that space, or just want to talk shop, my inbox is open.

Site logo

I'm Om Kulkarni - a software engineer focused on building high-performance distributed systems and robust backend architectures.

© 2026 Om Kulkarni