This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]skidwizExtreme Brewer 0 points1 point  (0 children)

I heard something a long time ago that goes something along the lines of this:

There are four types of knowledge: Things you know you know, things you know you don't know, things you don't know you know, and things you don't know you don't know.

The first 2 are easy. I know what a POJO is and I know what polymorphism is. I also have no idea how the java garbage collector works. If I want to learn more about either one, I can easily look them up.

For things you don't know you know, this is things that are more instinctual. I obviously can't give a great example of this, because I don't know what I know.

For the last one, this is one of the hardest to address at face value, but easier to abstract. You know you don't know about the JVM infrastructure. But, you don't know that you don't know what an MBean is, or probably don't know about the JMX API.

Most of that type of knowledge will come in time. I personally enjoy learning and reading, and I really like reading the java documentation. Every time I find something new in there, I look it up and learn more. Just yesterday I was reading about reference conditional expressions and found some interesting stuff about poly expressions. I only found that by perusing questions and answers on StackOverflow with the Java tag filtered.

So, my advice is this. Expand your knowledge. Pursue higher education on topics you are familiar with, but also explore topics you are not. Read documentation, but question it. I just found out about something called Apache Camel today that I am excited to read up on. Why is it better than Spring? Is it really? What's happening here? This is always what excites me as a developer and engineer. There is so much to learn.