Day 1/100 – Becoming a Better .NET Backend Developer Starting a 100-day consistency challenge to sharpen my backend engineering skills and share real-world learnings along the way Today’s Focus: Optimizing a Slow API (EF Core) I came across an API endpoint that was taking ~4–5 seconds to respond . What I improved: Removed unnecessary .ToList() before filtering Used .Select() to fetch only required fields Added indexing on frequently queried columns Switched to async calls (ToListAsync) Result: Improved response time from ~5s → under 500ms Key Takeaways: Avoid loading unnecessary data from DB Always use projections when possible Indexing can drastically improve performance Async != faster always, but improves scalability This is something I’m actively focusing on while building real-world APIs and improving performance mindset. 💬 Curious — what’s the biggest performance issue you’ve faced in APIs? #100DaysOfCode #dotnet #efcore #backend #webapi #performance #softwareengineering #learninginpublic
Optimizing Slow .NET Backend API with EF Core
More Relevant Posts
-
Most backend bottlenecks aren’t in your database. They’re in how you call it. A pattern that quietly kills performance: for (const id of userIds) { const user = await getUser(id); users.push(user); } Works fine in dev. Breaks under real traffic. This turns one request into N sequential queries. What experienced systems do instead: • batch queries • parallelize safely • reduce round trips A small shift: const users = await Promise.all(userIds.map(getUser)); Same logic. Completely different latency profile. In production, performance is rarely about “faster code”. It’s about fewer waits. #BackendEngineering #NodeJS #PerformanceOptimization #SystemDesign #SoftwareEngineering
To view or add a comment, sign in
-
Choosing the right validation approach in Node.js can make a big difference. Here’s a quick comparison I found useful 👇 🟠 Joi (Schema-based) ✔ Define validation schema ✔ Validate entire data object ✔ Clean and reusable Best for: structured and scalable applications 🟢 express-validator (Middleware-based) ✔ Works directly in Express routes ✔ Validates request step-by-step ✔ Easy to use for small APIs Best for: quick and simple validation ⚔️ Key difference: Joi → define rules for data structure express-validator → validate request during handling ❓ Quick FAQ 👉 Which one should I use? Depends on project complexity. 👉 Can I use both? Yes, but usually one is enough. 👉 Why is validation important? Prevents invalid data and improves API security. Backend development is not just about handling requests — it’s about handling them correctly. #NodeJS #BackendDeveloper #Validation #WebDevelopment
To view or add a comment, sign in
-
-
🚀 Why Your Node.js API Gives Inconsistent Responses Same API… Same input… But different results 😐 👉 Sometimes correct data 👉 Sometimes wrong / empty response 👉 Hard to reproduce bugs That’s a data consistency issue. 🔹 Common causes ❌ Race conditions ❌ Shared mutable state ❌ Improper async handling ❌ Cache inconsistency ❌ Multiple DB writes ❌ Eventual consistency delays 🔹 What experienced devs do ✅ Avoid shared mutable state ✅ Use proper async/await flow ✅ Implement locks / queues when needed ✅ Handle cache invalidation properly ✅ Use transactions for DB operations ✅ Add proper logging & tracing ⚡ Simple rule I follow If results are inconsistent… There’s a concurrency problem. Consistency is not automatic… It must be designed carefully. Have you faced inconsistent API issues in Node.js? 👇 #NodeJS #BackendDevelopment #Concurrency #API #SystemDesign #Debugging
To view or add a comment, sign in
-
-
Not every API should be REST. That’s one thing I’ve learned after several years in software development. Different API types solve different problems: REST → best for standard web/mobile apps SOAP → works well in legacy enterprise systems GraphQL → great when frontend needs flexible data gRPC → ideal for fast microservice communication WebSockets → best for real-time updates Good engineering is not about using what’s trending. It’s about choosing the right API for the right use case. 📩 Email: harshavardhan5530@gmail.com 📞 Ph: +1 (913) 703-6017 What API type do you use the most in your current project? #OpenToWork #API #Java #Microservices #SpringBoot #BackendDevelopment #SoftwareEngineering #GraphQL #gRPC #WebSockets #RESTAPI
To view or add a comment, sign in
-
-
I spent three hours last week watching a developer argue that .NET is "legacy" whilst simultaneously building a REST API in Node.js that couldn't handle more than 200 concurrent requests. 😅 This happens more often than you'd think. Someone reads a blog post about the shiny new framework, decides that anything older than two years is obsolete, and suddenly we're rewriting perfectly functional systems for no reason. Here's what I've learned from 15+ years of watching tech trends cycle through: the real cost isn't in picking the "wrong" technology. It's in picking something that doesn't match your actual problem. .NET handles enterprise workloads better than nearly anything out there. React is genuinely brilliant for component-driven UIs. SQL Server's execution plans are a work of art if you bother to read them. None of these things are old. They're just proven. The developers I respect most aren't the ones chasing every new release. They're the ones who understand why they're choosing a tool, can defend that choice with data, and know when to abandon it if requirements shift. What's the most "legacy" tech stack you've actually had to maintain? And more importantly, did it work? Drop it in the comments. 📊
To view or add a comment, sign in
-
🧵 The .NET 9 Aspire + Vertical Slice Architecture stack is quietly becoming the gold standard for cloud-native enterprise apps. After shipping 3 production systems on this combo, here's what actually changes day-to-day for senior full-stack devs: What's different with .NET 9 Aspire: → Built-in distributed tracing & service discovery (no more YAML sprawl) → AppHost replaces docker-compose for local orchestration → Dashboard gives real-time telemetry out of the box Vertical Slice Architecture over Clean Architecture when: ✅ Feature teams own end-to-end slices ✅ You want MediatR + Minimal APIs with zero cross-layer coupling ✅ The domain model doesn't justify 5 projects and 12 abstractions Stack breakdown: Frontend → React + TypeScript + TanStack Query API → ASP.NET Core Minimal APIs + Carter CQRS → MediatR + FluentValidation Persistence → EF Core 9 + PostgreSQL Infra → Azure Container Apps + Aspire AppHost The biggest unlock? Aspire's service defaults automatically wire OpenTelemetry, health checks, and resilience policies to every service. Senior devs stop writing boilerplate and start writing product. Are you still defaulting to Clean Architecture for every new project, or has your team made the shift? 👇 #dotnet #aspire #csharp #azure #softwarearchitecture #fullstackdevelopment #microservices
To view or add a comment, sign in
-
-
One thing I’ve learned as a Full Stack Developer is that performance is not just about writing code — it’s about understanding how systems behave under real-world conditions. In one of my recent projects, I worked on optimizing backend APIs built with .NET where response times were becoming a bottleneck as data scaled. By improving database queries, reducing unnecessary data transfers, and restructuring parts of the API logic, we were able to significantly improve performance and system responsiveness. These kinds of challenges are what make backend engineering exciting — it’s not just about building features, but making them efficient, scalable, and reliable. Always learning, always improving. #BackendDevelopment #DotNet #SoftwareEngineering #APIs #Scalability
To view or add a comment, sign in
-
One thing I’ve learned as a Full Stack Developer is that performance is not just about writing code — it’s about understanding how systems behave under real-world conditions. In one of my recent projects, I worked on optimizing backend APIs built with .NET where response times were becoming a bottleneck as data scaled. By improving database queries, reducing unnecessary data transfers, and restructuring parts of the API logic, we were able to significantly improve performance and system responsiveness. These kinds of challenges are what make backend engineering exciting — it’s not just about building features, but making them efficient, scalable, and reliable. Always learning, always improving. #BackendDevelopment #DotNet #SoftwareEngineering #APIs #Scalability
To view or add a comment, sign in
-
I just published a deep dive on designing scalable REST APIs in Node.js. Here’s the core idea most developers miss: Most APIs fail NOT because of code, but because of structure. Common issues include: - Controllers are doing everything - No separation of concerns - Messy scaling What actually works is a clear structure: - Route → Controller → Service → Repository Each layer has ONE job. The flow is simple and predictable: Client → Route → Controller → Service → Database → Response The biggest lesson is to stop thinking “I’m building APIs” and start thinking “I’m designing systems.” I’ve broken this down in detail, including diagrams and examples. Comment “API”, and I’ll share the full article. #NodeJS #BackendDevelopment #SystemDesign #SoftwareEngineering #CleanCode
To view or add a comment, sign in
-
-
🚨 Is Backend Really Dead? Supabase just made me question everything. I watched Piyush Garg's latest video — "Backend is Dead" — and honestly? I can't stop thinking about it. He demonstrated how Supabase's Row Level Security (RLS) lets you write policies directly at the database level so users can only access their own data — zero custom backend logic needed. Think about that. No Express routes. No JWT middleware. No custom auth checks. Just a policy line: "users can only see rows where user_id = auth.uid()" For a Todo app — your todos are yours. Nobody else's. Enforced by the database itself. 🔐 Now I'm not saying backend engineers are obsolete. Complex systems still need them. But for indie devs, solo builders, and fast MVPs — tools like Supabase are genuinely changing the game. The real question isn't "Is backend dead?" It's — are you still writing code that the database could handle for you? 👀 #Supabase #WebDevelopment #Backend #RowLevelSecurity #BuildInPublic #DevCommunity #JavaScript
Backend Is Dead!
https://www.youtube.com/
To view or add a comment, sign in
Explore content categories
- Career
- Productivity
- Finance
- Soft Skills & Emotional Intelligence
- Project Management
- Education
- Technology
- Leadership
- Ecommerce
- User Experience
- Recruitment & HR
- Customer Experience
- Real Estate
- Marketing
- Sales
- Retail & Merchandising
- Science
- Supply Chain Management
- Future Of Work
- Consulting
- Writing
- Economics
- Artificial Intelligence
- Employee Experience
- Workplace Trends
- Fundraising
- Networking
- Corporate Social Responsibility
- Negotiation
- Communication
- Engineering
- Hospitality & Tourism
- Business Strategy
- Change Management
- Organizational Culture
- Design
- Innovation
- Event Planning
- Training & Development
https://whatsapp.com/channel/0029VbBpXJ4I7Be9tBPuJR0P/229