Hacker News new | ask | show | jobs
by brianpan 525 days ago
One of the differences between "general programming" and the kinds of coding that you have done is the /approach/. I'm not sure if that's even the right word, but there's a different set of concerns that are important.

My guess is that you can easily learn the syntax and that you have the logical and analytical skills, but the part you have to learn is how to THINK about programming and how to DESIGN a program. If you have or haven't taking coding classes, I think reviewing topics like data structures, algorithms, encapsulation/object oriented programming, functional programming, etc. is the way to learn how to think about general programming. I don't think the language matters, but there might be resources about these topics in the language you're interested in.

An example of what you DON'T want is something like Effective Go (not just because it's out-of-date now): https://go.dev/doc/effective_go. This page can give you a really good base of information about what Go is, but I think you'll get much more bang for your buck with a resource that is more about the WHYs of programming rather than the WHATs.

1 comments

This was honestly extremely helpful. I very much appreciate the advice. I think you’re probably correct in that my intuition and prior knowledge is not being particularly helpful with shifting my paradigmatic perspectives, and while I may not need the novice lessons to learn the vocabulary or practical concepts, I probably do need a better formal introduction to theory. I am largely self-taught, aside from 2-years in an electronics engineering program that included embedded programming, and lessons in logic and Boolean algebra, My bachelor’s was in media studies and film production. In my experience, practical knowledge can be obtained through hands-on exercise and observing others—but theory and philosophy usually requires a teacher (or maybe months of meditation in a cabin in the woods, but as much as I admire Henry David Thoreau as an author, he wasn’t a great software engineer), and it sounds like that’s what I am missing here. Community college classes it is.

Thanks again!