Well, I won't belabor the notion that what impresses and elicits respect from one person does not automatically extend to all people. As I said, I'm sure there are people on these forums who are quite accomplished and perhaps even expert in what they do. To someone with a few years experience such as yourself I'm sure that inspires a fair degree of impressed respect at their skills. It doesn't however necessarily generate the same response in others.
As for my tone, well (and I'm sure you'll appreciate this) I speak from the perspective of being a contractor, an employee, a junior dev, a senior dev and a lead dev with around 12 years experience. I've worked for small shops, big firms and pretty much everywhere in between. What I said earlier about how "getting it working" is sometimes the rule you have to follow as a dev wasn't the result of theoretical musings or mental rumination. It's the result of having been there and done that...and the situation is quite common.
In fact, let me share an insight with you that I'll bet you'll find surprising: it's been my experience that high-volume contractors don't tend to produce the best code product for their clients. I've seen many examples of code produced in the absence of a real understanding of the business rules it's meant to serve, code produced that was obviously cut, pasted and modified from a previous effort to fit the existing need, and code that, quite frankly, was made to work in the circumstances specified by the contract but little further and that since the contractor wasn't going to be there to deal with it afterward...well...it "works well enough".
As for "From my experience If you need help, it shows that you don't understand your stuff"...well, I'm sorry but that's simply not true. Nobody knows everything and the next person who tells you they do is full of sh*t. Even the most qualified people in a field will tell you they don't know everything. In fact, without people knowing everything there'd be no innovation in the world. I've worked with my chosen language for well over a decade and I can assure you, I don't know everything there is to know about it. I still consult docs, books, guides and my colleagues regularly. There is no prize for claiming you "know it all" and failing that does not equate to "you don't understand your stuff". It's ironic you mentioned maturity because the comments you made suggest you may have a little ways to go to nail that down.
I don't like to criticize blindly but...dude...you're 21 whole years old and have been doing what you do for 4 whole years. I'm pretty sure your 4 years (and "100's of contracts") have been very interesting but over the past 4 years I've worked somewhere in the neighborhood of 9000 hours or so and have been paid well for the vast majority of them. My tone comes from experience so when you say "experience is key"...yeah...I know.
So, I'll just repeat what I said earlier: most developers would LIKE to produce clean, simple, sublime, well-vetted code but the world often dictates that they have time enough to write it to a certain performance standard before they are moved to another project. The fault isn't theirs' usually. Many times it's the demands of the company they work for that does this. It's not always a commentary on their skillset but more normally the environment in which they exercise it.
This post has been edited by Craig328: 13 June 2010 - 06:15 PM