Suggestion

Before I say anything I would like to thank all of you for building this website, it is a great help.
Anyways, my suggestion was:
I think we should have a new topic or forum thing for Java beginners to post their program up for professionals to critiques or revise.

I second that, I think a place to show your work and get people's review would be great. My biggest problem is not whether or not my code works (eventually I'll get it to) but whether it is written well (I know that that can be viewed differently by different people).
I love the forum for beginner to ask question but it doesn't have the proper layout to load your projects and share them...

I suspect you'd find few people willing to explore a whole project and critique it for free. You can always post your files elsewhere on the Web, and then post a link to the download here, asking for critique, but I don't think you'll have many takers.

If you'd like that level of mentoring, you might consider joining the Cattle Drive -- our "Java College" where, for a modest fee, an experienced developer will nitpick your work to shreds See http://www.javaranch.com/java-college.jsp .

I'm not talking about huge projects. I think that when someone first starts to write code is when they might develop bad habits. If they post a few classes it allows more advanced developers to glance at their project and tell them if they're doing something wrong or right. I don't think people will spend the time to troubleshoot the project but they might notice things at a glance that the novice might just not know. i.e. bad encapsulation, not using proper modifiers.

I know that the staff have talked about something like that. But the people that could offer the one-on-one nitpicking .... well ... they are willing to help 100 people with a public comment for free. But to help just one person, then it seems some compensation would be appropriate.

I think it never got off the ground because it was clear that nobody learning would be willing to pay so much.

So here's a good question for you: how much would you be willing to pay?

paul wheaton wrote:... they are willing to help 100 people with a public comment for free. But to help just one person,

I don't fully agree with that comment as I spend time going through many post that don't relate to something I asked just to learn more so I could see people going there just to lean something. As for monetary compensation I think a lot of people are probably like me...

I learned this to make it a career. I couldn't afford college, couldn't afford training courses or "boot camps" so I got books and studied. I tried to get my SCJP and did. I'm unemployed learning as fast as I can as much as I can so that I can hopefully get a job. I spend my days trying to learn Spring and Hibernate and other API's to try to better sell myself to possible employers. Spending more money than I don't have is not an option.

My other question is if this was a pay service who qualifies these people and who says that they are experts in what they say... I do not doubt the ability of the people here otherwise I wouldn't use JavaRanch but as can be seen on the forums sometimes 3, 4, 5 or even more people don't agree on how things should be done.

I never think that anyone should get a handout, this is not suppose to be easy but there have been times where I got stuck, really stuck and other people have helped just like I try to do now. I think we all have or will be in this spot. I know the people who help me are spending their time which is why I now try to do the same. I think we all try to do the same (well most of us, I do realize you still get the post "how do I get a char[] from a String" and those are the people that will never change)....

Trust me Paul I would love to have the knowledge needed to do something like this... I'm still struggling to answer greenhorn question on the forum and still haven't even fixed my spring problem I've had for 4 days...

I was just saying it would be an appreciated feature. I totally understand that people are busy....

the easiest way to have your coding critiqued is to post answers to problems (without posting homework solutions).
anything odd about your code/understanding will normally be pointed out, or you could learn different ways
from other people's answers.

Timothy Onggowasito
Greenhorn

Joined: Apr 16, 2010
Posts: 11

posted Apr 23, 2010 14:17:08

0

Well OK, maybe what I'm suggesting is little too much, but it would be nice to have a small forum community where anyone can post your work up like Flikr or Deviant Art, but instead of photos it's for programs. And it doesn't have to be an expert it could be anyone that's willing to help. Like you said Fred we might have something like that here, but what I'm really suggesting is specifically for beginners or did we have that too....

Thanks!

Marc Cracco
Ranch Hand

Joined: Mar 09, 2010
Posts: 80

1

posted Apr 23, 2010 16:42:47

0

fred rosenberger wrote:I would say we have what you are asking for. Post the code somewhere (somewhere ELSE if it's big) and ask. The worst thing that would happen is you'd get no responses.

You said that you go through other posts to learn something...these 'experts' you are asking about wouldn't need to do that (being experts and all...), so what would be in it for them?

I would guess these experts where in the same situation once and are doing it to give back like someone did for them...

Marc,
While I think this would be a good idea, really it would turn into a crazy situation.

Think of this:
The demand by people who want their code critiqued would be far larger than the supply of experts to be able to keep up with that demand.

Maybe it would be better to have an affordable, not free service. It could theoretically be rolled into the cattle drive.

The Cattle Drive is currently at a $200 price tag. I am enrolled. While the assignments seem at first glance like a cake walk, there is something to be said about the way it's delivered and the VALUE of the course. I learned more conceptually in a couple assignments on the Cattle drive than I did in 6 college credits worth of Java programming. I think if you want a humbling experience and for someone to critique your code, the Cattle Drive might be for you.

When you do things right, people won't be sure you've done anything at all.

Marc Cracco wrote:I'm not talking about huge projects. I think that when someone first starts to write code is when they might develop bad habits. If they post a few classes it allows more advanced developers to glance at their project and tell them if they're doing something wrong or right. I don't think people will spend the time to troubleshoot the project but they might notice things at a glance that the novice might just not know. i.e. bad encapsulation, not using proper modifiers.

I think the Cattle Drive is perfect for this - very basic Java, Servlets and JDBC. I suspect that anyone who believes that these topics are too lightweight based on their current skill level has probably already gotten used to doing things a certain way, which might negate the benefits of the nitpicking.

Is there anything on a slightly higher level than that. Spring....Hibernate....Struts...j2ee?

I think these are excellent examples of where you do not want to be teaching beginning concepts. Can you see the mismatch in trying to teach XML and/or annotations and multiple APIs and different stacks while simultaneously teaching basic OOP, naming conventions, proper modifiers .....

Marc Cracco wrote:...
My other question is if this was a pay service who qualifies these people and who says that they are experts in what they say... I do not doubt the ability of the people here otherwise I wouldn't use JavaRanch but as can be seen on the forums sometimes 3, 4, 5 or even more people don't agree on how things should be done.

That brings up a good point. As a rule of thumb, anyone who ranks above "Ranch Hand" definitely is the most reliable and trustworthy in the case when 3, 4, 5 or more people don't agree on how things should be done. It separates the dilettantes from the Java Cowboys, so to speak. Lacking that, we'll have to consider the posters' history of postings and their signature blocks that indicate the extent of their Sun certification.

Now, it's true that with a pay service or with no pay service you'll never know who the real experts are. But on the other hand the time-honored tradition has been that "if you're good at something, never do it for free."

Larry Chung wrote: As a rule of thumb, anyone who ranks above "Ranch Hand" definitely is the most reliable and trustworthy in the case when 3, 4, 5 or more people don't agree on how things should be done.

I think there are greenhorns out there that have more experience with things than I do. I will be the first to admit that I don't know everything and calling anyone an "expert" amd taking their word for things is dangerous territory. Even sheriffs or authors make mistakes, ask questions, need help.... et cetera. They are people just like anyone else. Sometimes it takes a different view on things to get something right.

Additionally, the only thing that separates a greenhorn from a ranch hand is post count. This means you can have what you call an "expert" join today and have a post count of 1 and still be an expert giving decent opinions on things.

Janeice DelVecchio wrote:I think there are greenhorns out there that have more experience with things than I do. I will be the first to admit that I don't know everything and calling anyone an "expert" amd taking their word for things is dangerous territory. Even sheriffs or authors make mistakes, ask questions, need help.... et cetera. They are people just like anyone else. Sometimes it takes a different view on things to get something right.

Additionally, the only thing that separates a greenhorn from a ranch hand is post count. This means you can have what you call an "expert" join today and have a post count of 1 and still be an expert giving decent opinions on things.

Well, then we'll be stuck in quite a quandary when we encounter Marc's scenario "when 3, 4, 5 or more people don't agree on how things should be done." In cases like those, what do you suggest as a heuristic, if Occam's Razor is not available?

Larry Chung
Ranch Hand

Joined: Feb 02, 2010
Posts: 247

posted Apr 24, 2010 11:05:03

0

Bear Bibeault wrote: I do not believe that post count is a metric that means anything other than post count.

But then again, members do not accumulate massive megatonnage post count by posting meaningless drivel. ...Ooorrr do they? Hmmm.

I usually suggest that before anyone takes anything for face value they do some of their own research.

I mean, if I had questions about something really important and Bear said

Bear wrote:Well, you should just pull the blah blah out of the whozywhattziz and then the forschmeckle should click again

Well I'd assess the situation and decide whether or not going with that solution would work for me or blow up the rest of the stuff that it depends on. Ultimately, that might or might not work in my situation. I might go further and look up forschmeckles on the internet and see if the blah blahs need to be pulled out. The point of Java Ranch is not to always get the right answers from other posters, it's to learn. Lots of times people come back and say, "well I did this instead and it seemed to work."

If it's something that is more subjective -- "what's the best design to use for this situation" .... well..... opinions are like bellybuttons. My opinion might be just as correct as a more experienced person's opinion, but different. It would depend on the bigger picture and how other aspects are working with it. It might turn out that my solution might work out better than the others.

Well, to get back to Marc's question, according to the FAQ on Saloon titles at http://faq.javaranch.com/java/SaloonTitles:
"Bartenders are people that have been recognized as generous, decent, helpful people"
"Sheriffs are Bartenders that have been recognized as being so generous, decent and helpful"

It's doubtful those titles are awarded to folks who were being more than less than unhelpful, ergo who do you trust, some stranger or greenhorn (slang for an inexperienced person) or your local friendly neighborly sheriff?

Generally a staff member isn't going to knowingly lead you astray. I'm not going to go try to answer questions about stuff I blatantly know nothing about.

Also, if someone is obviously wrong, chances are someone who does know will make that pretty clear (hopefully in a "be nice" sort of way).

The criteria for being a bartender or sheriff is not that you're an expert in anything, though.... so you can't just weigh your decisions on that. No one is always right.

Back on topic....
The people who help out on the cattle drive are trained to do their nitpicking. I would wage a guess that even if they're not "experts" at Java, they know the assignments in and out and are well trained in nitpicking. The road there is a difficult one, and from some of the forum posts there, it seems that people with a bunch of experience even have trouble with some things. I would be careful in asking for a "higher level" class until I at least tried to get through the lower levels. It's really a humbling experience, and it seems to me that if you think you need "experts" to view your code.... you may need a couple humbling experiences first (or else you'll cry when the experts tell you what they think ).

I thought with an intermediate understanding of core Java I'd fly through the first set of assignments --- there was not one assignment I had to resubmit at least once. Sure I had no problem with the logic or syntax on the assignments, but it's more about writing the code WELL.... not just so it works. So I had an easy time with getting things running, but not necessarily with writing things.... you know.... "good".

I think that someone who would want their code critiqued by "experts" should start there. The price tag is worth it.

And the great thing about posting in public is that someone correct you. I've posted things that were wrong on occasion (usually when tired.) Another person usually points out that I am wrong. Nicely of course. Then I acknowledge that in the thread. If I was providing advice directly, that wouldn't get caught. Making the public comments much more useful.