C# Pro: Advanced Programming & System Design
Master the advanced capabilities of C# and .NET. Learn collections, reflection, async programming, threading, GC, serialization, TPL, functional programming, Windows kernel synchronization and more.
Oleksii Anzhiiak
Software Architect, Senior .NET Engineer & Co-Founder
By the end you'll be able to
- Design complex and scalable .NET systems
- Write high-performance C# code
- Understand multithreading and async internals
- Avoid common performance and concurrency pitfalls
- Prepare for senior and system-level roles
Is this course for you?
This is right for you if you…
- You've shipped C# in production for 1+ years and feel the ceiling of 'I can write code but I can't argue about it'
- You're a Mid-level engineer aiming for Senior — your interviews are stalling on the system-design round, not the LeetCode round
- You read other people's async code and quietly Google the differences between Task, ValueTask, and IAsyncEnumerable
Don't take this course if you…
- You're brand-new to C# — start with course #1 (Introduction to C#) instead
- You want a syntax tour without depth — this course is about HOW the runtime works, not what new keywords were added
- You're allergic to performance discussions and prefer 'the framework will handle it' — that mindset stalls at Mid level
Who teaches this
Oleksii Anzhiiak
Software Architect, Senior .NET Engineer & Co-Founder
Oleksii Anzhiiak is a Software Architect, Senior .NET Engineer, and Co-Founder of ToyCRM.com and ProfectusLab. With over 15 years of experience, he specializes in distributed systems, cloud infrastructure, high-load backend development, and identity platforms. Oleksii designs complex architectures, builds secure authentication systems, and develops modern engineering education programs that help students achieve real career results.
Currently leads architecture for ToyCRM.com — a multi-tenant CRM platform built on .NET by our team. The same patterns and design decisions used there appear directly in the courses: identity & auth, distributed services, code review culture. You learn from engineers actively shipping production code, not from a textbook.
Syllabus
This course covers the following advanced C# modules:
- 1 Module 1: Custom Collections
- 2 Module 2: System Collections
- 3 Module 3: I/O Programming
- 4 Module 4: Working with Text
- 5 Module 5: XML, Configuration, Registry
- 6 Module 6: Reflection
- 7 Module 7: Attributes
- 8 Module 8: Serialization
- 9 Module 9: Garbage Collector
- 10 Module 10: Ad-Hoc Polymorphism & Refactoring
- 11 Module 11: Multithreading
- 12 Module 12: Windows Kernel Synchronization
- 13 Module 13: Asynchronous Programming & Enterprise Library
- 14 Module 14: Task Parallel Library (TPL)
- 15 Module 15: Async & Await
- 16 Module 16: Functional Programming
- 17 Module 17: Application Domains & Windows Services
Prerequisites
Completion of Introduction to C# or equivalent knowledge. Solid understanding of OOP, collections, and basic C# syntax.
Strong understanding of basic C# and .NET is required.
What you'll build
By the end you'll be the engineer your team brings into the room when an async deadlock surfaces, when a 200ms p99 needs to become 20ms, or when the team is choosing between three architecture options and someone has to make the call. You leave with the vocabulary AND the production patterns to do that on day one of your next role.
- Advanced C# language features
- Collections internals and performance
- Multithreading and synchronization
- Async/await and Task Parallel Library
- Memory management and garbage collection
- Reflection and runtime type inspection
- System-level .NET architecture
Where this fits in your career
Read alongside this course
From C# to AI Agents: A .NET Developer's Path to Building with Claude
You already know C#, ASP.NET Core, and how to ship production backends. Here's how to reuse those skills to build serious AI agents with Claude — without throwing away your stack.
C# vs Python in 2025: Which Should You Learn First?
A senior engineer's honest take on choosing between C# and Python as your first serious language — based on job market data, learning curve, and long-term career impact.
How to Pass a System Design Interview: A Senior Engineer's Playbook
Most system design advice is theoretical noise. This is the repeatable framework I use to evaluate candidates — and that you can use to pass any system design interview at a mid or senior level.
First lesson on us. Decide after meeting your instructor.
Sit in on the first session. If after lesson 1 you decide the instructor isn't the right fit, you don't pay for it — and no awkward conversation. (Trial offer applies to courses with more than 5 lessons; this one qualifies.)
Pricing & what's included
What's included
- 17 live sessions × 2 hours each — taught by the instructor, not a recording playback
- Slide deck for every session — yours to keep and refer back to
- Working code files and any data files used in class — cloned to your machine
- Weekly homework with personal code review from the instructor
- Recording on request — give the teacher a heads-up ("can't make Tuesday, please record it") and the session is recorded for you
Frequently asked questions
How much time per week will this take?
Plan for the live sessions plus roughly 1.5–2 hours of practice per session. Most students who finish on schedule put in 4–6 hours a week total. If you put in less, you still finish — it just takes longer.
What if I miss a class?
Tell the teacher BEFORE the session — "I can't make Tuesday, please record it" — and the teacher records that lesson and sends it to you. Recordings aren't a default catch-up archive; they're produced on request when you give a heads-up. After the lesson you do the homework, bring questions to the next session.
What's included in the price?
Live sessions with the teacher; the slide deck for each session (yours to keep); the working code files and any data files used in class; weekly homework with code review; and recordings of the sessions you give advance notice for. Anything beyond that — a certificate, alumni access, mock interviews — is listed explicitly in "What's included" above the FAQ for the courses where it applies.
What if I sign up and the teacher isn't a fit?
For courses with more than 5 lessons, the first session is effectively a trial — if after lesson 1 you decide the teacher isn't a fit, you don't pay for it. We'd rather you walk away after one lesson than push through 9 weeks of bad chemistry. (Courses with 5 or fewer lessons are short enough that the standard pricing applies — the trial offer doesn't make sense at that length.)
Can I get a refund partway through?
Yes, while more than half the course is still unused — i.e. you've attended fewer than 50% of the lessons. The refund covers the unused portion proportionally. Past the halfway point we don't refund, on the assumption that the value has been delivered.
Can I switch the language of instruction?
The live sessions run in the language listed under "Available Languages" above. Slides and code files are typically available in all four (English, Russian, Ukrainian, Georgian). Many students attend sessions in one language and read materials in another — that's normal.
Will I be ready for a real job after this course?
One course rarely gets anyone hired by itself — for any field. What this course gives you is the foundation a junior hiring manager expects: working code you wrote yourself, the vocabulary to read other people's code, and the practice habits that make you employable. The honest answer to "am I ready?" is on our roadmap (link in the page header) — open the level you want to reach and read the "You're ready when" checklist.
Can I pay in instalments?
Yes for courses with a "Monthly Payment" option in the at-a-glance ribbon — usually two or three equal monthly payments. Courses without that option are paid in one go. If the price is the blocker, write to us — we look at every case.