• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

How to become Best Java Programmer

 
Ranch Hand
Posts: 38
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi I am finding it dificult while coding.
I am not able to write programs on fly.
can you give ideas how to improve my programming skills on Java and web techs
 
Ranch Hand
Posts: 177
  • Likes 1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Prepare for SCJP and try to score High, then go for SCWCD. It will improve the speed.
 
Rancher
Posts: 43081
77
  • Likes 2
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
SCJP and SCWCD focus largely on theoretical knowledge. To become a better developer, one needs to a) read a lot of code, b) write a lot of code, c) read up on software development best practices in general, including algorithms and data structures. Other factors may help, but without these steps it's hard to make progress.
 
Rajeev Ja
Ranch Hand
Posts: 38
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
thanks for replies
while reading code i read until i understand when i dont i give
up.i do not from where to start all have become half.
Java 1/2,jsp 1/2,servlets 1/2,struts 1/2 i have taken SCJP 1.5 till march
time is there
what to do!
[ May 29, 2007: Message edited by: Rajeev Ja ]
 
Ranch Hand
Posts: 36
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Even if the certifications are theory based, still it is a good idea to go for them , as slowly you will start applying what you have learned. And that will definitely improve your coding skills. so , go for higher certifications like scwcd, scbcd, uml certification etc. that will definitely help you to improve your bandwidth. Also I feel, that is the best way to start. Writing a lot of code helps a lot , but if done with out a proper goal, can result in losing the enthusiasm, after 2-3 days.
 
Ranch Hand
Posts: 1953
  • Likes 1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
My way to learn a new language real fast, just for your reference:

1) Find/download a working program.
2) Make sure you know what it does! Pay less attention to how it does.
3) Think what you want to make it work differently, e.g. improvements, change of look and feel, do different things, etc.
4) Start with a very minor change first, to see the result!
5) Learn whatever needed! Change the code to make it happen.
6) If you break it, believe me, it is very possible, try very hard to fix it.
7) If you cannot fix it, start over from the original code.
8) Keep every step of success code, you can restart from last step too.

It works for me very nicely. I still can code in many different languages. I learned VB in 7 hours, and finished my boss' assignment during that time. The task was fixing and improving an existing VB application, which just fit into my learning picture very well. The existing VB application was my first VB teacher from scratch! I was a C++ programmer then.

My way is not necessary the best way for you. Be creative, make your learning process fun and interesting!!!
[ May 30, 2007: Message edited by: Roseanne Zhang ]
 
Ranch Hand
Posts: 69
  • Likes 1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
The above poster is correct I think. Find smaller working programs, figure out how they work and why. Change them, fix them, debug them. And do it all over again.

Certifications are nice, but most of it is theory and "Hello World" type of applications. You might become very good at explaining things but I think in the long run if you want to become good, you need to learn how things work, why they work and then change the code to do something else.

I know I've learned a lot more by reading and playing around with code from applications that actually did something meaningful over a few "Hello World" examples you learn through many of the certification routes.

Don't get me wrong Certification is a good thing and if you want to do it, go for it, but I've met far too many "Certified Experts" who were very bright and could explain various theories but they also couldn't program an actual application that was needed. Most certifications, lime most theoretical business classes, are best case scenarios where everything is well defined and perfect. Yet most people realize in the real world, the IT staff might be overworked and under staffed and budgets say one thing while theory says something entirely different.

Learn how programs were coded. Learn why or try to figure out why they were programmed a certain way and learn from actual applications that do something important. You will learn a lot more from an application that has to grab data from an actual database with thousands of records more so than if you read some book where you grab data from a simple DB you created with columns and tables like "Employee, Name, Account_Number" and so on.
 
Ranch Hand
Posts: 3389
Mac MySQL Database Tomcat Server
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
adding to what all others have said before, pay a bit more attention to "how the system/language work internally" - this is what gonna give you a clear picture.

Lets say, in case of "Strings in Java" - not just knowing Java Strings are immutable, rather a bit in depth knowledge on String Literal Pooland how JVM internally deals with String Literals Vs String Constants - would help you get a very clear picture and make use of them while coding!

I feel this way may not be applicable if you want to become a good programmer in a shortwhile, but for a long run, it will and it should definitely. It certainly depends on the environment and requirement as well.

Good luck.
[ May 31, 2007: Message edited by: Raghavan Muthu ]
 
pie sneak
Posts: 4727
Mac VI Editor Ruby
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Rajeev Ja:
I am not able to write programs on fly.


Buy a laptop. It is much easier that way! (fly is another term for the zipper on your pants)

My #1 recommendation is to do what you can to surround yourself with experts. Try to get on projects where you collaborate with experts. Participate in user groups. Spend a lot of time on the Ranch.

Another great trick is to find someone you respect and ask what books they would recommend. Read those books and when you see the person, ask them questions you have about the material. If the expert liked a book enough to recommend it, they will more than likely also enjoy discussing the books with you as well.
 
Author
Posts: 3473
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
-- Take part in a small-to-medium size Java/J2EE project end to end.

-- Have good mentors.

-- Learn the Core Concepts & Key Areas relating to Java/J2EE.
-- Java language fundamentals
-- J2EE Specification Fundamentals
-- Issues relating to Transaction, Memory, Performance etc
-- Scalability, Exception handling, best practices etc

Free download


-- Read good books and articles.
 
Rajeev Ja
Ranch Hand
Posts: 38
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Thanks for Ranch members.
many people many ideas which one to choose!
 
arulk pillai
Author
Posts: 3473
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Probably combination of all those ideas. You need to see what works best for you. For example, for me I need to know the high level concepts before digging into hands on details. Other like to get the hands dirty first by diving into coding and so on ...... No matter which approch you take be passionate about what you do and enjoy every bit of it to become a top notch Java/J2EE developer.
 
Greenhorn
Posts: 1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
well.. I've reached this post thru google and immediately registered myself coz' I'm facing a similar problem as the owner of the post. I guess I'm good in understanding a prog. however big it is.. I mostly can say correctly as wht and how it works. But when it comes on to me to write a prog. on my own, i don't even know from where to start, how to get the ideas!
Most of the ppl here and few of whom I met personally told me to keep practicing. So, when I open a small program ( thru internet or books), I understand it and type the same seeing it. But how does that help me? Once I close the same, I almost forget what comes next( the line or code). Obviously I don't like byhearting it as-it-is to produce the same! Wht do i do? I'm feeling so bad in front of my friends and others when I can't give the ideas/get the ideas to code!
 
Greenhorn
Posts: 9
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
1. Passion
2. Object-Oriented Programming
3. Passion
 
Greenhorn
Posts: 27
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Valueing all the mentioned opinions I just want to add that there is analytical side to the programming as well. The above poster expressed his inability to come up with ideas while programming, its very common for initial years in your software career. Its very important get over your fear of programming and believe that there is a solution for every problem. The analytical side comes into play while understanding various nuances in the code, it is easy in this open environment to get a piece of code which does the work for you but more important point is to learn how that piece of code helped you. It is this difference between using something and learning something. If you take interest in learning, you will enjoy it and will have abundant ideas for a topic. For every new language there is some learning curve and it may be different for different people depending upon individual analytical abilities. Nevermind if you are taking more time than others but make sure you learn it the correct way. At the end of the day your aim should be to play around with language and enjoy while doing that.
 
arulk pillai
Author
Posts: 3473
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

But how does that help me? Once I close the same, I almost forget what comes next( the line or code). Obviously I don't like byhearting it as-it-is to produce the same! Wht do i do? I'm feeling so bad in front of my friends and others when I can't give the ideas/get the ideas to code!



The best way is to build a decent prototype project yourself. There are myriad of tutorials on the net. Build a decent project with Web, Database etc. I have some tutorials at http://www.lulu.com/java-success which can get you started.......
 
Ranch Hand
Posts: 36
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
View every thing that you come across in your day to day life in the form of OBJECTS. that will bent your mind to focus on programming.
 
Rajeev Ja
Ranch Hand
Posts: 38
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Almost nearing 2 years,thanks for all the replies but i feel personally is that java has become like copy paste language.
 
Saloon Keeper
Posts: 27763
196
Android Eclipse IDE Tomcat Server Redhat Java Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Normally, we'd chide you for waking a zombie thread, but if ever there was a good justification...

Unfortunately, you're all too correct. I've seen far too much copy-and-paste done by people who neither understood what they were doing, nor were granted the resources they needed to do the job intelligently.

The results have not been pretty. Employers don't want the "Best Java Programmer" (which is me, by the way ). They want a monkey. Someone who'll "Git 'R Dun!" as fast and as cheap as possible. The results can be seen in the news almost daily as another 130 million credit card numbers end up in evil hands and another big-name web application has a multi-hour outage.
 
Bartender
Posts: 6663
5
MyEclipse IDE Firefox Browser Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Unfortunately, you're all too correct. I've seen far too much copy-and-paste done by people who neither understood what they were doing, nor were granted the resources they needed to do the job intelligently.



Although I agree, what single out java ?

Employers don't want the "Best Java Programmer"



This depends on the context. Job roles that require application maintenance alone are usually well off with monkeys.
 
author
Posts: 23951
142
jQuery Eclipse IDE Firefox Browser VI Editor C++ Chrome Java Linux Windows
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Also... what has this got to do with the quest to become the best programmer? Just because companies prefer monkeys, doesn't mean that you have to be a monkey. Just because your colleagues do cut and paste doesn't mean that you should. There is nothing wrong with doing research on the web -- but using code you don't understand is not research.

Henry
 
Tim Holloway
Saloon Keeper
Posts: 27763
196
Android Eclipse IDE Tomcat Server Redhat Java Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Deepak Bala wrote:

Unfortunately, you're all too correct. I've seen far too much copy-and-paste done by people who neither understood what they were doing, nor were granted the resources they needed to do the job intelligently.



Although I agree, what single out java ?

Actually, I didn't. The problem has been around longer than the Java language itself


Employers don't want the "Best Java Programmer"



This depends on the context. Job roles that require application maintenance alone are usually well off with monkeys.



A common philosophy, but there have been some pretty strong arguments made against that. It's usually easier to understand your own code than someone else's, so it can be said - and has been said - that maintenance actually requires more skill than creation. Whether it's a superset or a completely different set of skills, I'll leave for another time, but once monkeys get ahold of code, it's unlikely that the code will ever be clean again.

And, unfortunately, the general attitude these days from those who do the hiring is that not only maintenance, but original code generation is a monkey job.

Because "All You Have To Do Is..."
 
Bartender
Posts: 3648
16
Android Mac OS X Firefox Browser Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hello there, my way of picking up new languages and first get acquainted with basic API/functions then try out those by changing "small" existing workable programs. Next building on it with a goal of achieving say X done.

The APIs can usually get from web resources or text books. Of course for Java, OO can be another route picking up how to do polymorphism, inheritence etc.

I still remember the first programming course I took in college... first copying a C Hello World program from the text book and then looping it to print out x times. I thought back then, how do I do that? Then you learn the for loop haha.
 
Ranch Hand
Posts: 597
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Because "All You Have To Do Is..."


Yes it is all you have to do is......

When I started my career, I used to try and write all the code myself. I may look into example or similar code to learn technique. But actual code, I used to write myself. This was because I knew if I write myself, I will understand and will never forget it. But as I spent some years in industry, I found people who do copy paste do it faster and Bosses are happy with them because they want it to be done and run quickly(All You Have To Do Is...... go to google and search this .... copy, paste and make it work and done!). I personally find easier to work in new development than maintenance projects.
 
Ranch Hand
Posts: 391
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
To the OP: Since its been 2 years, why not start thinking beyond the realms of programming.
Where would you like to see yourself, say , 15 years from now? A researcher,university prof,vice-president/director in a fortune 500....Why not start a single-minded pursuit towards that goal . If architect is the position you yearn to reach, then maybe expertise in Java would help.
 
Deepak Bala
Bartender
Posts: 6663
5
MyEclipse IDE Firefox Browser Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

A common philosophy, but there have been some pretty strong arguments made against that



I see the other side as well; that you have to understand some one else's code to maintain an app. A programmer maintaining an app is likely to do less damage. Anyway, the perspective differs from what you have experienced.

I was discussing this topic with a friend recently and we agreed that there are "Google programmers" and then there are "Programmers that work at Google"
 
Ranch Hand
Posts: 1374
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Tim Holloway wrote: Employers don't want the "Best Java Programmer" (which is me, by the way ). They want a monkey. Someone who'll "Git 'R Dun!" as fast and as cheap as possible. The results can be seen in the news almost daily as another 130 million credit card numbers end up in evil hands and another big-name web application has a multi-hour outage.



I agree with this. At the end they spend much more time and money. Do we need to be lucky to get good employer?
 
Tim Holloway
Saloon Keeper
Posts: 27763
196
Android Eclipse IDE Tomcat Server Redhat Java Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Deepak Bala wrote:

A programmer maintaining an app is likely to do less damage.


I wouldn't count on it. It's not how much of the code you meddle with, it's what the code you meddle with does.

Here's one of the more common examples. Most webapps I've seen have Do-It-Yourself security systems. Which is something I don't recommend in any event. I've got a list of 10 reasons what that's the very last solution to webapp security you should consider. Item #7 has to do with maintenance. When the security manager is an undocumented one-off approach, a naive maintenance programmer is extremely likely to either not add the extra code (likely not even know it has to be added there) or do it wrong. Presto! You've just compromised application security. Another 50 million credit card numbers, medical records, email addresses or other sensitive data have just had a hole punched between them and the Bad Guys.

I deal often with maintenance programmers, and the attitude I've seen is that their managers typically tell them "You a bright person, you'll be able to figure it out. Come back to me when it's Done. You've got 3 whole days."

 
Ranch Hand
Posts: 392
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Do best java programing
 
Greenhorn
Posts: 2
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
i have found this page very help full i even signed as a member...i have get started and see where programming takes me.
 
author & internet detective
Posts: 41860
908
Eclipse IDE VI Editor Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Great! Welcome to CodeRanch!
 
kwanda ngcobo
Greenhorn
Posts: 2
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Thanks
 
Ranch Hand
Posts: 2187
  • Likes 1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
If English is not your native lanuguage and if you have trouble understanding programming books and other learning materials written in English, then studying English will certainly help you become a better Java programmer. If you strongly increase your understanding of what authors say and learn how to "deeply" read technical subject matter, this will help in many ways. Moreover, your communication skills will get stronger as well as your writing skills.

Good luck!
 
reply
    Bookmark Topic Watch Topic
  • New Topic