[{"content":"One of the most satisfying wins I had recently at work was taking an Oracle SQL query that was running in 8 seconds and getting it down to 500ms. That\u0026rsquo;s a 16× speedup, and it happened in an afternoon. Here\u0026rsquo;s the story.\nThe problem The query was part of a data processing pipeline running in production. Users were seeing noticeable delays, and the query was being called frequently enough that it was spiking database CPU during peak hours.\nThe original query looked something like this (simplified):\n1 2 3 4 5 6 7 SELECT t1.id, t1.name, t2.status, t3.amount FROM transactions t1 JOIN accounts t2 ON t1.account_id = t2.id JOIN payments t3 ON t3.transaction_id = t1.id WHERE t1.created_date \u0026gt;= SYSDATE - 30 AND t2.region = \u0026#39;US\u0026#39; ORDER BY t1.created_date DESC; Nothing unusual — but it was scanning millions of rows on every execution.\nStep 1: Read the execution plan The first thing I did was pull the execution plan with EXPLAIN PLAN. The output showed a full table scan on transactions, which has tens of millions of rows. That\u0026rsquo;s your signal: the optimizer isn\u0026rsquo;t using an index.\nStep 2: Add the right index The query filters on created_date and joins on account_id. A composite index on (created_date, account_id) lets the optimizer narrow the date range first, then the join happens on a much smaller set.\n1 2 CREATE INDEX idx_transactions_date_account ON transactions(created_date, account_id); Order matters in composite indexes. The column with the most selective filter should come first. created_date \u0026gt;= SYSDATE - 30 eliminates the bulk of rows up front, so it leads.\nStep 3: Verify with the optimizer After adding the index, I ran EXPLAIN PLAN again. The full table scan was gone, replaced with an INDEX RANGE SCAN. Query time dropped to ~500ms.\nTakeaways Always start with EXPLAIN PLAN — guessing at optimizations without understanding what the DB is actually doing is a losing game. Composite index column order matters. Lead with the most selective predicate. Measure, don\u0026rsquo;t assume. Even after adding the index, I ran benchmarks with real production-like data volumes before calling it done. Small wins like this add up. When you\u0026rsquo;re running a query millions of times a day, 7.5 seconds per call translates to real infrastructure cost — and a much better experience for everyone downstream.\n","permalink":"https://arps18.github.io/posts/sql-optimization/","summary":"How I took a critical query from 8 seconds down to 500ms — a 16× speedup — through indexing, execution plan analysis, and a few hard-earned lessons.","title":"Optimizing Oracle SQL: From 8 Seconds to 500ms"},{"content":"I\u0026rsquo;ve been building REST APIs with Micronaut for about a year now, and I keep getting asked why I didn\u0026rsquo;t just use Spring Boot. Here\u0026rsquo;s the honest answer.\nWhat Micronaut does differently Micronaut does dependency injection and AOP at compile time, not runtime. That means:\nFaster startup — typically under a second, compared to 5-10s for equivalent Spring apps Lower memory footprint — critical when you\u0026rsquo;re running many microservices in Kubernetes No reflection overhead — better performance in steady state For container-heavy architectures where you\u0026rsquo;re scaling pods up and down constantly, those startup times matter a lot.\nA minimal example Here\u0026rsquo;s what a basic controller looks like:\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 @Controller(\u0026#34;/api/users\u0026#34;) public class UserController { private final UserService userService; public UserController(UserService userService) { this.userService = userService; } @Get(\u0026#34;/{id}\u0026#34;) public HttpResponse\u0026lt;User\u0026gt; getUser(@PathVariable Long id) { return userService.findById(id) .map(HttpResponse::ok) .orElse(HttpResponse.notFound()); } @Post public HttpResponse\u0026lt;User\u0026gt; createUser(@Body @Valid UserRequest request) { User created = userService.create(request); return HttpResponse.created(created); } } If you\u0026rsquo;ve used Spring before, this will look familiar. The annotations are similar, the mental model is similar. The difference is all under the hood.\nWhere it shines Serverless — cold starts are dramatically shorter Microservices on Kubernetes — faster pod readiness means quicker rollouts GraalVM native images — Micronaut was designed with this in mind from day one Where Spring still wins Ecosystem. Spring has a library for everything. Micronaut is catching up but it\u0026rsquo;s not there yet. Team familiarity. If your team already knows Spring inside and out, retraining has a cost. Stack Overflow answers. Still much more for Spring problems. My take Pick Micronaut when startup time, memory, or native compilation matters. Pick Spring when ecosystem depth or team familiarity matters. There\u0026rsquo;s no universally right answer — and that\u0026rsquo;s fine.\n","permalink":"https://arps18.github.io/posts/micronaut-intro/","summary":"Why I picked Micronaut over Spring Boot for microservices — and what I learned along the way.","title":"Building REST APIs with Micronaut: A Practical Introduction"},{"content":"After a year of orchestrating microservices on Kubernetes in production, I\u0026rsquo;ve collected a set of lessons — some earned painfully. Here they are.\n1. Resource limits are not optional Early on, we ran pods without CPU and memory limits. It \u0026ldquo;worked\u0026rdquo; — until one noisy neighbor ate an entire node\u0026rsquo;s resources and took down the services around it.\nNow every pod has explicit requests and limits:\n1 2 3 4 5 6 7 resources: requests: memory: \u0026#34;256Mi\u0026#34; cpu: \u0026#34;250m\u0026#34; limits: memory: \u0026#34;512Mi\u0026#34; cpu: \u0026#34;500m\u0026#34; Requests guarantee the scheduler places your pod somewhere with capacity. Limits cap bad behavior. Both are worth the five minutes it takes to set them.\n2. Readiness probes matter more than liveness probes A liveness probe tells Kubernetes when to restart a pod. A readiness probe tells it when to start sending traffic. People often conflate these.\nIf your readiness probe is missing or wrong, you\u0026rsquo;ll route requests to pods that aren\u0026rsquo;t actually ready to serve them — and see mysterious 502s during deployments.\n1 2 3 4 5 6 readinessProbe: httpGet: path: /health/ready port: 8080 initialDelaySeconds: 10 periodSeconds: 5 Expose /health/ready that checks DB connections, cache warmup, etc. — not just \u0026ldquo;am I alive.\u0026rdquo;\n3. ConfigMaps and Secrets — separate them Configuration values go in ConfigMaps. Anything sensitive — API keys, DB credentials, tokens — goes in Secrets. Don\u0026rsquo;t bake either into images.\nAnd enable encryption at rest for etcd. Kubernetes Secrets are base64-encoded by default, not encrypted.\n4. Horizontal Pod Autoscaling is worth the setup HPA scales pods based on metrics. It\u0026rsquo;s a small config file and it\u0026rsquo;s saved us during unexpected traffic spikes:\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 apiVersion: autoscaling/v2 kind: HorizontalPodAutoscaler metadata: name: api-hpa spec: scaleTargetRef: apiVersion: apps/v1 kind: Deployment name: api minReplicas: 2 maxReplicas: 10 metrics: - type: Resource resource: name: cpu target: type: Utilization averageUtilization: 70 5. Invest in observability early Prometheus, Grafana, centralized logging — set these up before you need them. When something breaks at 2 AM, you\u0026rsquo;ll want the data already flowing.\nKubernetes has a steep learning curve, but the operational leverage once you\u0026rsquo;re past it is real. Start small, get the basics right, and the rest follows.\n","permalink":"https://arps18.github.io/posts/kubernetes-lessons/","summary":"A year of running microservices on Kubernetes — what worked, what didn\u0026rsquo;t, and what I\u0026rsquo;d do differently.","title":"Kubernetes for Microservices: Lessons Learned"},{"content":"Hello, I\u0026rsquo;m Arpan 👋 I\u0026rsquo;m a Software Developer Engineer at Credit Acceptance, based in Austin, TX. I build backend services and APIs, work with distributed systems, and obsess over making things faster.\nI graduated with a Master of Science in Computer Science from Northeastern University in December 2024, where I focused on scalable and distributed systems and programming design paradigms. Before that, I earned my B.E. in Information Technology from Sardar Vallabhbhai Patel Institute of Technology.\nWhat I do I enjoy working across the stack — but I\u0026rsquo;m happiest near the backend. Some of what I\u0026rsquo;ve shipped recently:\nBuilt REST APIs with Micronaut and Java that improved system interoperability by 30% Optimized Oracle SQL queries from 8 seconds down to 500ms (16× speedup) through indexing strategies Orchestrated microservices on Kubernetes for better scalability and resource management Containerized 20+ applications with Docker and automated CI/CD with GitHub Actions Earlier in my career, I co-founded Scudo Systems LLP, where I developed a real-time GPS tracking system with 90% accuracy using Python, Raspberry Pi, and IoT protocols. That experience shaped how I think about systems that need to work reliably in the real world.\nTech I work with Languages: Java, Python, Go, TypeScript, SQL, C++, Swift Frameworks \u0026amp; Runtime: Micronaut, Django, Node.js, Flask, React, Flutter Infrastructure: Docker, Kubernetes, AWS, GCP, Jenkins, GitHub Actions Data \u0026amp; Messaging: MySQL, MongoDB, Oracle, Kafka, Spark, Hadoop Beyond the code I was the Chapter Lead of the Mozilla Campus Club at my undergraduate campus, co-organized Flutter Vadodara, and served as a trusted Mozilla Rep. I\u0026rsquo;ve contributed to open-source projects — including the Flutter Shortcut Widget via the \u0026ldquo;Adopt a Widget\u0026rdquo; campaign on GitHub — and co-authored a research paper titled \u0026ldquo;Parkup\u0026rdquo; published in the International Research Journal of Engineering and Technology.\nGet in touch I\u0026rsquo;m always up for a conversation about distributed systems, backend architecture, or just a good book recommendation.\nEmail: arpanpatel.contact@gmail.com LinkedIn: linkedin.com/in/arpanpatel18 GitHub: github.com/arps18 ","permalink":"https://arps18.github.io/about/","summary":"about","title":"About"},{"content":"A curated list of things I\u0026rsquo;ve built — across distributed systems, systems programming, and IoT. Most of these started as experiments and grew from there.\n🗂️ Distributed Key-Value Store Server A distributed key-value store with client-server communication supporting both UDP and TCP protocols.\nTech: Java · UDP · TCP · Socket Programming · Multithreading\nSupported both UDP and TCP communication protocols, achieving a 98% success rate for seamless client-server interaction Utilized hash maps for efficient storage and retrieval of up to 10,000 key-value pairs, with average access time of 5ms Implemented multithreading for concurrent client handling View on GitHub →\n📁 Unix-like File System A POSIX-compliant file system implementation in C with inode-based metadata management.\nTech: C · POSIX · System Calls · Pointers · Linked Lists\nImplemented file creation, deletion, reading, writing, and directory traversal Designed modular structures for readdir, read, and write operations, reducing implementation complexity by 30% Inode-based metadata management for efficient file tracking View on GitHub →\n🚗 Scudo Systems — Real-time GPS Tracking Co-founded venture building IoT tracking hardware and the software that powers it.\nTech: Python · Raspberry Pi · IoT · REST APIs\nDeveloped a custom software system for real-time tracking of monitor devices with 90% accuracy Restructured GPS algorithm to provide 10-meter radius accurate location, significantly improving tracking efficiency Conducted extensive testing and debugging for production readiness with 40% faster response times 🅿️ Parkup — Smart Parking System Research project for an intelligent parking management system, published in IRJET.\nTech: IoT · Sensors · Cloud · Research\nCo-authored and published in the International Research Journal of Engineering and Technology. Focused on real-time parking slot availability using sensor networks.\nRead the paper →\n🔌 Flutter Shortcut Widget Open-source contribution to Flutter\u0026rsquo;s widget ecosystem through the \u0026ldquo;Adopt a Widget\u0026rdquo; campaign.\nTech: Flutter · Dart · Open Source\nContributed documentation, examples, and bug fixes for the shortcut widget, helping other Flutter developers adopt it more easily.\nView on GitHub →\nWant to see more? My GitHub has the full collection.\n","permalink":"https://arps18.github.io/projects/","summary":"A curated list of my personal projects","title":"Projects"},{"content":"Download PDF version →\nSoftware Developer Engineer with a Master\u0026rsquo;s in Computer Science from Northeastern University and hands-on experience building scalable backend systems, REST APIs, and microservices. I focus on distributed systems, cloud infrastructure, and database performance — and I\u0026rsquo;ve delivered measurable wins in each. Currently building services at Credit Acceptance while continuing to contribute to open-source projects.\nKey Expertise: Backend Development (Java, Python, Go). REST API Design and Microservices Architecture. Distributed Systems and Scalability. Database Optimization (Oracle, MySQL, MongoDB). Containerization and Orchestration (Docker, Kubernetes). CI/CD Pipelines (GitHub Actions, Jenkins). Cloud Platforms (AWS, GCP). Event Streaming (Kafka, Spark, Hadoop). Socket Programming and Networking. Mobile Development (Flutter, Android, iOS/Swift). IoT Systems and Embedded Development. Agile Methodologies and Team Leadership. Achievements: Optimized a critical Oracle SQL query from 8s to 500ms — a 16× speedup — through indexing strategies. Reduced query response time by 40% by implementing an internal service to streamline data processing workflows. Enhanced system interoperability by 30% through robust REST API development. Containerized 20+ applications with Docker, significantly improving deployment speed. Cut manual intervention by 50% through GitHub Actions CI/CD pipelines. Achieved 90% accuracy for real-time GPS tracking as co-founder of Scudo Systems LLP. Projects and Learning: Built a distributed key-value store supporting UDP and TCP with 98% request success rate. Implemented a Unix-like file system in C with inode-based metadata management. Co-authored research paper \u0026ldquo;Parkup\u0026rdquo; — published in the International Research Journal of Engineering and Technology. Contributed to open-source Flutter Shortcut Widget via GitHub\u0026rsquo;s \u0026ldquo;Adopt a Widget\u0026rdquo; campaign. GitHub: https://github.com/arps18 Portfolio: https://arps18.github.io Education: M.S. Computer Science — Northeastern University, Boston (Sep 2022 – Dec 2024) B.E. Information Technology — Sardar Vallabhbhai Patel Institute of Technology, Vasad (Jul 2017 – Jul 2021) Contact Details: Portfolio: https://arps18.github.io E-mail: arpanpatel.contact@gmail.com LinkedIn GitHub\nJob Experience Software Developer Engineer Credit Acceptance • Jan 2025 - Present • Austin, TX (Remote)\nTech: Micronaut, Docker, Kubernetes, SQL, REST APIs, Microservices, GitHub Actions, Tomcat\nDeveloped and maintained REST APIs, enhancing system interoperability by 30% and ensuring robust performance. Built a new internal service that streamlined data processing workflows, reducing query response time by 40%. Reduced a critical Oracle SQL query from 8s to 500ms using indexing and execution plan optimization — a 16× speedup. Orchestrated microservices on Kubernetes, improving scalability and optimizing resource management. Software Developer Intern Credit Acceptance • May 2024 - Aug 2024 • Southfield, MI (Remote)\nTech: Django, Python, Java, Docker, Kubernetes, REST APIs, Microservices, GitHub Actions\nMigrated legacy codebase to Django and Python, reducing technical debt and improving maintainability. Containerized 20+ applications using Docker, improving deployment speed and enhancing system efficiency. Implemented GitHub Actions for CI/CD, cutting manual intervention by 50% and streamlining workflows. Software Developer Lead Intern Sanrel LLC • Jul 2023 - Dec 2023 • Worcester, MA\nTech: SQL, Node.js, Docker, Agile, Microservices\nLed software team projects, achieving 20% faster project completion through strong coordination and collaboration. Integrated a server with four hardware devices, ensuring seamless communication functionality. Implemented a SQL-based inventory system using SnipeIt, boosting accuracy and efficiency by 30%. Designed a robust SQL database for product inventory and shipping, reducing processing time by 40%. Co-founder and Software Developer Scudo Systems LLP • Jul 2019 - Jul 2022 • Ahmedabad, India\nTech: Python, Raspberry Pi, IoT, REST APIs\nBuilt a custom software system for real-time device tracking with 90% accuracy. Restructured the GPS algorithm to deliver 10-meter radius location accuracy, significantly improving tracking efficiency. Conducted extensive testing and debugging, achieving 40% faster response times. For detailed information about my professional journey and achievements, please visit my LinkedIn profile.\nSide Projects \u0026amp; Tooling Distributed Key-Value Store A distributed key-value store server supporting both UDP and TCP communication protocols. Handles up to 10,000 key-value pairs with an average access time of 5ms and a 98% request success rate. Built with Java, using hash maps for efficient storage and multithreading for concurrent client handling.\nUnix-like File System A POSIX-compliant file system implementation in C with inode-based metadata management. Supports file creation, deletion, reading, writing, and directory traversal. Modular design for readdir, read, and write operations reduced implementation complexity by 30%.\nScudo Systems — GPS Tracking Platform A real-time GPS tracking system using Raspberry Pi and custom IoT hardware. Developed the software stack, restructured the GPS algorithm for 10-meter accuracy, and built the backend APIs that powered the tracking platform.\nParkup — Smart Parking System Research project and IoT system for intelligent parking slot management, published in the International Research Journal of Engineering and Technology. Focused on real-time availability detection using sensor networks.\nFlutter Shortcut Widget Open-source contribution to Flutter\u0026rsquo;s widget ecosystem via the \u0026ldquo;Adopt a Widget\u0026rdquo; campaign on GitHub. Contributed documentation, examples, and bug fixes to help other Flutter developers adopt the widget.\nView more projects on my GitHub Profile.\nPublications Parkup: Smart Parking System Co-authored research paper\nPublished in International Research Journal of Engineering and Technology (IRJET)\nCommunity \u0026amp; Leadership Chapter Lead — Mozilla Campus Club at SVIT Vasad Co-organizer — Flutter Vadodara community meetups Mozilla Rep — Represented Mozilla as a trusted volunteer at campus events Open-source contributor — Flutter Shortcut Widget (\u0026ldquo;Adopt a Widget\u0026rdquo; campaign) Education Master of Science — Computer Science Northeastern University • Sep 2022 – Dec 2024 • Boston, MA\nRelevant coursework: Programming Design Paradigm, Building Scalable and Distributed Systems.\nBachelor of Engineering — Information Technology Sardar Vallabhbhai Patel Institute of Technology • Jul 2017 – Jul 2021 • Vasad, India\nRelevant coursework: Analysis and Design of Algorithms, Software Engineering, Database Management Systems.\nTechnical Skills Programming Languages: Java, Python, C++, SQL, Swift, TypeScript, JavaScript, Go\nFrameworks: Micronaut, Node.js, JUnit, Flutter, React, Django, Flask\nDatabases: MySQL, MongoDB, Oracle, Firebase\nCloud \u0026amp; DevOps: Docker, Kubernetes, Jenkins, Git, GitHub Actions, AWS, GCP, Microservices\nTools \u0026amp; Topics: OOP, Linux, IoT, RESTful APIs, Kafka, Spark, Hadoop, Java Networking, Shell Scripting, Android\n","permalink":"https://arps18.github.io/cv/","summary":"My professional resume","title":"Resume"}]