3 ms·
AoC is amazing, but I don't think it's a good fit for what the OP needs. The solutions tend to be algorithmically hard, but for the most part quite short, and d
by tincholio 5y ago
AoC is amazing, but I don't think it's a good fit for what the OP needs. The solutions tend to be algorithmically hard, but for the most part quite short, and don't really require SW Engineering chops (as opposed to "programming" chops).
Working on a real, larger-scale code base, in a context where good SWEng practices are required is probably a better learning path. An internship, as suggested by Jakobeha above is probably the best way.
If an internship is not feasible, and existing projects seem too daunting, it might be easier to start one (or rather several) of your own. As with most things, practicing helps.
- testtesting123 5y agoYea, I have learned some important practices while programming projects but I feel as though my coding is rather messy. It's not as though I haven't programmed at all since I build out and maintain expriments for research. It's just that I feel that I am just programming to get things done and have no clear structure to my code.
- tincholio 5y agoI spent some 16 years in academia, so I understand your context... It's very easy to fall in the "quick hack" trap, and end up with a terrible mess. On the other hand, much of the code you do while doing research is truly throw-away stuff. What I found helped me (especially when coming back to my code later on), was to use literate programming (in org-mode) to record my thought process along with the (often polyglot) code.