After working as a mobile developer and iOS developer for more than two years, I started seeing the same kind of problems appear again and again. Many of them came from code that worked at the time it was written, but was not structured well enough to grow without causing pain later.
I made those mistakes myself. My coworkers made them too. Sometimes the problems came from older code written by people before us. Whether we realize it or not.
Code with weak structure eventually creates friction. Small changes become harder than they should be. Responsibilities become unclear. And over time, working with the code starts to feel heavier. That experience pushed me to think more seriously about how to avoid falling into the same problems again. It also made me question my own skill in writing code. I started realizing that I had learned how to make things work, but I had not yet learned broadly, deeply, or systematically enough how to think like a software developer when it comes to structure and design.
That realization became the start of a personal learning journey. The concept that i use is LUR: Learn, Unlearn, Re-Learn. It is a mindset I was introduced to during my time at Apple Developer Academy back then. For me, it means going back to important topics, questioning what I think I already understand, and rebuilding that understanding in a better way.
The first output of this learning journey is an article series called "What I’m Learning About Writing Better Structured Code". At least until now, the draft of this is 3 article which is:
- Seeing the problem: An Introduction to Separation of Concern. PUBLISHED at https://dev.to/cakoko/seeing-the-problem-an-introduction-to-separation-of-concerns-4l1
- Judging the Problem: Code Smells and Refactoring
- Guide to Solve the Problem: Introduction to SOLID Principles
I will be publishing the articles here on dev.to as I finish them. If this journey sounds interesting to you, feel free to follow me and stay tuned for the next parts.
Top comments (0)