Learning Java, what should i know for be a "Java programmer" and get a job (Besides the basics)?
[Serious Thread]
i mean, i'm learning, so i will be very grateful if you advice me.
>>57945510
That being an even halfway decent "programmer" requires knowing A LOT more than just the language itself. Good luck, but if you expect to just learn the language yourself through the basic tutorials and then run out and get a job, you're in for a rude awakening.
>>57945597 i mean that i already know the basics... but i want to still learning java deeply... what should i learn besides of basics to be a 'Java programmer' and get a job?, obviously i'll not find a job with the basic.
wear a suit
java is mostly used only in enterprise context and the only reason it is still used is because bureaucracy is slow to change.
>>57945652
First, you must have strong theoretical knowledge, at least in algorithmic, and understand basic data structures and asymptotic complexity. Take a look as well to Object Oriented Programming sub-subjects, like design patterns.
Then you might need to know the all java "ecosystem", with at least one of: maven, ant, gradle. Plus git, and a shitload of utilitary libraries : slf4j, log4j, Gson, Jackson, JUnit, Protocol Buffer, the apache stuff, ... You might as well find interesting to learn how to interact with a database : JDBC, Mongo, Elasticsearch, Reddis, ... And taking a look at the big data frameworks after having mastered the threads : Hadoop, Storm, Spark, Flink, Kafka, ... Don't forget either the web stack with the servlets, WildFly, Hibernate, ...
Finally, I think you must be comfortable with bash scripting.
>>57945510
spring javafx is what I currently work at (and it sucks).
>>57945510
Learn Java, OOP design patterns the Spring Framework to make web applications.
This will land you an entry programming job which you can make more than enough to live from.
Only use Java as a tool to master OOP thinking and practices. Just learning the langue is not very useful, as you would simply only learn to syntactically correct. At which point your programs will be escentially crude drawings.
Think about it as learning an entire language from a dictionary. Sure you know some words. maybe you know where to put them. However making a coherent or even worse, efficient, way of expressing yourself will be a whole 'nother game entirely.
Knowing languages wont get you the decent or any job(s); mastering OOP will. Java is just a tool in the great big hardware store of OOP. You must be able to switch tools at a whim so you MUST first master the fundamentals then worry about specializations.
>>57945510
Also depending on your state you may need at least a related (CS,physics,math,etc) bachelors degree unless you're god tier.