Skip to main content

How to become a proficient Java Programmer?

Post Link: https://www.facebook.com/groups/jugbd/posts/1486180244761989/

Jobaer Chowdhury wrote on this:

Here is my answer in brief. (I am posting it as a separate post instead of a comment.)

  • Solid understanding of the core programming language.
  • Good problem-solving or algorithm skills. You don’t need to be an ACM world finalist. But you should be able to convert any algorithm into code without much effort.
  • Basic understanding of OOP.
  • Familiarity with the commonly used data structures like sets, lists, trees etc.
  • Knows what design patterns are. Heard the names of many of the design patterns. Can explain one or two with some real-world examples.
  • Have read “The pragmatic programmers” and Effective java. Added plus if also read Clean code, Code-complete etc.
  • Understanding the importance of code readability.
  • Can express himself clearly in either Bangla or English. Ability to draw clear diagrams if that is needed to explain something.
  • Excellent listening skills. Listen carefully and with patience. Never interrupt someone, wait for him/her to finish, then speak.
  • Accepting mistakes. We are all human and we make mistakes no matter how smart I think I am.
  • No ego. Absolutely none at all.
  • Be Humble and polite.
  • Must be able to explain the technical terms written in the cv/resume. So if you are unsure of something, omit it from your resume.
  • Must be able to explain any of the projects mentioned in the resume. Most of the time we are happy if you can explain the parts you’ve worked on. But it’s an added plus if you can explain the whole thing from a high level. So if you have forgotten a project that you did some time ago, better not to mention it.
  • Have some basic knowledge about the java ecosystem/environment.
  • IDE familiarity. Better if know some commonly used shortcuts.
  • Basic knowledge of one build tool.
  • Some Linux familiarity
  • Good understanding of the web. Basic knowledge of HTML, CSS, and javascript.
  • Basic knowledge about the HTTP protocol.
  • Familiarity with at least one scripting language.
  • Understands that there are and always will be a lot of things to learn. So don’t stop learning.
  • Learning the basics of every framework that is released is counterproductive. Rather try to be good on one or two.
  • An overall positive attitude.
  • Last but not least, understanding that there is no magic skill set to get hired immediately. Hiring depends on a lot of things. So even if you are really very good you may be just unlucky and not get hired. Don’t be disappointed and keep pushing your limits.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.