|
I think the best background is enthyusiasm. I wanted to beckome programmer just 'cause i wanted to make my own rpg. And know look at me, i'm programming in OpenGL with OOP in C++. I hate to see someone who knows how to program and doesn't make any games.
|
|
|
|
|
so you don't like me, i don't like you too... why posting as anonymous ? anything to hide ?
moreover, programming in "OpenGL with OOP in C++" don't make you a good programmer, and don't make your game better...
hate me, i don't care... there are so many interesting people on CodeProject...
TOXCCT >>> GEII power [toxcct][VisualCalc]
|
|
|
|
|
nothing to hide, i forgot to sign in. And yeah why the hell did you replyed at all.
|
|
|
|
|
(I don't know why your post got voted down. )
Enthusiasm is always good. I don't want programmers who are just doing it because 'it is a job'. I want people who live and breathe software development. People who really get off on providing software to make other peoples jobs easier and better.
I started programming commercially in the late 80's, but started off as hobbyist writing my own games for the ZX81 and Sinclair Spectrum, Dragon etc in the early 80's. So it is always nice to come hire people who started out the same way I did.
Michael
CP Blog [^] Development Blog [^]
|
|
|
|
|
Next time, try not to insult fellow developers and try to write a coherent, well-written post, then you won't be modded down.
Your main point I agree with: enthusiasm translates into studious learning and self-teaching. Games are a major draw to programming, unfortunately its one of the toughest areas of software development.
Tech, life, family, faith: Give me a visit.
I'm currently blogging about: Who is Jewish, the Trivia Game!
Judah Himango
|
|
|
|
|
I don't mean it when i say "hate". I just think that programming isn't fun without games.
|
|
|
|
|
Anonymous wrote:
I don't mean it when i say "hate".
but you wrote it, and that's what i understood. and visibly, i'm not the only one who voted you down, so your post was not clear enough...
TOXCCT >>> GEII power [toxcct][VisualCalc]
|
|
|
|
|
I think so...
|
|
|
|
|
Think the list may be freely expanded up to infinity.
Wrong is point of view. The background doesn't matter.
Programming is fate.
Believe the programmer that wrote his first program in 1965.
That times there were no university courses, people came to profession from different directions.
I've seen excelent programmers with metheorological or philological background, and mathematicians, that couldn't debug their own beast (they call it "program").
Gennady
My English is permanently under construction. Please, be patient.
|
|
|
|
|
I agree - Background doesn't matter.
What matters is how the individual's brain is wired, and how diverse their background experience has been. This way they can see things from angles that others simply miss.
However, I do thing certain backgrounds will strengthen you ability to develop software in certain fields. For example, if you are writing software for military hardware, then a background in military hardware will obviously benefit your ability to deliver correct, well written code.
Basically, there are a mix of factors that make a good programmer, and background can be part of this mix. Those that choose Mathematics as a profession are likely to already be good a thinking logically, which is a core element of programming.
|
|
|
|
|
Anonymous wrote:
What matters is how the individual's brain is wired, and how diverse their background experience has been. This way they can see things from angles that others simply miss.
This is exacly what I mean. The programming ability is not the part of, say, mathematical talant, it is something very independent.
And if you have it, it will drag you to programming from any other field of action.
Anonymous wrote:
However, I do think certain backgrounds will strengthen you ability to develop software in certain fields.
Not exactly. Nobody can promise you the same data domain all over the life.
And one of edges of programming capability is exactly this: be able to understand the problem from any field, quickly enter any data domain.
I'm in programming more than 40 year. Do you know, how many data domains I had to learn, and how many programming tools I had to use ?
And the only help of my mathematical background was, that I knew what is it - "modulo" - before learning any programming language.
Sure I exaggregate, but only a little bit.
Regards,
Gennady
My English is permanently under construction. Please, be patient.
|
|
|
|
|
Engineering, Mathematics, Self-Taught, and Science all rolled into one. Definately should have been its own category.
Democracy is just a fancy word for mob rule, or 3 wolves and a sheep deciding whats for dinner.
|
|
|
|
|
|
me too
|
|
|
|
|
The following: -
Carpenter,
Philosopher,
Deep Sea Diver,
Product Designer,
Delinquent Skater
are among the past histories of some of the best developers I've worked with. Personally I think your background is irrelevant, you either have the mindset of a good developer or you don't.
Phil Harding. myBlog [^] | mySite [^]
|
|
|
|
|
I've got to agree with Phil on this one. I have been in this game a long time (1984!) and all the best IT developers I have met, have somehow 'drifted' into it, from all academic levels, and backgrounds.
You've either got a underlying flair for this sort of stuff or you haven't, and that's about it.
|
|
|
|
|
I think the way the question is or can be interpreted is far more interesting than the question itself.
I'd like to think of a programmer as a "artistic handy-man" that constructs different tools(programs) that can be used in a machine(computer) to solve different kind of problems. These problems can be of various nature; scientific, mathematical, economical and so on, but this has nothing to do with how well constructed the tool is or in this case how well-written the code is.
Naturally the best suited for solving a mathematical problem is a mathematician. Or in other words: it would not be wise to send a carpenter to solve a plumbing problem even if both the plumber and the carpenter use screwdrivers. The screwdriver may be of better or worse quality, but that just the tool to get the job done. I'd like to compare the person that manufactures screwdrivers with a programmer.
The screwdriver manufacturer's job is to make good screwdrivers; selecting the best materials for long-lasting screwdrivers at reasonable prices.
The programmer's job is to create well-functioning programs that don't crash.
To make a specialized screwdriver that is supposed to be used by carpenters only would require some knowledge about carpenting, which should be fairly obvious, but this doesn't say anything about the quality of the screwdriver.
The thing about programmers are exactly the same: to create a program used for financial calculations would require some education in economics, but this doesn't say anything about the quality of the program.
In my opinion it's neither the background nor the education that makes the "Best Programmer". I consider constructing good programs to be a talent not so very far from artistic talent. Haven't we all seen "ugly code"? If something like "ugly code" exists, there must be something like "beautiful code" and creating something beautiful requires an artist/poet.
However, beautiful code doesn't necessarily guarantee a well-functioning program. It would require some technical talent as well.
Put these requirements together and you will end up with a technical artist comparable with Leonardo da Vinci who also had both technical and artistic skills.
Bottom line (in my opinion):
What makes a programmer is a unique mix of talents more than an issue of education.
Understanding the problem to be solved requires something more than just talent such as education and/or experience but this is a different thing.
--
Rog
|
|
|
|
|
Roger Stoltz wrote:
unique mix of talents more than an issue of education
Definitely.
I also think someone self-taught is well suited to continually keep up to date with new technology. But at the same time good programmers are logical thinkers who would probably lean towards pursuing mathematics.
I wouldn't go as far as to say programming is an art-form since IMO "beautiful code" is code that is logical and easy to understand, and probably has very little to do with visual/aural appeal that an artist/poet would aim for.
|
|
|
|
|
The mental process behind writing poetry and code is the same.
You have to be able to abstract reality into a simple model and be able to transfer that abstraction into a concret code, that can be your natural language our a programming language.
Mathematics have an important role on all Computer Sciences, but programming has a lot to do with poetry.
Rui Sousa
|
|
|
|
|
Similarly,
Good code is like good Haiku.
It is concise, descriptive, and elegant.
Good Haiku, like good code is never contrived. It is also minimialsist without compromising its descriptive qualities.
using (Haiku)<br />
{<br />
Writing code, like Haiku:<br />
Elegant within confines<br />
That limit and free.<br />
}
Please don't judge the quality of my code based on the quality (or lack thereof) of my Haiku.
-- Being innovative means not being afraid to get fired.
|
|
|
|
|
Your a poet and didn't know it.
BluePineNeedles wrote:
-- Being innovative means not being afraid to get fired.
I guess I'm not as innovative as I thought I was.
|
|
|
|
|
Is it an oversight, or is that intended to fall under science?
Daniel Vaughan
Zen Diaphragm
|
|
|
|
|
I wondered if the question meant 'best background apart from computer science'?
|
|
|
|
|
Isaac Asimov[^] said:
How often people speak of art and science as though they were two entirely different things, with no interconnection. An artist is emotional, they think, and uses only his intuition; he sees all at once and has no need of reason. A scientist is cold, they think, and uses only his reason; he argues carefully step by step, and needs no imagination. That is all wrong. The true artist is quite rational as well as imaginative and knows what he is doing; if he does not, his art suffers. The true scientist is quite imaginative as well as rational, and sometimes leaps to solutions where reason can follow only slowly; if he does not, his science suffers.
-- Being innovative means not being afraid to get fired.
|
|
|
|
|
One of CP's best and most respected programmers, PJ, was a Chicken Farmer - so it's gotta be a good background
|
|
|
|