How to go from good software engineer to God of the Code?
February 13, 2013 10:32 PM Subscribe
(Java-flavored question) I have work colleagues who can explain how and when the JVM inlines code, or when implicit constructors are made / called based on the access level of global variables. They can think through code like the compiler thinks. How do I get to that level?
posted by blahtsk to Computers & Internet (16 answers total) 22 users marked this as a favorite
I consider myself a good developer. I read Stack Overflow, java blogs, and I have a virtual shelf of pro java books. I have well-honed design instincts, and am comfortable with a wide range of java libs. I've been developing software professionally for 10+ years.
However, I never seem to get to that highest echelon of coding nirvana that some of my peers do, where I can really talk about the lowest underpinnings of [Java in this example]. I think the problem is that I can do my job really well without having to know that level of detail, so what can I do to integrate those details into my nightly readings or daily work?
Where are these resources that explain what the JVM is doing under the hood? What else should I be doing to raise my designing and coding game to the next level? E.g. when I turn to a well-reviewed pro java book, all I get is an in-depth explanation of language constructs and libraries. There's never a section called, "From source code to byte code to JVM runtime - the nitty gritty of runtime execution."
I feel like I'm on the cusp; I'm ready to move to that next level. If I have to I'll just read every single Java-tagged post on Stack Overflow, or keep looking through books. I can if see maybe there are some Java architecture online courses available, or do a google search for "inside jvm," etc.
My point is - I'm motivated to learn, and I think I have a foundation to build upon. I ask you, my dear hive mind, in case you have some resources or insights that will lessen the learning curve or otherwise help me develop the habits to learn, process, think, and code at a more holistic level.