I read your books, most of them are nice. But, they usually don't have a
"where to go from here section ".
It could probably be written like this (Its wordy because it also describes my plight) -
I read a couple of
java books most of which are great, but I feel that they could do more for the readers. Thats when I decided to add this section to my book -
Ok ! So, you did hello world and all the little projects in this book. But, you are probably not satisfied. You probably want some problems that will make you really understand nice concepts like multi-threading.
Maybe you're even clueless as to what to do with this newly gained java <or title of book> knowledge.
We're guessing that you went to a dozen forums - coderanch, stack overflow etc and got some nice tips on what you can think of doing next and how to go about it. But, some of them are probably piecemeal answers
and you are still not clear. Not to mention, you probably took months of questioning and also researching to find out what to do with your java knowledge and how to sharpen it. Maybe you can't even get enough new
info or insights out of your developer/manager buddies to guide you. If only you could get some guidance which would help you use and improve your skills.
We know that you want some "beginner level" problems to solve. Perhaps something greater than the code we gave you in our book but much less than the problems at code competitions. Step by step, right ?
DO NOT WORRY ! We feel you...we've been there too
Here is a couple of things you can try (i made it up) -
1 - Make an XML parser in java. Obviously, you need to learn xml first. Try this <book>. Read the first 20% pages only and you will be able to do the java code. Read the rest later.
2 - Try implementing some of the "common" algorithms and data structures yourself, if you have not learned about them already. Then, compare those with the best solutions to see how you can improve yourself.
Yeah ! People tell you to use Collections framework instead of doing what i said ! Ignore those guys. Its good to know DS and Algo. Once you understand them, you can begin using collections framework.
3 - Hey ! SQL is necessary too. Try making a making a
JDBC program ! Read this <book> to get an idea about SQL basics and queries quickly. Forget the internals, tuning, normalization, DB design and such stuff for now (hint - ignore
books by authors like elmasri for now). You can learn that later. Right now, get your basic Java right. Read xyz chapters from the book and do some java-DB coding.
4 - Ok, you probably learned a lot by now. But, thats still not enough. Get a job/internship. If you still feel you need to learn more before getting a job, try contributing to an open source project or making your own.
The only disadvantage of doing your own thing at this state is that you might not be able to run your ideas past others ie peer review which is a must to improve yourself.
And...this was just the second step in java (the first one was my book). You need to look up some other things -
1 - Learn an
IDE like Eclipse (vogella has some nice tutorials on Eclipse). Learn a bit about
Ant and Maven too.
2 - You have to learn GIT and SVN too. You won't be working alone in your momma's basement. Go to Google and find out what GIT and SVN means.
3 - You made the code, but where is the guarantee that it will work correctly ? Learn something about
testing strategies or test driven development. Learn about Debugging too.
4 - blah, blah.
Phew ! that was long...but I hope it was useful for you. Don't take my words as gospel. Just my 2 cents.
Good luck and happy coding.
- Author