|
I voted "Self taught programmers generally make better developers" but that depends in what area you end up programming. I know some jobs where I'd prefer a systematic, formal programmer to a genius cowboy (and vice versa.)
regards,
Paul Watson
Ireland & South Africa
Fernando A. Gomez F. wrote: At least he achieved immortality for a few years.
|
|
|
|
|
I've worked with both. The systematic programmer works best in a group on large projects, whereas the cowboy is best on his own with smaller work. Cowboys don't seem to get the 'big picture', and will make sweeping changes without regard for the global implications of what they're doing. The formal programmers are good at coloring within the lines, but they're not always innovative in the crunch.
Software Zen: delete this;
|
|
|
|
|
I'd have to disagree with this conclusion.
I think of myself as a cowboy. I work on a team, but often work on projects that are a solo effort. I'm fortunate that I can turn out excellent solutions that are well received by the customer. Some of my projects are quite big both in functionality and reach throughout the organization, and one of my biggest strengths is understanding business processes and the "big picture."
Not to be all about me, either. I know of a few other people that I think fit this category as well. Not many - but a few.
|
|
|
|
|
I was generalizing based on my experience.
I've seen cowboys that could work well in a large effort with a team, and I've seen more formal types that were good self-starters. My feeling is that programmers like this are simply good at adapting to the work environment, which strikes me as the ideal.
Software Zen: delete this;
|
|
|
|
|
Self taught doesn't mean that you don't use formal techniques, it just means that you didn't attend an offical programming coarse
|
|
|
|
|
|
It is asking more about how you got the "formal" techniques. Through formal training or through trial and-error/self-taught. And which of those results in the fundamentally better programmer.
regards,
Paul Watson
Ireland & South Africa
Fernando A. Gomez F. wrote: At least he achieved immortality for a few years.
|
|
|
|
|
I would say the contrary. I am a high school student and I consider myself self-taught. I started programming before I took a programming course, here is quick chronological order of my education: (I still consider myself self-taught).
- Self-taught programming begins 8th grade
- Intro/Intermediate Programming HS Sophomore year - C++ Programming; I knew more than the instructor
- AP Computer Programming HS Junior year - Java Programming; Same instructor as Intro/Intermediate, towards the end of the class I was teaching the rest of the students
- 2008 - Intro to VB dual-enrollment college class in HS senior year - I knew everything taught by the instructor; some information was knew and my programming adapted
- 2008 - Adv. VB dual-enrollment college class in HS senior year - I still knew most information; easily catches on to new concepts
I guess for the most part, I consider myself self-taught. This is not because I use formal techniques, it is just that all of the formal programming classes I have been in I already knew all the information for.
Regards,
Thomas Stockwell
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning.
Visit my homepage Oracle Studios[ ^]
|
|
|
|
|
I've found that formal training gives a good foundation, but learning does not stop when university is over. With software development learning happens constantly and the person needs the personal motivation to continue to learn on their own.
While there are good developers without formal training, I would recommend it. But what I recommend mostly is that a good developer will want, hunger after, new information all the time.
|
|
|
|
|
At one point, i worked for a very small company and for awhile we had a problem with getting less than competent developers. The formula we found that worked was high test scores and low grades. What you are really looking for is intelligent individuals who aren't necessarily locked into one framework.
|
|
|
|
|
I'm a self-taught programmer who has enjoyed a successful 30-plus year career writing code. The key for me, and this has been mentioned by others, is constant learning. I began in high school, reading all the computer architecture reference manuals I could get my hands on, programming in assembly language, and reading/modifying operating system code. I later worked in C, C++, Cold Fusion, and now .Net. Assembly language will always make me feel warm and fuzzy but one must keep in touch with industry trends, and also be interested in industry developments in general.
In all honesty, though, there have been a few occasions when I became aware of my lack of formal training. Specifically, knowledge of algorithms. But then again, that involves math which I've always hated with a passion. Formal methods, frameworks, etc. can easily be learned outside the classroom.
Edward...
modified on Tuesday, April 1, 2008 12:28 PM
|
|
|
|
|
To be a good developer requires experience.
You need to write a lot of code and you need to work with (and learn from) a lot of other peoples code.
|
|
|
|
|
MRLacey wrote: To be a good developer requires experience.
To be a great artist, one studies the previous masters of art.
Why don't software developers study previous masters? Instead, we learn the same mistakes over again.
Gary
|
|
|
|
|
I found this to be a very big weakness with the formal education that I got. There was very little dissection of previous well written works.
John
|
|
|
|
|
I agree. The 500K+ lines of MFC code I have written since I have started working in 1997 are what I consider my biggest asset as a programmer.
John
|
|
|
|
|
I bet, common sense make you better developer!
"Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow Never mind - my own stupidity is the source of every "problem" - Mixture
cheers,
Alok Gupta
VC Forum Q&A :- I/ IV
Support CRY- Child Relief and You/codeProject$$>
|
|
|
|
|
Alas, there's no such thing as common sense. - It just isn't common!
|
|
|
|
|
in my experience common sense in this field is, more often than not, dead wrong.
|
|
|
|
|
mean! ?
"Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow Never mind - my own stupidity is the source of every "problem" - Mixture
cheers,
Alok Gupta
VC Forum Q&A :- I/ IV
Support CRY- Child Relief and You/codeProject$$>
|
|
|
|
|
Common sense is pre-optimisation. A normalised database is common sense. Post-optimisation you rarely have a normalised database.
regards,
Paul Watson
Ireland & South Africa
Fernando A. Gomez F. wrote: At least he achieved immortality for a few years.
|
|
|
|
|
|
Yes, mean and meaning:
Common sense is a naughty term - one is supposed to 'naturally have it' - and to assume one does.
As such it invites unthinking consent in stead of critical analysis. it is designed to attract voters:
"common sense solutions" based on 'obvious' but often very shaky arguments.
cheers,
koos
|
|
|
|
|
koos4ever wrote: ommon sense is a naughty term - one is supposed to 'naturally have it' - and to assume one does.
thats the reason one become great programmer after that
|
|
|
|
|
That said, you need someone to point out your mistakes. IMO every coder should have a mentor (I wish I had one, but the CP collective served me well in the start ).
|
|
|
|
|
I second you !
"Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow Never mind - my own stupidity is the source of every "problem" - Mixture
cheers,
Alok Gupta
VC Forum Q&A :- I/ IV
Support CRY- Child Relief and You/codeProject$$>
|
|
|
|