What Advanced Techniques Are Commonly Used In Java?
Manav Inder Singh
Full Stack Programmer .Net Core 8 | C# | VB.Net | Web API | Web/Windows Application | AI | ML | Python
A question somebody asked me yesterday. We can’t just chart out some advanced techniques for you to follow. It's not exactly specific skills or techniques, its experience - and that holds true regardless of the language.
Professionals don't write pleonasms, they don't assume order of evaluation unless they know the compiler well enough to have written it or have done enough experiments with it (parentheses are free), they don't use uninitialized pointers, they don't allocate the same variable over and over ... there are thousands of little differences. There's also no dividing line where at one point you're a junior programmer and ... zip ... now you're a senior programmer. Your job title may change that quickly, but you've been a sort of senior programmer for a while, working as a junior programmer, and you still have a few things once you're called a senior programmer. It's a very blurry line.
Off the top of my head not as techniques but thoughts of mine that that you can take into consideration while doing Java as you advance yourself in it:
- Thoroughly fluent in the language's syntax and idioms (able to "think in code" or at least translate ideas into code very quickly).
- Proper use of the collections framework.
- Understanding generics.
- Able to describe code in terms of: javac, interpreter, JIT compiler, and other relevant parts of the VM.
- Having read “Effective Java” by ‘Joshua Bloch’ and Core Java for the Impatient by Cay S. Horstmann.
If you're in this business for the money you’re in the wrong business! The salary progression is one of the flattest there is for any profession. The work only gets harder and more demanding, etc.
What keeps me coming back is only one thing I love to code!
The best way to describe it is the rest of my professional duties (running a company, managing people, marketing, HR, etc.) is a headache and coding is my escape.
With that said, there's no standard knowledge you should know in Java, because the requirements differ from job to job. You just need to know the basics well and enhance your knowledge in the area that you want to work in, which is why, I haven’t put any particular coding examples or anything else for you in this blog for you to follow.