|
Following Guidelines of Quraan and Sunnah
|
|
|
|
|
Following Quraan and Hadees.
|
|
|
|
|
It seems to me that three glaring omissions have been left out of the response list:
Service/Technical
Combination
None of the Above
Personally I was orgianlly a field service technician and taight myself to program. I later went back to school for some formal education.
I truth what makes the best programmer depends on the field for which the software will be created. Naturally Science/Physics is best for extremely techinical fields (i.e. aeronautics/avionics). But Business/Accounitng is often better for Insurance/Financial markets. And most commercial applications would benefit by having a few developers involved with Tech. Support backgrounds. A combination is probably best for programming in general.
|
|
|
|
|
I agree. Especially the about combination.
|
|
|
|
|
Personally, I think this question is poor. Especially for a survey. Everyone will tend to be biased toward their own background, and I consequently believe that the results would very closely match a survey that asked the same people what their own major was.
Another reason I believe the question is poor is because there are too many factors that play into what makes a good programmer. There are also too many fields to specialize in. I would not expect a hacker to be good at programming a Matlab-type application. I would not expect a mathemetician to be natural at designing Web-UIs. Experience plays a role too. I would rather hire someone who taught themselves to program early in life, than someone who is a math/science major.
However, I do think that a mathematics / science background certainly helps programmers think critically and methodically about problems -- especially at the lower-level languages (asm, C, C++, Fortran). With the advances of higher level languages, it is becoming easier for non-math/science majors to program effectively. Of course, this is just a rule of thumb; I have seen many counter-examples -- not all mathemeticians/scientists can program, and many non-mathematicians/scientists can program very well.
I taught myself to program starting with Basic on a TI 99-4A in 1st grade, then many different languages, and concluding with C++ in high school. But when I went to college, I got a BS in physics and also went to grad school for physics. I didn't take a single class in programming while in college, but the skills of critical thinking, problem solving, and the scientific method have helped me become a much better programmer.
|
|
|
|
|
I don't think so, I started my programming career from electronics engineering and I believe is not the best way to became a great programmer.
|
|
|
|
|
What statement do you disagree with? I made a lot of them, including:
* The survey question is poor
* Math / Science background helps (especially with C/C++/technical programming), but alone does not a good programmer make
* The interest someone shows by teaching themselves is also helpful
* Different programming focii will benefit from different backgrounds
And out of curiosity, what language(s) do you program in? And what type of product do you work on?
|
|
|
|
|
Personally, I believe the mathmatics mastery helps in any situation not just lower level language based programming. The development of complex but efficient algorithms is not as of yet automatic, thus, regardless of the current palette of options I believe a person whom thinks mathmatically will excel in any of them
|
|
|
|
|
Yes, I agree. I said that math / science *especially* helps out in the low-level languages and technical programs. I just think that people who don't deal with low-level languages or technical programs can get by more often without knowing math / science than in the low-level / technical arena.
|
|
|
|
|
Any question that can stir up debate and get excellent responses such as yours is a good question in my book
cheers,
Chris Maunder
|
|
|
|
|
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
|
|
|
|