What does it take to become a good programmer?

drgh0st

Limp Gawd
Joined
Aug 26, 2003
Messages
310
Is it the wya peopel thinK?

does practice and expereince help?

I'm not sure if I want to persue a career in this field yet. Right now it sometimes takes a while for me to program and code things out while other people can just whip it out like there's no tomorrow :mad:
 
Practice, practice and more practice. Also, it helps if you take a few computer science courses that involve theory of programming languages.
 
Patience.

You also need a 6th sense of programming, which you can get from experiance though. Knowing what to do when, etc.
 
It helps to be indian too. ;)

Basic mathematical ability, basic spelling ability, understand the fundamentals, realise we don't all have Sunfire 15ks... and practise.
 
Practice, and more importantly INTEREST...

I've found I program best when:
- I am without a gf
- all my friends are out of town and I have nothing better to do
- am jacked up on Mt. Dew or Redbull
- I have a craving for a seg fault
 
all it takes is..........INSANITY

no it's not that bad at all...yesterday i wrote a 600 line assignment in java and it was super easy....you just need to practice a lot and be able to think of what's going on in the program, not just math skills....you need creativity....
 
Originally posted by drgh0st
Is it the wya peopel thinK?

does practice and expereince help?

I'm not sure if I want to persue a career in this field yet. Right now it sometimes takes a while for me to program and code things out while other people can just whip it out like there's no tomorrow :mad:

My OPINIONS on your 2 questions: yes (the relentlessly illogical can better serve (themselves) with a career in teaching, politics, or law) and yes (when has pratice or experience ever made anyone worse? but better doesn't necessarily lead one to being good).

Some more of my OPINIONS:

If you're still very much a n00b at programming, don't sweat it too much... just keep stuffing your head with knowledge and see what develops.

If you're 2 years or more into it, you've been busting you head on it, and it still seems clear as mud... then you're probably better served looking into other options.

People aren't all created equal, nor do they all develop equally. For a career, look for a blend of 3 things: what you're good at; what you like enough to be satisfied doing; and what will pay the bills. Society doesn't need people: who are incompetent at their jobs; who are going to go postal; and/or who freeload.
 
Originally posted by ngk
... be able to think of what's going on in the program, not just math skills....you need creativity....

Agreed. Math skills (beyond the basics) are almost irrelevant. Vision and logic are critical. Programming (at a level higher than merely transcribing pseudocode into a high level language) is art, left brain style.

Heck, check out the origins of the word 'technology': http://dictionary.reference.com/search?q=technology
"[Greek tekhnologi, systematic treatment of an art or craft : tekhn, skill; see teks- in Indo-European Roots + -logi, -logy.]"
 
You have to be able to generalize, to see connections, systems, formations and structures. For instance, it helps a lot if you see methods as ways to go from one type of data to another through some transformation, and can see how to chain them together to get what you want. (If it's appliable, of course). It's a good sign if you take easily to grammar, which is fundamentally the same.
This, I guess, is also why it seems many programmers are also interested in ethymology, the formation of (natural) languages is a somewhat similar process.

(It's perhaps a sign that I've done too much java lately that I was trying to come up with an example, and came up with this, illustrating the formation of nouns from verbs in english:
Noun verbToNoun(Verb v) { return v.toBaseForm()+"er"; } )

So yes, it's definitely about how you think.
 
some people naturally understand the logic behind programming... really their only limit is the boudaries between different programming concepts.. recursion, oop... etc..

beyond these broad concepts you also need to understand a programming language's or platform's available libraries...
having a good reference is important...

for other people, they have to work at it... before they can lean the broad concepts... but because they are used to reading books, they often have less difficulty with the interface learning...
 
Well, the guys here seem to have pretty much covered your questions, so I'll just venture forth with one more thought - you need organisational skills. I don't mean the ability to keep your desk tidy (I have yet to meet a tidy programmer), but the ability to organise your thoughts and keep the overall structure of your project your head while at the same time tackling the problem at hand. As an example, I work on medium-sized enterprise applications, and I generally have 600+ source files on the go at any given time. If you can't keep all that in your head, then you're going to have a lot of duplicate code, which will lead to overly bloated applications and a higher maintenance overhead. This number of files isn't exceptional - I'm not an exceptional programmer - so I'd say it was a pretty good requirement.
 
Originally posted by drgh0st
Is it the wya peopel thinK?

does practice and expereince help?

I'm not sure if I want to persue a career in this field yet. Right now it sometimes takes a while for me to program and code things out while other people can just whip it out like there's no tomorrow :mad:

is it the way people think....... YES!
does practice help........ ........ YES!


It takes you a while to code, while others can do it it eaiser........................ this is true with most things in life.

I will assume the College professor of NanoTechnology can solve problems faster then a fifth grader............. common sense.

****************************

your job should be something you like to do. if your not "sure" whether or not you want to do it............. chances are you probably arn't that crazy about the idea.
To do programming, you basically have to Know you want to do it!

Programming in a business setting requirers Excecptional problem solving skills and a lot of knowledge with Logic.

^_^
 
Back
Top