3 ms·
>It doesn't generally help with big systems design What do you think helps specifically with that?
by vymague 7y ago
>It doesn't generally help with big systems design
What do you think helps specifically with that?
- modernerd 7y agoRead a lot of code. Pick one of the most popular libraries in a language you like and commit to reading it, understanding how it was architected, and tweaking it. Talk to other people who build “big systems”, whatever you decide that definition means. Ask them lots of questions. (Not the “Emacs or Vim?” kind. Instead: “When you wrote x, where did you start? How did you arrive at the solution you found? What would you change if you started again today?”) Build systems, big and small, on your own and with others. If you're not sure what to build, I like “Exercises for Programmers” by Brian Hogan: https://pragprog.com/book/bhwb/exercises-for-programmers https://pragprog.com/book/bhwb/exercises-for-programmers The problems are still pretty trivial but a little larger in scope than most from https://exercism.io https://exercism.io. Beyond that, I try to find videos or tutorials of people solving real-world problems. For example: Go: https://gophercises.com/ https://gophercises.com/, https://gowebexamples.com/ https://gowebexamples.com/, https://www.usegolang.com/ https://www.usegolang.com/, https://lets-go.alexedwards.net/ https://lets-go.alexedwards.net/, https://testwithgo.com/ https://testwithgo.com/ C/C++: https://handmadehero.org/ https://handmadehero.org/ Haskell: https://typeclasses.com/ https://typeclasses.com/ Mixed: https://howistart.org/ https://howistart.org/ Pair programming and live coding videos on YouTube can be worthwhile too. “Hacking with Andrew and Brad” is an example for Go: https://www.youtube.com/watch?v=yG-UaBJXZ80 https://www.youtube.com/watch?v=yG-UaBJXZ80 “Pair Programming with Jon Skeet” is another example: https://www.youtube.com/watch?v=zvz2omT9fzk https://www.youtube.com/watch?v=zvz2omT9fzk You get to hear people talking through their thought process and learn how other people solve problems and structure solutions. The Twitch Science and Technology section is another place to find similar stuff: https://www.twitch.tv/directory/game/Programming https://www.twitch.tv/directory/game/Programming I like Tsoding for functional programming: https://www.twitch.tv/tsoding https://www.twitch.tv/tsoding And SerpentAI for Python/AI: https://www.twitch.tv/serpent_ai https://www.twitch.tv/serpent_ai Watching people code can be dull or exciting depending on your mindset. I try to dip into these channels occasionally and soak up ideas from them, then go away and make things. I don't generally learn much without writing code too, and look for technical books and courses with exercises and problems. We need more of this, though. I wish there was a programming puzzle site full of problem statements of the type, “build an application that does x”, where solutions are ranked by the community and sorted by language. It would be such a helpful resource.