I generally approach difficult problems by breaking them into smaller, manageable pieces.
Understand the actual problem and identify what is expected.
Identify the prerequisites and concepts I need to understand.
Explore possible approaches and their trade‑offs.
Implement the simplest reasonable solution.
Test edge cases and identify weaknesses.
Optimize once the basic solution works.
I particularly enjoy problems where multiple technologies need to work together.
I also believe that getting stuck is part of engineering.
I treat getting stuck as a diagnostic opportunity rather than immediately searching for a ready‑made solution.

