Hacker News new | past | comments | ask | show | jobs | submit login

Programming definitely is a craft, but coding exercises are not the basis of it. The basis is the theory in the big comp sci books you are wary of.

I recommend Introduction to Algorithms [1]. Books like that can be really dry and hard to read, and they usually are, but they contain fundamental knowledge about computation that is the only way to solve some hard problems (and there are many hard problems that remain open). Leetcode problems, if they're any good, will simply be exercises based on the concepts in such books. But you won't understand the concepts just by solving the exercises.

My experience is that I spent seven or eight years coding in Prolog (that's how I roll, OK? Don't judge!) and while I had become skilled at it, I didn't really understand how it worked until I started my PhD at which point I really had to sit my bum down and read a whole load of stuff I didn't even know existed.

You'll probably say "what do I care? I'm not in academia". Yes, but you think of programming as a craft, right? And a crafts-person is happy to constantly improve his or her craft. Well, a PhD is one way to do that, sticking with industry for many years, if you can find the right positions, is another. But one way or another you'll eventually find yourself at a point where just solving coding exercises doesn't give you anything new. That's when you turn to the books. If you don't, then you should be concerned: it means you're not really advancing, not getting better in your craft.

I'd have a lot more to say about programming as a craft. Instead, let me point to Peter Norvig's timeless essay:

Teach Yourself Programming in Ten Years

https://www.norvig.com/21-days.html

And to this book by George F. Luger who introduced me to the concept of the "Master programmer":

AI Algorithms, Data Structures, and Idioms in Prolog, Lisp, and Java

https://www.cs.fsu.edu/~cap5605/Luger_Supplementary_Text.pdf

I'm also linking those for anyone else interested in that kind of thing. Happy reading.

___________

[1] It's online here:

https://edutechlearners.com/download/Introduction_to_algorit...

No idea if that's a legit download or not.




Consider applying for YC's Summer 2025 batch! Applications are open till May 13

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: