Sign in

Kristijan Kralj

@kristijankralj.bsky.social
3 followers 2 following 55 posts

Helping .NET developers master the latest tech and industry best practices.

PostsRepliesMedia
Kristijan Kralj @kristijankralj.bsky.social · 27/07/2026
Things you don't need at the start: - Kubernetes - Microservices - Separate read/write DBs Things you need: - Unit tests - CI/CD pipeline - Monolith architecture Lack of simplicity, not lack of time, is a true enemy in every software project.
201
Kristijan Kralj @kristijankralj.bsky.social · 23/07/2026
THEM -> EF Core is slow. ALSO THEM -> Use EF Core to return: - 25 table fields, - 1,000,000 rows at once, - including data from all related tables. Learning how to use the tools is the best performance optimization technique.
Post image
010
Kristijan Kralj @kristijankralj.bsky.social · 19/07/2026
How to cheat your way to 100% code coverage: Add tests without assertions. BONUS BENEFIT: They will never fail. THE ONLY DISADVANTAGE: They are as useful as a purchased WinRar license.
000
Kristijan Kralj @kristijankralj.bsky.social · 03/06/2026
Can anyone identify the exact moment when .NET architecture becomes both: a) more complex b) and slower to ship When does this happen?
000
Kristijan Kralj @kristijankralj.bsky.social · 02/06/2026
.NET development is the only career where you couldn't get the job after 10+ years of experience because you failed to solve a random LeetCode question.
000
Kristijan Kralj @kristijankralj.bsky.social · 01/06/2026
Everyone adds different layers & patterns to their .NET apps. The trick is to know when to STOP.
010
Kristijan Kralj @kristijankralj.bsky.social · 29/05/2026
It costs you ZERO tokens to run a script. If you want to save on AI cost, use it to build tools that don't burn tokens when executing.
000
Kristijan Kralj @kristijankralj.bsky.social · 28/05/2026
"Microservices" The architectural pattern where you have to open, build and deploy 7 solutions to fix a bug.
000
Kristijan Kralj @kristijankralj.bsky.social · 27/05/2026
I used to believe "more layers make everything easier." But the more systems I shipped, the more I realized how much of a scam that statement is. If more layers made things easier, enterprise Java projects would be the most pleasant codebases on Earth.
000
Kristijan Kralj @kristijankralj.bsky.social · 26/05/2026
Dream career!
Post image
000
Kristijan Kralj @kristijankralj.bsky.social · 24/05/2026
In your first years as a senior dev, It is extremely important that you understand this sage-level wisdom: Write the monolith. You have the rest of your career to split it into microservices.
000
Kristijan Kralj @kristijankralj.bsky.social · 21/05/2026
"Code is cheap, just use AI." Prediction: That statement will go from YAY to NAY in the next 6-12 months (due to an increase in token price).
000
Kristijan Kralj @kristijankralj.bsky.social · 20/05/2026
Agentic AI development is the FASTEST, and the EASIEST WAY to... Turn the greenfield project into a legacy one.
000
Kristijan Kralj @kristijankralj.bsky.social · 19/05/2026
Prediction: Developers will become more in demand because of AI, not less. AI companies such as: - Cursor - OpenAI - Anthropic Have a Careers page filled with open software engineering roles. That says something. The golden age of software development is ahead of us.
Post image
010
Kristijan Kralj @kristijankralj.bsky.social · 15/10/2025
90% of C# projects don’t need Kubernetes, microservices, or separate read/write DBs early on. Start simple. Ship fast. Get feedback. Then evolve. This repo shows how: github.com/evolutionary... Simple scales. Complexity fails.
010
Kristijan Kralj @kristijankralj.bsky.social · 14/10/2025
The hidden cost of "enterprise" .NET architecture: Debugging hell. 13+ years in .NET, and I keep seeing this pattern: Teams add layers to solve problems they don’t have. Change one rule = go 5 layers deep. Fix a bug = 7 files open. Good abstractions hide complexity. Bad ones ARE the complexity.
000
Kristijan Kralj @kristijankralj.bsky.social · 09/08/2025
Git merge be like:
000
Kristijan Kralj @kristijankralj.bsky.social · 01/08/2025
3 days of debugging can save you 5 minutes of reading documentation.
000
Kristijan Kralj @kristijankralj.bsky.social · 30/07/2025
.NET developers: Want to avoid painful bugs, security holes, and spaghetti code? Here are 10 silent killers I see over and over - even in "enterprise" apps: #dotnet
100
Kristijan Kralj @kristijankralj.bsky.social · 29/07/2025
I used to think microservices were the modern way to start. But they add pain early on: – Debugging hell – Infra overhead – CI/CD complexity Most apps don't need that upfront. Start with (modular) monolith: Clean boundaries, fast loops, easier debugging. It's a launchpad. Not legacy. #dotnet
000
Kristijan Kralj @kristijankralj.bsky.social · 28/07/2025
Most .NET devs ignore this. But it makes debugging 10x easier. Instead of {Namespace.ObjectName}, you can show: Order ORD-2025-001: Alice Smith - 249.99 The trick? Add [DebuggerDisplay] to your class. Next time you're confused in the watch window, remember: it can be readable. #dotnet
111
Kristijan Kralj @kristijankralj.bsky.social · 20/04/2025
Me after switching from a mapping library to manual mapping:
000
Kristijan Kralj @kristijankralj.bsky.social · 01/04/2025
What you think solving tasks is: - Skim in 3 seconds - Start coding - Ask AI when stuck - Finish without understanding - Spend 3 days fixing bugs What it should be: - Read the task - Think through solutions - Code, test, refactor If you write code you can’t explain, Customers will complain.
000
Kristijan Kralj @kristijankralj.bsky.social · 31/03/2025
Stuck in a legacy .NET monolith? No Clean Arch, no CI/CD, no minimal APIs? Start where you are. Write one SRP class. Decouple one method. Rename one thing. You can’t choose the codebase. But you can choose how you improve it.
010
Kristijan Kralj @kristijankralj.bsky.social · 13/02/2025
The busyness paradox: Developers don't have time to write unit tests. But they have time to fix bugs that the tests would have prevented. #dotnet
010
Kristijan Kralj @kristijankralj.bsky.social · 12/02/2025
Been told you must use long-running feature branches? That’s a lie. 🚩 Successful teams use Feature Flags: - Deploy early - Avoid merge conflicts - Hide unfinished features from users Ditch the long-lived branches. Shorten and simplify your dev process. #dotnet
120
Kristijan Kralj @kristijankralj.bsky.social · 11/02/2025
TODO is a temporary comment that lives for a few years in a codebase. #dotnet
030
Kristijan Kralj @kristijankralj.bsky.social · 10/02/2025
I spent 1 hour investigating what's new in .NET 9 (so you don't have to) Here are the top improvements in 9 categories: #dotnet
000
Kristijan Kralj @kristijankralj.bsky.social · 08/02/2025
Want to build apps on Azure? Know these 3 cloud types: ☁ IAAS – You manage apps & data; the provider handles hardware & networking. ☁ PAAS – The provider manages infra & OS; you focus on code. ☁ SAAS – Fully built apps; least flexible but easiest to use. #dotnet
000
Kristijan Kralj @kristijankralj.bsky.social · 07/02/2025
"I've already set the wedding date. The only thing left to do is to ask the girl out." Estimations and software projects in a nutshell #dotnet
231
Kristijan Kralj @kristijankralj.bsky.social · 06/02/2025
Your ULTIMATE clean code checklist 7 code tips to have better code in 2025 1) Unit testing 2) Refactor every day 3) Eliminate dead code 4) Use the DRY principle 5) Eliminate God classes 6) Minimize using null references 7) Always have in mind that you are writing code for humans Anything else?
000
Kristijan Kralj @kristijankralj.bsky.social · 05/02/2025
1 simple productivity hack for smart C# developers: (that I recently discovered) Create multiple classes at once in Visual Studio 2022. How to do it? In the "Add New Item" window, type multiple class names separated by a comma. P.S. See the below video of this in action. #dotnet
122
Kristijan Kralj @kristijankralj.bsky.social · 04/02/2025
Lack of simplicity, not lack of time, is a true enemy in every .NET project. You don't need more complexity. You need more simplicity. If you want to learn how to evolve .NET projects, here's a useful GitHub repository: buff.ly/3CzSE2u Start simple. Evolve as needed. #dotnet
120
Kristijan Kralj @kristijankralj.bsky.social · 03/02/2025
When do you have less chance to screw up? A → when you release 10 lines to production. B → when you release 1000 lines to production. If your answer is A, why are you still doing B?
010
Kristijan Kralj @kristijankralj.bsky.social · 27/01/2025
Sometimes, a junior developer will finish the task faster than a senior dev. Here's why... Junior (8h): Makes the change. Senior (16h): Makes the changes, writes tests, improves the code. RESULT Junior: Fixing 3 bugs. Senior: Happy customers. To ship fast, you go slow.
010
Kristijan Kralj @kristijankralj.bsky.social · 26/01/2025
Things you don't need: - Kubernetes - Microservices - Separate read/write DBs Things you need: - Unit tests - CI/CD pipeline - Healthy coding habits - Monolith architecture to start with Lack of simplicity, not lack of time, is a true enemy in every software project.
010
Kristijan Kralj @kristijankralj.bsky.social · 25/01/2025
The biggest benefit of TDD is not the code covered with tests. Instead, it's the ability to think SMALL. The SIZE of a problem you are trying to solve without TDD: - Implement the complete login functionality. The SIZE of a problem you are trying to solve with TDD: ⬇️ ⬇️ ⬇️
100
Kristijan Kralj @kristijankralj.bsky.social · 24/01/2025
Instead of having a big method with 5+ parameters, Do this: 1. Create a new class. 2. The properties on the class are the same as method parameters. 3. Replace the parameters with the new class. 4. Update the method calls. This will quickly improve the maintainability of your code.
000
Kristijan Kralj @kristijankralj.bsky.social · 23/01/2025
10 lines changed = 10 comments 1000 lines changed = 0 comments, LGTM (looks good to me) Code reviews in a nutshell
020