2 ms·
I have an Applied Math & Computer Science degree, but was largely self-taught and working for computer manufacturers before doing the degree. When I am learnin
by prirun 3y ago
I have an Applied Math & Computer Science degree, but was largely self-taught and working for computer manufacturers before doing the degree.
When I am learning something new or working on something difficult, it's important to keep motivation high to avoid getting bummed out, frustated, and quitting, especially if this is self-directed and not required for a job. The way I do that is to start with a working program, no matter how small, and then extending it in very small increments. After each increment you should still have a working program. You might spend a lot of time thinking about how you want to implement a feature (the design phase), but also spend time thinking about how you can get to a larger goal with baby steps. A good analogy for this is if you are contributing changes to an open source project: the maintainer doesn't want to see a 10K-line pull request that they've never heard of before. It's much more likely to be accepted as a series of smaller changes with a larger goal.
By doing these small increments, its much easier to isolate problems, because you haven't introduced much new stuff at once, and always having a working program keeps your motivation high. If you don't have a working program because of some changes, it forces you to be disciplined and fix things before continuing to add more new stuff.