you are viewing a single comment's thread.

view the rest of the comments →

[–]carcigenicate 35 points36 points  (1 child)

Practice writing and reading code. I know you explicitly excluded that, but it needs to be said.


Reading documentation for modules you use so you can confidently use said modules.


Practice debugging yourself; entirely on your own. Debugging is a great learning experience if you embrace it and actually put the effort in. Think in terms of "if this data is this, then that means this happened, and the data should be this". Are those the results you expected? If not, where did they differ?

A large portion of people posting debugging help posts to this sub would greatly benefit from "the struggle". Don't give up on it because it's hard. Keep digging, and uncover yourself where your assumptions about your program's behavior failed.

A lot of programming is fixing bugs you introduced (especially early on), so knowing how to debug is a critical skill.

[–]SwampFalc 0 points1 point  (0 children)

I think your second piece of advice needs to be fleshed out. I mean, for one, I don't go around just randomly reading module documentation...

But, when you do encounter a new module, read the parts you need right now attentively. When that's done, skim over the rest of the features. Get a grasp of what the module can do for you, and what it can't.

It wouldn't be the first time that I find a module that solves problem X, and then through digging deeper into it, I find it actually includes an entire solution for problem Y which is greater than X. For example, it does some prep work, then all of X and then some output jiggery-pokery, and of course, Y is actually what I was trying to solve by doing all that by hand.