There's been a buzz in my local tech community about being an 'Efficient Java Programmer' can someone explain to me what is an Efficient Java Programmer? what is their difference between average java programmers? how can you be an Efficient Java Programmer? (I am still in college, I want to get acustomed to doing the proper practices when it comes to programming) and how can you tell someone is an efficient java programmer?
closed as not a real question by gnat, yannis, Martijn Verburg, maple_shaft♦, ChrisF♦ Jan 27 '12 at 13:23
It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center. If this question can be reworded to fit the rules in the help center, please edit the question.
Efficient could mean anything... my guess is:
- Know and use the libraries (instead of reinventing the wheel)
- Use an IDE (Eclipse, NetBeans, whatever fits you)
- Use version control (okay, not so Java specific)
- Know advanced features (concurrency, generics)
- and many more...
For me an efficient Java Programer has the following attributes.
- Computers in general: e.g. Understand a proxy to set up an application that needs access to several different networks thru for example VPN.
- Exotic but simple tricks like in memory caching.
- Different frameworks, Java is nothing without it's vast framework and external APIs. For example reason the choice of a controller (Play, Spring MVC or Struts). Few things is wore than fossil developers that choose historic frameworks because they have years of experience with it.
- People skills, know how to work in a team and sometimes resign to inferior solutions for the team to be happy. The mindset that the job should be fun and not work.
- Write code that is easy for the team and new members to understand.
- Have basic sense of economics. For example don't write complicated code to optimize performance when you could fix that for 1000$ in hardware instead. Lets say you cost 100$ an hour and you spend 2weeks making shit spaghetti code that is optimized and cant be adapted to CRs that will come.
- Don't be afraid of management and project leaders. You are the expert not them. Get involved in management questions. For example say and repeat that you need 3 month development freeze each year to focus only on refactoring. Many developers are conflict afraid chickens, they know what's the best but are afraid to motivate it.