3 ms·
Do it like any other sport: go back to basics and play in a restricted style. Go through Knuth AOCP. You don't have to work every problem(nobody really does) b
by jungler 8y ago
Do it like any other sport: go back to basics and play in a restricted style.
Go through Knuth AOCP. You don't have to work every problem(nobody really does) but the book is there to point you towards fundamental computing concepts.
Strip down your language in the process. If you're used to something bulky like C++, try hopping over to Go or Lua and see how you like those.
Finally, throw out any abstraction and try coding in a primitive way for a while: use basic loops, arrays, and rarely a function call. Hold off even on defining structures with fields. Doing this will get you in the appropriate mindset for solving real problems, because it leaves no room for burying the design underneath the abstraction - you just apply one algorithm after another and rely on good commenting to know what it does.
Aim to read more code from real projects, open-source ones that people are using. Good code that is in production mostly contains necessary complications. It often doesn't do things in a fancy, code-challenge style or a style that takes a performance optimization because it is aiming only towards surfacing the feature as quickly and reliably as possible. That is a good goal to aim for with any real project.