Christopher Okhravi

Christopher Okhravi

I’m on a mission to answer a simple question: Which abstractions should be used when? From the moment I learned my first abstraction, I was hooked. This fascination continues to shape how I think about software and has led me to complete a PhD. On this channel, I share practical frameworks, mental models, and real-world examples to help you make better decisions as a developer. Whether you’re a student, entrepreneur, or seasoned programmer, the right abstraction can make all the difference. I make videos on: 1. Choosing the right abstraction. 2. Reducing complexity without losing flexibility. 3. Decision-making tools for scalable code. 4. When and why to make trade-offs. If you’ve got a question, challenge, or story, email me—I’d love to hear from you. Note: Some links on this channel are affiliate links. If you buy through them, I may earn a commission at no extra cost to you.

Accidentally Used Design Patterns When Rebuilding Pokémon

Accidentally Used Design Patterns When Rebuilding Pokémon

Christopher Okhravi

3 months ago

Computers Education
Rebuilding Pokémon with Object Oriented Programming

Rebuilding Pokémon with Object Oriented Programming

Christopher Okhravi

3 months ago

Computers Education
Nothing Wrong With Procedural Programming?

Nothing Wrong With Procedural Programming?

Christopher Okhravi

4 months ago

Computers Education
Only Use Inheritance If You Want Both of These

Only Use Inheritance If You Want Both of These

Christopher Okhravi

10 months ago

Computers Education
7 Tips to Grow as a Developer

7 Tips to Grow as a Developer

Christopher Okhravi

10 months ago

Computers Education
Depend on Abstractions not Concretions (Framework)

Depend on Abstractions not Concretions (Framework)

Christopher Okhravi

10 months ago

Computers Education
3 Reasons WHY Waterfall Doesn't Work

3 Reasons WHY Waterfall Doesn't Work

Christopher Okhravi

10 months ago

Computers Education
They Knew Waterfall Didn't Work

They Knew Waterfall Didn't Work

Christopher Okhravi

10 months ago

Computers Education
Always Use Interfaces

Always Use Interfaces

Christopher Okhravi

10 months ago

Computers Education
Covariance and Contravariance

Covariance and Contravariance

Christopher Okhravi

10 months ago

Computers Education
3 Ideas on Refactoring by Martin Fowler

3 Ideas on Refactoring by Martin Fowler

Christopher Okhravi

10 months ago

Computers Education
The Square-Rectangle Problem

The Square-Rectangle Problem

Christopher Okhravi

10 months ago

Computers Education
The Only Time You Should Use Polymorphism

The Only Time You Should Use Polymorphism

Christopher Okhravi

10 months ago

Computers Education
Object Oriented Programming – Lecture 2 – Paradigms, Types, Compilation, Purity, Programs

Object Oriented Programming – Lecture 2 – Paradigms, Types, Compilation, Purity, Programs

Christopher Okhravi

10 months ago

Computers Education
Object Oriented Programming – Lecture 1 – Overview of contents

Object Oriented Programming – Lecture 1 – Overview of contents

Christopher Okhravi

10 months ago

Computers Education
My Vim Setup #2 (Mappings / Custom shortcuts)

My Vim Setup #2 (Mappings / Custom shortcuts)

Christopher Okhravi

10 months ago

Computers Education
My Vim Setup #1 (Job Control)

My Vim Setup #1 (Job Control)

Christopher Okhravi

10 months ago

Computers Education
Reactive Programming from Scratch (JavaScript) - Ep3

Reactive Programming from Scratch (JavaScript) - Ep3

Christopher Okhravi

10 months ago

Computers Education
Reactive Programming from Scratch (JavaScript) - Ep2

Reactive Programming from Scratch (JavaScript) - Ep2

Christopher Okhravi

10 months ago

Computers Education
Reactive Programming from Scratch (JavaScript) - Ep1

Reactive Programming from Scratch (JavaScript) - Ep1

Christopher Okhravi

10 months ago

Computers Education
(Ep2) Mandala Maker in JavaScript (functional style)

(Ep2) Mandala Maker in JavaScript (functional style)

Christopher Okhravi

10 months ago

Computers Education
(Ep1) Mandala Maker in JavaScript (functional style)

(Ep1) Mandala Maker in JavaScript (functional style)

Christopher Okhravi

10 months ago

Computers Education
Ramda JS Tutorial – Part 40 (filter)

Ramda JS Tutorial – Part 40 (filter)

Christopher Okhravi

10 months ago

Computers Education
Todo App in Vue.js – The Hard Way (Ep18)

Todo App in Vue.js – The Hard Way (Ep18)

Christopher Okhravi

10 months ago

Computers Education
Todo App in Vue.js – The Hard Way (Ep17)

Todo App in Vue.js – The Hard Way (Ep17)

Christopher Okhravi

10 months ago

Computers Education
Vue.js – The Hard Way (Ep16)

Vue.js – The Hard Way (Ep16)

Christopher Okhravi

10 months ago

Computers Education
Vue.js – The Hard Way (Ep15)

Vue.js – The Hard Way (Ep15)

Christopher Okhravi

10 months ago

Computers Education
Vue.js – The Hard Way (Ep14)

Vue.js – The Hard Way (Ep14)

Christopher Okhravi

10 months ago

Computers Education
Working Software Is Not The Primary Measure of Progress

Working Software Is Not The Primary Measure of Progress

Christopher Okhravi

1 year ago

Computers Education
Rules Have Reasons (Always Ask Why)

Rules Have Reasons (Always Ask Why)

Christopher Okhravi

1 year ago

Computers Education
When Microsoft Violated Liskov Substitution Principle in .NET

When Microsoft Violated Liskov Substitution Principle in .NET

Christopher Okhravi

2 years ago

Computers Education
Liskov Substitution Principle

Liskov Substitution Principle

Christopher Okhravi

2 years ago

Computers Education
8 Wastes of Lean (for Software Developers)

8 Wastes of Lean (for Software Developers)

Christopher Okhravi

2 years ago

Computers Education