|
LOL. Ok. Point taken. The survey question is good for sparking a debate. But, I don't think it would be a good question for a scientific study -- i.e. I still think the multiple choice histogram is skewed.
|
|
|
|
|
Right. I've always thought on CP surveys as a good way to know people skills and opinions starting at some point and not a scientific source to retrieve statistics and universal affirmations.
... she said you are the perfect stranger she said baby let's keep it like this... Tunnel of Love, Dire Straits.
|
|
|
|
|
CP surveys are not scientific surveys, but many of them can provide useful information. For instance, a poll about how people generate documentation could provide useful information about what documentation tools people should develop moving forward. But, aside from interesting discussion, I don't see the value in this question. (And, as I already mentioned, I think the results of this survery are particularly skewed.)
|
|
|
|
|
I had an really interesting professor in college. He had several degrees but his first few were Music/Music Theory, Psychology, and one I had never heard of before but Human Factors Engineering. The class he taught happend to VB.NET but the real focus he taught in the class was all the theories and methodologies he learned in his HFE (Human Factors Engineering) degree. He taught me a lot about how people use their computers and how we as programmers should tailor our applications to how our user would use them and not how we thought the program looked. For instance, in a gradebook application, I would have put all the options in alphabetical order because that is how I (and many of my fellow classmates) would order it. I never thought to put the most used option, like entering grades, up top even though they might not be the first step in a process. In this case, setting up a new gradebook. I think a lot of the backgrounds in the list up above are mostly needed but to be the best programmer, I think that we should all have these other beneficial ideas that we can bring to the table.
Brett A. Whittington
Application Developer
|
|
|
|
|
I suppose that if I had to select a single option as to what background makes the best programmers, I would select engineering / physics. I do not, however, think that this is truly representative of reality.
My experience has been that well rounded individuals with an appreciation of art/literature and a solid understanding of the scientific method, with reasonable doses of math and engineering make the best programmers. Sometimes these are self-taught individuals.
I would also add that programming is not always apples, sometimes there are oranges and grapefruits too. The skills needed to write embedded code that must perform in a minimum of cpu cycles and use rudimentary tools is different from the skills needed to write traditional business productivity applications like invoicing/crm. For game programming I might prefer someone who is artistic over a math expert.
The key to all programming tasks is having people who understand the task at hand and have the ability/talent/skills/tools to perform the task. Sometimes you can improve the tools and change nothing else and still get the desired result. Ultimately, however, talent, skill, ability and business knowledge is the best recipe for success.
IMHO. 2 cents worth.
|
|
|
|
|
I admit I've not known any developers who came from the SysAdmin background, but they must certainly have one thing going for them - they've dealt with plenty of bad software and should know how not to do it.
Gavin Greig
"Haw, you're no deid," girned Charon. "Get aff ma boat or ah'll report ye."
Matthew Fitt - The Hoose O Haivers: The Twelve Trauchles O Heracles.
|
|
|
|
|
Same for tech support.
Don't try it, just do it!
|
|
|
|
|
Frankly, Engineering and Physics are absolutely different things. So why it together in survey?
|
|
|
|
|
No, they are not completly different.
Don't try it, just do it!
|
|
|
|
|
Oh yes they are.
Physics and mathmatics are more appropriately put together as they are the theoretic studies whereas engineering is the practical application of both physics and mathmatics.
|
|
|
|
|
Alexander M. wrote:
No, they are not completly different.
Yes, but math and phys. even closer than engin. and phys.
Every or almost every phys. theory has roots from math.
So may be better to add in survey: "math/phys" and delete "engin/phys"
|
|
|
|
|
I think the best asset you can have as a programmer is having a background in some field at all. I have a background in graphical and musical arts and guess what I'm specialized in programming...
There is no one best background. Having worked with sales help you understand the needs of a sales-department etc. Nothing ever beats working in the fields you are targeting with your software (I'm a freelancer, that's what I do).
Math should never be underestimated, discrete and logic math are the foundations of most notations used for programming languages as well as documentation. If you want to really master programming, start reading if you haven't already.
Ever seen "[this|or this|or something like this]" in a manual?
Or maybe this "[this is optional,[this is also optional]]"?
Those are mathematical notations. Ever written any programs in Prolog?
But to be a little realistic, no other field than programming can ever make you a good programmer. Experience is everything.
www.digitaldistractions.se
|
|
|
|
|
I first started programming in high school. I had the option to take one course of my own choosing. I took a class computer science. The science here is a little bit excaggerated, since we didn't do any math, nor did we do development interesting enough to be called science, but it was computer science.
It was the first time I got in contact with developing software. I was facinated by it and started learning C++ as my first real language. We learned some dutch dialect of Java developed especially for high school kids.
After that, almost everything I learned in high school or college was something I already knew or just remotely interesting. A few courses in college though were new to me. These were classes like project management, System architecture and such. They were really interesting.
Too bad that they only teached basic stuff in college.
Behind every great black man...
... is the police. - Conspiracy brother
Blog[^]
|
|
|
|
|
The best software developers are those who have a good background in more than one area. You may be a math wizard but if you don't understand the customers problem domain, then you probably won't ask the right questions when you convert the specification into a design document.
A good programmer needs think to be able to think both logically and creatively as well as being able to research and understand the history of the code that has gone before.
Michael
CP Blog [^] Development Blog [^]
|
|
|
|
|
that should have been a multiple choice survey.
Maximilien Lincourt
Your Head A Splode - Strong Bad
|
|
|
|
|
I think mathematics the best background for almost all survey list and
for progamming also of course.
|
|
|
|
|
I agree with you....yep...Mathematics is the Mother of Physics and Engineering.....
|
|
|
|
|
Yes. I remember I read some books about it - Morris Kline, Mathematics,
The Loss of Certainty. What will be programming without Mathematics - nothing. For example, database without RDB algebra...
|
|
|
|
|
Mathematics is a tool , Physics is the science and Engineering is the application field of science.
|
|
|
|
|
Granted my university had moved the Computer Science program to the School of Engineering from Liberal Arts while I was there, but wouldn't it be correct to say that computer science would be a fairly legitimate option in the survey's choice list. At least for those of us who were stuck going to college in the early 90's or before.
However, in all fairness, Discrete Structures or Discrete Mathematics played a very important role in my opinion. Even Differential Equations or Multi-Variable Calculus really made the Matrix theory much simpler to grasp in 3-D graphics.
Too many programmers in Delphi and VB just don't grasp base conversions binary, hex, and octal (they do decimal just fine =). I've fought with too many vendors who think they can just cut off any character above 0x127 because they don't understand or want to deal with character encodings. It's very pathetic that some people neglect their Discrete Mathematics classes or don't study it at all.
So even though I'd think "Computer Science" would have been the option most middle aged programmers would have liked to have seen in the choice list, I think the Mathematics portion of that degree (specifically the Discrete Structures portion like truth tables, base conversions, matrix theory, etc...) build a very important foundation to understanding it all. I say things like DWORD, unsigned int, two's complement, byte ordering, little endian, hexidecimal, flags, and XOR in a meeting, all I get are blank stares. Mind you, these are fellow programmers at various levels of their careers.
The best programmers in my opinion are those who can handle the math. One cannot even think of dealing with the win32 API directly, graphic transformations, serial or network communications, COM, character encoding, metric translation, cryptography, etc... without a thorough math background. Those without that background can obtain it as they need it on the job but this hurts productivity not to mention that it frustrates the other members of the team as those who are catching up, hold up progress or argue against things they frankly do not comprehend.
|
|
|
|
|
bob16972 wrote:
The best programmers in my opinion are those who can handle the math.
This is not true. Back in the early days, where you really had to look out not to use too much memory, where CPU time really mattered, math was one very important skill.
Nowdays computers are really fast. Math is not a mandatory skill anymore for the most jobs. The basic math like addition, substraction, devision, multiplying and boolean logic are enough in most cases. The only jobs where math really matters are graphics programmers, game programmers (getting less every day), device driver programmers, low level embedded system programmers, etc.. The mass of us programmers work on large applications of which code is kept as simple as possible. I bet most of us just implement simple utility classes and event handlers.
Behind every great black man...
... is the police. - Conspiracy brother
Blog[^]
|
|
|
|
|
but the poll was on BEST programmers. it is where knowledge of "abstract core" counts.
v.nrg
|
|
|
|
|
Well, I likely have much less mathematics skill than the developers I have mentored and lead...
Personally, I do not think that much of the math taught these days helps much. At least, not for me. I do not think that knowing how to FOIL a polynomial expression, for example, helps anyone become a better developer no more than how knowing calligraphy helps someone become a better author.
Now, that is not to say that ALL math is useless. While I flat-out SUCKED in things like Calculus, I did well in "Contemporary" mathematics, graph theory, relational algebra, finite mathematics. I have even found a use for some of the latter. But I never needed to do something like calculate something on a parabola, or find the derivative of something... (And I hope I never will, because that would mean that I was hired for the wrong job - we have graphing calculators designed specifically for stuff like that are are much less expensive than I am.)
IME, the people that have an extensive mathematical background are the ones that tend to value one. I tend to value my real-world experience over my education (and over education in general).
One last thing. Have any of you known any highly mathematics- and/or physics-educated people whose code "looks like" a mathematical formula on paper? It is kind of hard to describe, but I have been able to see code from two different people and correctly (and immediately) guess that they had higher math degrees.
Peace!
-=- James If you think it costs a lot to do it right, just wait until you find out how much it costs to do it wrong! Tip for new SUV drivers: Professional Driver on Closed Course does not mean your Dumb Ass on a Public Road! DeleteFXPFiles & CheckFavorites (Please rate this post!)
|
|
|
|
|
True, but define BEST.
It's more something like: the right programmer for the right job.
A typical database programmer will suck at programming graphics and a typical graphics programmer will not do database programming very well. So which one is the better one here?
IMHO the better programmers nowdays are the team players. Development teams tend to grow large and the typical geek doesn't like this. The real wiz kids tend to isolate them from the rest and that's of absolutly no value in a large team. So how much does the math help the geek in question? Not much..
Behind every great black man...
... is the police. - Conspiracy brother
Blog[^]
|
|
|
|
|
Most (I did not say all) programming today is pushing data around from the database to the UI and back. You don't need maths for most (I did not say all) of that work.
We are neck deep in abstracted layers that take away any need for anything more than simple maths skills.
And when maths does count it is more the logical side of maths not binary, hex and octal conversion.
If you are doing low-level work then fine, show me your maths skills because yes you need them but for the majority of us the closest we get to low-level is checking the collation field in SQL Server.
regards,
Paul Watson
South Africa
PMW Photography
Gary Kirkham wrote:
The ability to destroy a planet is insignificant next to the power of the cliché...Star Trek had it in spades.
|
|
|
|
|