Java Newbie Overall Tips
I need overall guidance about java career direction.
* Do I need to learn everything (I mean every solution ME,SE,EE and all their subsets)? Or is it better to concentrate on one solution and learn more in that specific field?
* Is it better to try to get everything out of books, tutorials and written stuff (The problem is that it's boring) or is it better to try coding with your own taste and learn during the work and gaining experience, e.g. assume that I have good little ideas and I enjoy more if I learn techniques during the process. One problem with this is that one would use his/her existing knowledge to solve the problem while there are much better solutions in the next chapter! (looks like re-inventing the wheel and trust me, I have been there. It's not enjoyable!)
* Any other helpful things will be appreciated.
I agree learning just from a book is boring,, if not impossible,,
How do you know if your doing right. or if the way your doing it is the conventional way..
As I am discovering myself,, Learning Java is one thing,, understanding and applying Java properly it is another thing entirley..
My own approach to learning Java was to find a learning resource that seemed to make sense, and just try and do it.
and learn from your mistakes.. (thats the crucial part)
there are plenty of people in this forum that will help you along when you get stuck with stuff. I think I have gained more understanding, and learned more about using Java from the help i have got in the forums, than from my study course.
Good luck with your studies. :D
Thank you Sonny, that's a good idea.
I understand now.
What about the first part? Should I learn all the solutions or should I stick with one and try to go deeper. What does the market acquire?
Concentrate on the core while you are learning. Become very familiar with the different Java Collections, what they do, how they do it, and in what situations each one is useful. Go through the Stanford CS106A course that Sonny suggested in another thread, and also do CS106B (even though it's C++). These are not programming language courses, but basic computer science courses. They will get you thinking like a software engineer.
After you feel really confident that you know List, Set, Map, Queue, Stack, Vector, etc., take a look at database programming. Go into this in some depth, but don't get too carried away. Same thing with the JavaEE stuff. You should be familiar with it, meaning you should at least install, configure and deploy a JavaEE stack, but don't get lost in it. A lot of it is sysadmin work, rather than developer work, and you don't want to get too distracted. Besides, each organization will have its own culture of habits and methodologies in that area.
It's a good idea to delve deeply into at least one complex API. But the point is not to specialize in that area, but rather to learn how to explore, study and master an API -- how to read docs, how to get questions answered, how to find and exploit sample code, etc. A lot of the job is this sort of research.
If you really want to be valuable on the job market, train yourself to be a scrupulous disciple of proper style. Be a fanatic about choosing good names for your classes, methods and variables. Write a toString method for every class. Write good javadoc for every class and every method before you write the code itself. Format your code properly and consistently, and be ready to adapt to your new organization's style guidelines. Make it a point of pride that your code is so clear, so neat, and so well-documented that anyone who looks at it can immediately understand what it does.
Thank you gary! These are the things, I'm gonna bookmark and come back for them once in a while.
Thank you guys I wish you more and more success in your lives.