I'm a relatively new programmer and I learned basic Java. I had been solving some of the questions from the exercise at the back of the book and lately started using ProjectEuler. Anyway, I would like to know how to proceed further to become a good Java developer. I'm not working in a Java company and I've no friends who are Java developers. I have no idea what happens when a fresher joins as a Java developer and what kind of project he does. My problem is I feel I'm stuck at the same place. I want to make applications that are useful and help me in growing as a programmer.
I shall be grateful if you could advice me, provide me some good links or whichever way is good for a new programmer like me.
Although you are probably going to get bored in particular sections of either of these, stick with it if you plan to become a professional Java developer. Heck, I still use these resources as reference from time to time.
Thanks Scott, I really appreciate your help. Actually I've gone through most of the topics from the java tutorials except the specialized trail lessons. I've made small codes to help me understand concepts but I want to code something that can actually include all of the concepts and build something like an app. After reading some of the topics from javaranch, I'm planning on making a calculator. Will that be a good start or any suggestion you might wanna give? Again, thanks for your help
Aki Mohan wrote:Thanks Scott, I really appreciate your help. Actually I've gone through most of the topics from the java tutorials except the specialized trail lessons. I've made small codes to help me understand concepts but I want to code something that can actually include all of the concepts and build something like an app. After reading some of the topics from javaranch, I'm planning on making a calculator. Will that be a good start or any suggestion you might wanna give? Again, thanks for your help
Regarding something that includes all of the concepts, yes, I think a calculator is a good one. Also some basic game like "Hangman" may be good. You could try building a text editor. That's always a good one.
Aki Mohan wrote:After reading some of the topics from javaranch, I'm planning on making a calculator. Will that be a good start or any suggestion you might wanna give?
Sounds fine to me - especially if it's something that interests you. Project Euler is great, because it gets you thinking; but it's rather Math-centric, so it doesn't deal with the sort of problems that crop up a lot in real life, like:
"How do I deal with this million-line log file?"
The first question an expert might ask is: Why am I dealing with a million-line log file? But on a day-to-day basis these problems do crop up, and you may not have time to refactor the system.
Another link for you. Hopefully, it doesn't discourage you, because programming is BIG. There's an awful lot to know, and you'll have many days of frustration ahead. But if you like it, they'll just be part of the learning process.
The only other piece of advice I can give you at the moment is: Whatever you're doing, thinkbefore you code. You might find the StopCoding (←click→) and WhatNotHow pages worth a read too.
"Leadership is nature's way of removing morons from the productive flow" - Dogbert
Articles by Winston can be found here
If you are looking for something to practice, nothing should stop you from simply cloning an application that you already know and love. Pick any application/website that you like and matches what you want to do when you get a job. You like gmail? Implement your own gmail. You like Amazon? Implement a shopping cart. You like javaranch? Implement your own forum. You don't have to do the whole thing, just some pieces of it. I promise you that one day you will look at it and think how shitty the design was...and you will laugh and laugh..
My first ever "big" program was a clone of a Mario game. THis was way back in 1987. I had got a ZX spectrum that ran only Basic. The whole "shell" was a Basic prompt, and you had give commands to it in BASIC. My brother and I set out to clone Mario. He wasn't good in programming. I was. He was good in drawing. At the time, the way you programmed sprites was to manually type in a 2 dimensional array with each element containing the RGB code for a pixel. SO, if you needed an 8x8 sprite, you had to create an array of 8x8. So, he would draw a sprite on graph paper with crayon, and I would painstakingly convert each cell on the graph paper to an RGB code. I told him to use crayon because I wanted only fixed set of colors. I didn't want him to blend colors. 4 colors. 4 RGB codes. We spent months on it, and we got a grand total of ... 1 screen. But the screen worked. It didn't side scroll, but Mario looked like he walked and jump, and even jump on the turtles. I couldn't make the turtles move.. because dumbass (that's me) was stuck on having a seperate loop for every sprite. The idea of a game loop never occurred to me
The reason I'm saying this is when you try to clone something you already love, it's natural for your love of that thing to transfer over to programming. You are not only teaching yourself how to program. You are subconciously creating connections in your head that associate good things with programming. If you are picking a sample program to code, pick something you love and is at your level. DOn't pick something you are going to get bored with