2 ms·
Ask HN: How do I level up my programming skills?
I am a backend engineer with almost 3 years experience. I work in Java. I feel that I am not growing as a developer.
What are things I can do which will level up my skills? I also feel need of brushing up my knowledge about networking, compilers and OS; please share some good resources about them, if you know those.
TIA
- herbst 11y agoIf your stuck just to different things. Learn a new language or start project out of your scope. There is always something new to learn in IT, but it really comes down to your interests.
- smt88 11y agoIf you're a web programmer, you probably don't need to learn much more about networking, compilers, or OS. For better or worse, those parts of our apps are almost entirely abstracted away. When "serverless" infrastructure matures, the transition will be complete. If you're going to work on infrastructure/systems projects, then sure, dive into those things. My suggestion is to contribute to some open-source Java projects, perhaps with a charitable angle. If you come up with an idea of your own, write it in a new language or using an unfamiliar technology.
- sedeki 11y agoAnecdote: I emailed Richard Stallman the exact same thing. He basically told me to learn Lisp. Without stepping on anyone's toes, I think you should learn to program against the CPU, not stay in a sandbox of sorts. Regarding the topics you mentioned, there are a few classic books that cover exactly that and they've gotten good/fantastic reviews on Amazon. I'm talking about the Dragon Book, Tennenbaum's books on OS development and Richard W Stevens on TCP/IP. (Maybe you are asking for another layer of abstraction -- in that case, ignore.)
- stray 11y agoOperating Systems (3rd Edition), Deitel -- is an excellent way to fill in gaps in your understanding of the OS. Don't buy it new -- used copies can be found on amazon for less than $20. Learn a radically different programming language: Common Lisp. Seibel's Practical Common Lisp is a very good introduction -- Keene's Object-Oriented Programming in Common Lisp will give you a wildly different way of looking at OO -- The Art of the Metaobject Protocol will forever change any preconceived notions you might have regarding objects.