Software Engineer with an Electrical & Electronics Engineering foundation and multi-year industry experience delivering systems across the entire technology spectrum—ranging from low-level embedded hardware and IoT protocols to distributed backend services, containerized infrastructure, and modern web applications.
Focused on building maintainable, resilient architectures, automating deployment lifecycles, and bridging physical hardware with cloud-native backends. Driven by pragmatic engineering, clean code principles, and end-to-end system ownership.
- Distributed Systems & Backend Engineering: Designing modular, high-throughput RESTful services and APIs utilizing .NET / C# and Go. Implementing asynchronous event-driven messaging with RabbitMQ, structured caching layers with Redis, and robust data access patterns across relational (PostgreSQL) and document-based (MongoDB) databases.
- DevOps, Containerization & Networking: Architecting containerized environments via Docker & Docker Compose, configuring reverse proxies and ingress routing with Traefik and Nginx, managing Linux server environments (Ubuntu), and automating continuous integration & deployment pipelines using GitHub Actions.
- Hardware-Software Integration & IoT: Deep understanding of embedded systems, firmware architecture, and hardware interfacing using C++, ESP32, Arduino, and Raspberry Pi. Building custom communication protocols and telemetries that bridge physical sensors into cloud and on-premise backend infrastructure.
- Frontend & Web Interfaces: Developing responsive, component-driven client applications using TypeScript, Angular, React, and Next.js, ensuring cohesive end-to-end integration from API contracts to UI state management.
- Applied AI & Systems Tooling: Integrating localized AI/LLM workflows (RAG pipelines, embeddings) using Python for practical data extraction, processing, and internal tooling.
- Maintainability & Clean Architecture: Enforcing separation of concerns, domain-driven boundaries, and modular codebases that remain testable and readable as systems evolve.
- Operational Reliability: Designing systems with clear failure modes, graceful degradation, structured logging, and containerized consistency across development, staging, and production.
- Full Lifecycle Ownership: Bridging the gap between raw hardware signals, database persistence, API gateways, and user interfaces with a comprehensive systems perspective.
- Pragmatic Problem Solving: Choosing the right tool for the job—whether writing low-latency embedded firmware, building event-driven microservices, or tuning database query performance.



