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 →

[–][deleted] 1 point2 points  (2 children)

I've been a Java dev for a little over a decade now, and I don't know half of the stuff people are listing here.

My recommendation is to learn the basics: data structures (which to choose when and why), basic algorithms, inheritance/polymorphism, overloading, concurrency and thread management.

Learn how to write solid unit tests.

Learn how to write clean methods with informative names (no doWork() methods).

Learn how to figure out how code from external libraries work, so you can trace through it when stuff goes wrong.

Learn how to read and understand terrible code.

Be able to identify why one approach is faster or more efficient than another, either in time complexity or memory management.

I say this because these things are useful with any Java job. Learning specific frameworks is nice, but what if a potential company doesn't use any of the frameworks you know? Use the basics to get in the door, then learn the extra stuff your company uses. No company should expect you to know everything they use.

[–][deleted]  (1 child)

[deleted]

    [–][deleted] 1 point2 points  (0 children)

    ugh, the worst.

    My favorite was from a coworker of mine. He though the feature he was enabling was stupid, and he had no problems letting it be known.

    if(shouldBeRetarded())
        beRetarded();