Stefan Đokić | .NET

2.8K posts

Stefan Đokić | .NET banner
Stefan Đokić | .NET

Stefan Đokić | .NET

@TheCodeMan__

➡️ Level Up with Everyday .NET Content | Microsoft MVP ➡️ YouTube: https://t.co/9EgEGumuBl ➡️ https://t.co/65gw5pHfDy Newsletter | 20k+

Serbia Katılım Şubat 2012
245 Takip Edilen8.8K Takipçiler
Sabitlenmiş Tweet
Stefan Đokić | .NET
Stefan Đokić | .NET@TheCodeMan__·
This reality hits: deadlines, new team members, rushed PRs, “we’ll fix it later.” Most #dotnet projects don’t fall apart because of bad developers. They fall apart because nobody decided how things should look when things get messy. At the beginning: ✔ clean structure ✔ good intentions ✔ “we’ll keep it tidy” Then reality hits: • deadlines • new team members • rushed PRs • “we’ll fix it later” And suddenly the codebase starts fighting back. This carousel shows the full curriculum of Pragmatic .NET Code Rules. Not as a syllabus. But as a system. A system that: - removes pointless decisions - enforces consistency automatically - keeps projects clean even when teams grow I made this course for developers who: • are tired of style debates • want predictable projects • care about long-term sanity, not quick wins Already 50+ developers joined during pre-order. And yes, you get access immediately. And yes, you get access to the community. You don’t wait. You apply. You improve your project while the course grows. 40% OFF Preorder price: $59.89 (Only 4 spots left at the price and only today) Original price is $150. 👉 Get it now here: thecodeman.net/pragmatic-dotn… Curious, what’s the one rule your current codebase is missing?
English
0
3
19
4.4K
Stefan Đokić | .NET
Stefan Đokić | .NET@TheCodeMan__·
@AntonMartyniuk The biggest productivity gain is knowing when to reset context without losing the useful decisions already made. A fresh session works best when the architecture, constraints, and progress are captured in files instead of relying on conversation history.
English
0
0
2
83
Anton Martyniuk
Anton Martyniuk@AntonMartyniuk·
Your longer Claude Code sessions aren't smarter. They're dumber. Here are 12 wrong facts about Claude Code you still believe: (bookmark this - you'll thank me later) 1. ❌ Longer sessions make Claude smarter ✅ The context fills up, answers get worse, and you pay more for them. ✅ /clear between tasks. A fresh window beats a full one. 2. ❌ It reads your whole repo before answering ✅ It only sees the files you point it at with "@file" and CLAUDE .md. Everything else is a guess. 3. ❌ A longer prompt means better code ✅ A sharp CLAUDE .md beats a 500-word prompt every time. Write the rules once. 4. ❌ You have to accept whatever it writes ✅ Turn on plan mode. Approve the approach before one line changes. 5. ❌ It fixes one thing, then stops and waits ✅ /loop keeps going until the tests actually pass. Give it a finish line and step away. 6. ❌ One Claude does all the work alone ✅ Subagents split the job and run in parallel. One reads, one writes, one reviews. 7. ❌ Code review has to wait for a human ✅ /review flags bugs. /security-review hunts the holes before you ship. 8. ❌ Sonnet is always the right model ✅ /model swaps the brain: Sonnet for daily work, Opus for hard problems, Fable for the heaviest runs. 9. ❌ Claude Code only lives in your terminal ✅ Remote control lets you steer a run from your phone. Start it at your desk, check it from the couch. 10. ❌ It can't work while you're away ✅ Routines run jobs on a schedule — review, changelogs, triage — while you sleep. 11. ❌ Automating it needs a big setup ✅ claude -p runs headless in a GitHub Action and reviews every pull request with no terminal open. 12. ❌ You're too late to start ✅ Start with one repo tonight, not a strategy deck. The bar to knowing how is just trying it. Quick gut-check before you scroll: If even 3 of these caught you, you're in good company. Most devs learn them the hard way. Number 1 costs you money on every long run. New session, free fix — try it on your next prompt. —— ♻️ Repost to help others get more out of Claude Code ➕ Follow me ( @AntonMartyniuk ) to improve your .NET and Architecture Skills
Anton Martyniuk tweet media
English
5
3
20
976
Stefan Đokić | .NET
Stefan Đokić | .NET@TheCodeMan__·
3x MVP. 🏆 Some people collect Pokémon. I collect these. Thank you, #dotnet community, you're the reason.
Stefan Đokić | .NET tweet media
English
3
1
14
595
Stefan Đokić | .NET
Stefan Đokić | .NET@TheCodeMan__·
I'm giving away my .NET AI Prompt Playbook for free - to everyone who joins my community. 36 prompts I use every day to make Claude write production-grade .NET: EF Core, APIs, tests, security, and real AI features (RAG, MCP, agents). The exact phrasings, not "write me code" one-liners. But the Playbook is just the door. Here's what's actually waiting inside 👇 • 𝐓𝐡𝐞 .𝐍𝐄𝐓 𝐀𝐈 𝐓𝐨𝐨𝐥𝐊𝐢𝐭 - 44+ Claude skills and 7 agents that run on your real .NET code (EF Core, performance, architecture, testing, security, observability). Now installable in Claude Code with 𝐨𝐧𝐞 𝐜𝐨𝐦𝐦𝐚𝐧𝐝. • 𝐀 𝐠𝐫𝐨𝐰𝐢𝐧𝐠 𝐜𝐮𝐫𝐫𝐢𝐜𝐮𝐥𝐮𝐦 - step-by-step lessons on actually using AI in real .NET work. Starting with the fundamentals, building up to agents, MCP, and shipping AI features into your own apps. • 𝐓𝐡𝐞 𝐏𝐫𝐨𝐦𝐩𝐭 𝐏𝐥𝐚𝐲𝐛𝐨𝐨𝐤 - yours the moment you join. • 𝐍𝐞𝐰 𝐜𝐨𝐧𝐭𝐞𝐧𝐭, 𝐰𝐞𝐞𝐤𝐥𝐲 - I've started recording walkthroughs, built around what members actually ask for. • 𝐃𝐢𝐫𝐞𝐜𝐭 𝐚𝐜𝐜𝐞𝐬𝐬 𝐭𝐨 𝐦𝐞 - ask questions, share what you're building, get answers. Full courses are on the way, and members get them all. This isn't a pile of files. It's where you actually get good at using AI in .NET - with me in the room. It's open on a 𝟕-𝐝𝐚𝐲 𝐟𝐫𝐞𝐞 𝐭𝐫𝐢𝐚𝐥. Want in? Comment "𝐏𝐋𝐀𝐘𝐁𝐎𝐎𝐊," and I'll send you the link, or join here: 👉 skool.com/thecodeman-ai-…
Stefan Đokić | .NET tweet media
English
5
1
20
833
Stefan Đokić | .NET
Stefan Đokić | .NET@TheCodeMan__·
I thought this .NET endpoint was fine. No exceptions. No failed requests. Every response was a clean 200 OK. And loading 40 rows took almost 7 seconds. No error to grep for, nothing useful in the logs - just a request that "felt slow." If you've ever chased one of these, you know how much time it can eat. So this time I didn't guess. I opened Sentry - and it had already flagged the problem on its own. One click later, its AI debugger (Seer) walked me straight to the root cause: a hidden N+1. Twice, actually. EF Core loads each order's items in a separate query and then makes a separate HTTP call to a second service for every single item. Hundreds of calls are hiding inside one request. The fix was small - one. Include one batched call. The result: ~6,800ms → ~142ms. Same data, ~40x faster. The hard part of a performance bug was never writing the fix. It's finding it. Having the trace and the root cause handed to you changes the whole workflow. Full walkthrough on YouTube: youtube.com/watch?v=BnPmvD… What's the worst "it's just slow" bug you've had to track down?
YouTube video
YouTube
Stefan Đokić | .NET tweet media
English
0
1
13
868
Stefan Đokić | .NET
Stefan Đokić | .NET@TheCodeMan__·
Everyone is talking about MCP servers right now. So I decided to create a realistic example in #dotnet and add it completely FREE to the: My AI in .NET Starter Kit: thecodeman.net/ai-in-dotnet-s… I built an MCP Server in .NET for API performance analysis. Not a “hello world” demo. A real example where GitHub Copilot Agent mode can actually call tools and analyze API performance for you. You type something like: “Compare slow-thread-sleep with slow-task-delay using 20 users for 15 seconds.” And the MCP server: → Runs load tests → Compares endpoints → Measures p50/p95/p99 latency → Detects thread pool starvation → Suggests optimizations → Generates reports The whole point was to show HOW MCP actually works in practice. So instead of building another toy calculator example, I created a scenario around performance testing because it naturally fits the MCP model really well. The project includes: → MCP Server in .NET → 10 MCP tools → Custom load testing engine in pure .NET → ASP. NET Core API with intentional performance issues → Blazor dashboard for visualizing results → Unit tests → Full source code And yes, this is more educational than production-ready. The goal is to help you understand: → How MCP servers expose tools → How AI agents call them → How tool orchestration works → How to structure an MCP server in .NET → How AI can interact with real developer workflows I genuinely think MCP is going to become a very important skill for developers. Especially for people building AI-powered tooling and developer platforms. __ 📌 I'm running a closed group AI for .NET developers: skool.com/thecodeman-ai-…
Stefan Đokić | .NET tweet media
English
2
3
8
788
Stefan Đokić | .NET
Stefan Đokić | .NET@TheCodeMan__·
Everyone is talking about MCP servers right now. So I decided to create a realistic example in .NET and add it completely FREE to the: My AI in .NET Starter Kit: thecodeman.net/ai-in-dotnet-s… I built an MCP Server in .NET for API performance analysis. Not a “hello world” demo. A real example where GitHub Copilot Agent mode can actually call tools and analyze API performance for you. You type something like: “Compare slow-thread-sleep with slow-task-delay using 20 users for 15 seconds.” And the MCP server: → Runs load tests → Compares endpoints → Measures p50/p95/p99 latency → Detects thread pool starvation → Suggests optimizations → Generates reports The whole point was to show HOW MCP actually works in practice. So instead of building another toy calculator example, I created a scenario around performance testing because it naturally fits the MCP model really well. The project includes: → MCP Server in .NET → 10 MCP tools → Custom load testing engine in pure .NET → ASP. NET Core API with intentional performance issues → Blazor dashboard for visualizing results → Unit tests → Full source code And yes, this is more educational than production-ready. The goal is to help you understand: → How MCP servers expose tools → How AI agents call them → How tool orchestration works → How to structure an MCP server in .NET → How AI can interact with real developer workflows I genuinely think MCP is going to become a very important skill for developers. Especially for people building AI-powered tooling and developer platforms. __ 📌 I'm running a closed group AI for .NET developers: skool.com/thecodeman-ai-…
Stefan Đokić | .NET tweet media
English
6
11
81
2.9K
Stefan Đokić | .NET
Stefan Đokić | .NET@TheCodeMan__·
Duplication is cheaper than the wrong abstraction. DRY was never about code that looks alike - it's about knowledge. One FACT in one place. The tell you you got it wrong: a shared method that grows a boolean flag so one caller behaves differently. Wait for the third time.
Stefan Đokić | .NET tweet media
English
0
4
18
888
Stefan Đokić | .NET
Stefan Đokić | .NET@TheCodeMan__·
Users don’t search like SQL queries. They type things like: “Show me a Honda or BMW with at least 200hp, rear-wheel drive, under $50K.” Typesense can turn natural language into structured app/site search. Fast. Typo-tolerant. Open source. Sponsored by @typesense fandf.co/4vrSgJA
Stefan Đokić | .NET tweet media
English
3
7
32
1.3K
Anton Martyniuk
Anton Martyniuk@AntonMartyniuk·
@TheCodeMan__ @typesense This sounds just like asking AI to get data from your database. Very cool. I have tried Typesense, really great and useful tool. Highly recommend.
English
1
0
3
161
Stefan Đokić | .NET
Stefan Đokić | .NET@TheCodeMan__·
@pavle_dav Better review tooling helps, but PR size still matters. AI can explain a large diff, yet smaller, focused changes remain easier to validate, test, and roll back when something goes wrong.
English
0
0
1
176
Pavle Davitkovic
Pavle Davitkovic@pavle_dav·
AI tools made writing code 10x faster. But they also made reviewing code 10x harder. We didn't eliminate the bottleneck; we just moved it to the pull request. Today's AI-authored pull requests are massive. A single diff might contain a database schema update, backend logic changes, a random bug fix, and configuration tweaks all mixed together. Going through a massive diff sequentially is an impossible memory test. By the time you scroll down to the 12th file, you have zero clue what was happening in the 3rd. The typical workarounds we use are terrible: - Firing up the IDE just to grep for missing definitions. - Endlessly scrolling up and down trying to piece the puzzle together. - Pinging the author and blocking the merge until they log back online. - Hitting "Approve" because you are tired, relying on hope-driven development. CodeRabbit recently dropped Change Stack, a redesigned review UI that completely rewrites how we consume code. Here are some of its features: 1. Cohorts Untangle chaotic diffs by grouping them into self-contained logical slices. → Review features step-by-step, rather than file-by-file. → Finish evaluating one component before moving on. → Drastically reduce the cognitive load of massive PRs. 2. Code Peek Clicking a variable or function inside the PR now works like your IDE. → Instantly see where things are defined and used. → No more alt-tabbing to GitHub search or your local editor. → Includes a "back trail" so you never lose your place deep in a review. 3. Chat Agent Instead of re-reading a file 5 times, you can literally chat with the PR. → Ask targeted questions like, "Walk me through this adapter rename." → The AI answers immediately using the full context of the diff → It is the equivalent of asynchronous pair programming. 4. Severity Labels Every comment is now triaged into: critical, major, minor, or trivial. → Instantly mute the noise and focus on blocking issues. → Make a "merge or reject" decision in a fraction of the time. To be clear: this doesn't replace reviewers. It’s about explainability to help them understand and trust the changes they're merging, so they can merge more PRs with confidence. Note: Change Stack is currently in early access and available for GitHub and GitLab. It is free for everyone during the launch window. Make your workflow easier: coderabbit.ai/?dub_id=tbe6Fr… Many thanks to @coderabbitai for sponsoring this post.
Pavle Davitkovic tweet media
English
7
1
14
1.2K
Stefan Đokić | .NET
Stefan Đokić | .NET@TheCodeMan__·
My Claude Code setup was one CLAUDE. md file. For months. And I kept re-explaining the same project conventions in every session, wondering why the output was hit or miss. Turns out there's a whole project structure under .claude/ that almost nobody uses. CLAUDE.md is just the entry point, the "project brain" that loads at session start with your stack, architecture, and commands. • The rules/ folder is where it gets good. Instead of one giant file, you split instructions by topic: code-style .md, testing .md, api-conventions .md. They can even target specific paths in your repo. • commands/ holds repeatable workflows as slash commands. I run /review and /fix-issue daily. • skills/ load only when the task needs them, so your main context stays small. • agents/ are sub-agents with their own isolated context. A code reviewer that doesn't pollute your main conversation. • hooks/ run before or after tool calls. Mine blocks anything unsafe before it executes. • And .mcp.json wires up external tools and lives in Git, so the whole team shares the same setup. I made a visual of the full structure; it's below. If you set up just one thing from this, make it the rules/ folder. And if you want to go deeper into agents, skills, and practical AI for .NET developers, join the group here: skool.com/thecodeman-ai-…
Stefan Đokić | .NET tweet media
English
4
10
61
2.7K
Anton Martyniuk
Anton Martyniuk@AntonMartyniuk·
@TheCodeMan__ Important note: keep your Claude MD file under 100 lines as it is attached in every message. If it's too long, Claude can skip its content. If you need to put more information: add references to other MD files that Claude can use on demand when they are needed. Or just use skills
English
1
0
1
203
Stefan Đokić | .NET
Stefan Đokić | .NET@TheCodeMan__·
@pavle_dav Consistency is what makes an API feel intuitive. When naming, status codes, pagination, and error formats follow the same rules everywhere, clients need far less documentation and make fewer mistakes.
English
0
0
0
218
Pavle Davitkovic
Pavle Davitkovic@pavle_dav·
Most REST APIs are not hard to use because they are complex. They are hard to use because they are inconsistent. ❌ You should be able to guess: → how resources are named → which HTTP method to use → what response shape to expect → which status code will be returned → how errors are structured → how filtering and pagination work API is REST when you followed this 8 principles : 1️⃣ Use clear resource URLs Prefer nouns over verbs. ✅ /api/v1/orders/42 ❌ /api/v1/getOrderById/42 2️⃣ Use the correct HTTP methods GET → retrieve data POST → create a resource PUT/PATCH → update a resource DELETE → remove a resource 3️⃣ Return meaningful status codes Use codes that describe what actually happened: → 200 OK → 201 Created → 204 No Content → 400 Bad Request → 401 Unauthorized → 403 Forbidden → 404 Not Found → 409 Conflict → 500 Internal Server Error 4️⃣ Keep request and response shapes consistent Choose a convention and use it everywhere 5️⃣ Support filtering, sorting, and pagination Large collections should not return everything at once. Example: ?page=2&pageSize=20&sort=-createdAt 6️⃣ Return helpful error messages A good error response should explain: → what went wrong → which field caused the problem → how the client can fix it 7️⃣ Design with security in mind Use HTTPS. Validate input. Apply authentication and authorization correctly. Never expose sensitive implementation details in error responses. Security should be part of the API design, not something added later. 8️⃣ Version and document the API Versioning helps you introduce changes without unexpectedly breaking existing clients. Documentation should include: → available endpoints → request examples → response examples → authentication requirements → possible status codes → common error scenarios Hope this helps. ♻️Repost to help others! ➕Follow me(@pavle_dav) for more posts like this.
Pavle Davitkovic tweet media
English
4
15
55
1.9K
Stefan Đokić | .NET
Stefan Đokić | .NET@TheCodeMan__·
@AntonMartyniuk A side project becomes much more valuable when you treat it like a real product, including authentication, validation, logging, testing, deployment, and monitoring. Even a simple habit tracker can teach you a lot when built properly.
English
0
0
2
157
Anton Martyniuk
Anton Martyniuk@AntonMartyniuk·
20 Side‑Project Ideas for .NET Developers The best way to level up is by building real apps👇 1. Personal Finance Tracker 2. Habit Streak Tracker 3. Workout Logger — ♻️ Repost to help others get cool project ideas ➕ Follow me ( @AntonMartyniuk ) to improve your .NET Skills #dotnet
Anton Martyniuk tweet mediaAnton Martyniuk tweet mediaAnton Martyniuk tweet mediaAnton Martyniuk tweet media
English
7
8
42
2.3K