Every OOP developer's journey: First you discover inheritance and polymorphism and suddenly you're an architectural genius, creating elegant hierarchies where a ChessPiece extends MovableGameEntity which implements IPositionable. You're writing beautiful recursive algorithms, feeling like a wizard.
Then reality hits. You've abstracted so hard that your chess pieces are now just pure data with zero behavior, floating in a sea of interfaces seven layers deep. Your bishop doesn't know how to move anymore—some MovementStrategyFactory three folders away does. You need a PhD and a map to figure out where the actual logic lives.
The duality of OOP: powerful enough to model the entire universe, confusing enough to make you question if your knight should even exist as an object or just be a JSON blob processed by a ThingDoer class.
AI
AWS
Agile
Algorithms
Android
Apple
Bash
C++