Early in my programming journey, I had a manager once who told me that the whole process was like drinking from a firehose. That’s stuck with me all of these years. It turns out that increasing your skill as a programmer means learning absolutely everything in the entire world (well, it feels like it sometimes). Just off the top of my head, you have to learn:
- the core features of your chosen language
- all the standard programming fundamentals (variables, loops, classes, control flow, input/output, etc.)
- Object-oriented design
- Writing tests, if not full-fledged test-driven development
- System design
- Building
- Continuous integration/deployment
- Version control
- Data structures
- Algorithms (sorts, searches, Big O notation, etc.)
- Libraries
- Frameworks
- So on, and so on, and so on.
Learn the above, all the time, forever. Not that I don’t love learning, but sometimes the sheer volume is overwhelming. Not to mention our total limited time on this God-green earth. You can only learn so much, do so much, be so much. You’re finite the moment you’re born. As you can imagine, for someone like me who wants to be and excel at so many things, this really blows.
[Read More]