3 ms·
I want to give some concrete, actionable advice, because when I hit a similar roadblock, I didn't know where to go for advice, and ended up not getting anywhere
by T-R 15y ago
I want to give some concrete, actionable advice, because when I hit a similar roadblock, I didn't know where to go for advice, and ended up not getting anywhere for a good while. What finally got me where I wanted to be was learning Design Patterns, but there are other ways to get there, too.
When I started out, I mostly focused on the UI, and then hacked together whatever was behind it. Because my focus was on non-portable code, I spent inordinate amounts of time digging through library documentation, so progress felt really slow.
Design Patterns solidified my understanding of OOP, but more importantly, it helped me focus on the parts of my programs that were device/OS/Framework independent. This was helpful because it meant digging through documentation was the last step, instead of the first. My code was more readable and more testable, so I had an easier time planning, making changes, and finding bugs, which meant I was more productive.
You'd get similar mileage out of learning Test Driven Development or Functional Programming - they all emphasize similar concepts that will boost both your understanding and your productivity. Aside from that, they're all very practical (more so than algorithms), and more or less language agnostic, so if you're programming, they'll help you no matter where you go from here.