Should I quit programming?

+1

It will take at least 5 years to be any good. It will take at least 10 years to be skilled. It will take a lifetime to be a master.

Think of them as challenges and opportunities to improve yourself. Always try to do something that is more complicated and harder than what you have done ever before. Set the next goal always a little higher than your current level, so that it’s possible to reach it with much effort, but not so high that it would demotivate you. And even if you fail, you will have learned something and will do better next time.

For example, I have now been programming for about 9 years. The first 2 years I was just putting some code together without really understanding programming. At that point, the most complicated thing I did was a console Java application which logged into Planetarion, parsed a web page from there showing the status of my planet, and logged into another web site and sent an SMS message through it if my planet had incoming enemies. But when I wanted to write a v2.0 of that with more features, I did not have the skills to design programs larger than a thousand lines of code. I learned those skills only after entering university.

I had my first commercial project on my second year at university, after having programmed some 4 years, and thinking back then, it was pure luck that the project succeeded. I had no requirements gathering, user interface design and project management skills, and the code was so messy that I rewrote 80% of it some six months later (and now, 5 years later, I’m once again redesigning and rewriting it all).

After some 5 years of programming, including a couple of medium sized projects (over 10k LOC), I really started to have a feel of being good at programming and knowing what I was doing. Then I got some regular part-time job of writing Java EE applications. I hadn’t developed any Java EE applications when I entered, so it took a couple of weeks to learn the basics. After having worked there 1½ years and getting lots of programming practice, I could feel my skills reaching a new level (then I had been programming for about 7 years).

Now that I’ve been programming for 9 years, I try to get even bigger challenges, which would help me to rise to a new level. My current hobby project is an application server/distributed database, which is without doubt the most complicated thing I’ve done this far. I don’t know the details of how it will turn out to be - thinking about complicated issues such as high availability, scalability, failover and recovery - but I’m quite confident that I’ll manage to solve the issues somehow step by step (given enough time, motivation and not too many other distractions). No pain, no gain.

Some excellent comments here guys. Sadly I’ve seen this type of “burn-out” many times before. I’m over 40yo and have been coding since I was around 15yo. Most of it was C, but the last 8 years have been Java. The last 6 years have on a J2EE project (currently @ 16,602 classes). I’ve seen way too many “bright eyed, bushy tailed” kids enter the field and then crumble under the weight of the projects, and then go down a different career path. I’ve tried to save as many as I could, but a lot of them just we’re cutout for coding (especially the more sociable types who weren’t expecting to see cubicle farms). I’d best stop here before I start rambling about some of the horrendous ‘hacker’ types I’ve come across… :wink:

Atm, I don’t consider myself an expert in any language. I actually don’t think that it is even achievable (and I’m a little wary of people who claim to be “experts”). There will always new tricks, new ways, new ideas which means the best we can possible do is strive to be better at our chosen craft than we currently are.

There will always be new technologies, way too many for us to learn them all, because the the real problem is time & where you should spend it? But yeah, most of the stuff I’ve seen to date, isn’t so much hard as it is fiddly.

I still enjoy coding, because I enjoy the creation aspect of it. I love the idea of being able to create a handy tool/app from nothing. I love the look on peoples faces when you deliver a ‘dream app’ (their words) where there was nothing before. It’s a good feeling. The only thing thats better is writing something for yourself to enjoy/play/utilize. IMHO that is the best! I admire a lot of the games here. I dream to be able to write games for a living but I know that will never happen, so I’m content in merely being part of the JGO community and being a spectator for some of the fun projects thats pass through here.

I’ll finish with quote from a russian coding colleague:
<heavy, broken english> “You can only do, what you can do” </heavy, broken english>
:wink:

I agree with most of these posts and I’d like to hear what your conclusion is CyanPrime, whats your feeling after reading all this?

Personally I had no Java experience 2 years ago but I was lucky to get a job at a company that was selling mass messaging services like bulk SMS/email/fax etc. because I had a friend working there. My 2 years in Java however have been rather interesting and now I’m almost finished reading chapter 9 in the SCJP 6 exam book. I plan on taking the exam later this year. Since I started reading that book I’ve actually learnt a great deal about the language and I really enjoy it.

I feel as though I’m learning something new every day. Previous to my Java experience I started out in QBasic many moons ago and went on to Pascal/Delphi and then C++. Ive tried writing games from scratch, operating systems, game modifications (Half Life) and just simple windows applications. Most of my time with Java has been servlets and general web applications and it still is. I’ve just recently decided to try out some OpenGL bindings for Java and I find it to be really fun indeed. I’m currently working on my own little framework as a learning project.

I really enjoy what I’m doing and one day I hope to advance my career into a senior developer role.

I hope some of these posts have inspired you and that you understand that most people here have spent a better part of their lives learning programming and developing their skills. It didn’t happen over a fortnight.

My final words are, if you enjoy it, don’t give up.

// Json

Absolutely.

[quote]Everyone has different talents
[/quote]
There is no such things.

If depends on what you really want to do.
If you really want to do games, then learn more.
To learn by yourself is a thing not many can actually successfully do.
Take a course of something like that.
AGAIN I’m heavily referring to a Stanford course which is Online on YouTube

[quote=“Cero,post:24,topic:33434”]
Yes, there is. =)

Mozart was more talented at making music than I ever will be. Everyone is not equally good at everything. Practice will get you some of the way, but not all of the way.

I don’t believe that.
Some people may have a easier start at certain things
but everybody can do everything (excluding illnesses and stuff of course)

so bottom line, if you are not a very good programer, but you want to be
then just improve yourself

those are the very single things that matters if you want to accomplish anything: interest, motivation, determination, devotion

Very, very, very misinformed :slight_smile:

Peoples brains are wired fundamentally different. No amount of training will change that.

Let alone the intelligence factor. Programmers are usually smarter than the average guy, they are wired such that they think about problems in a more abstract and analytical way, thus being more effective at solving logical problems. Not everybody can do that, in a reasonable timespan, if at all. Seriously.

Sure, everybody can do everything, but there are factors that limit how successful you can become at different things.

But people have different traits, and various crafts require various levels of certain traits. For example, to become successful at basketball, you need to be tall. There are exceptions, but those are rare.
To become a great programmer, you need to be both curious (as in wanting to learn new things) and intelligent (able to apply what you’ve learned).

Ha ha, nature or nurture?? I recently started teaching, and from watching my students I think practice (nurture) and ambition/drive is more important than natural ability.

Well I think you’re doing great CyanPrime, you’ve made 2 good games in less than a month it seems. And you’ve learned opengl so that’s great. Much more than me!

Hang in there!

What about patience!

Oh, good point. Absolutely.
That’s what I lack the most, heh.

It’s nice if you don’t believe that, but it is naive. It is more than just your application to the problem at hand, your motivation, etc. Those things are shaped by the other life experiences you have, influences on you over the loing term, etc. No, everyone can not do everything (equally well) and some are predisposed to doing certain things better than most.

It’s not naive, he is correct. The only predisposition to being better at somthing is your level of interest in it. If you like something, say music, you can become good at it. But if you love music so much that you enjoy practicing as much as playing and love to explore all aspects and never become bored with it, then you will naturally become a far better musician than most.

There is an article in Scientific American on this very subject. The full article is available online at http://www.sciam.com/article.cfm?id=the-expert-mind

[ Post removed! I’d rather not argue. :slight_smile: ]

Interesting - I’ve had a bit of experience teaching, though not standard teaching (spent a couple years during/after college teaching SAT/GRE classes for the Princeton Review), and I mostly agree with that statement.

However, what I discovered (and where I fundamentally clashed with The Princeton Review’s party-line philosophy about the SAT) is that while the difference between someone that’s good (putting it in SAT terms, say a 700 on a section) and someone that’s great (800) can often be just a matter of practice or ambition, no amount of drive or practice is going to bring that 450 up to a 750. And while I’d never consider a 50 point difference in score to mean anything about the relative strengths of an applicant, a 250 point difference really means a lot.

I think part of the problem is that different people have different approaches and susceptibilities to “practice,” and for better or worse, these are extremely difficult to change. Practice can easily make you worse if you’re merely reinforcing bad habits, something that happens quite often in music, and from what I’ve seen, in programming as well.

So I guess I’m saying that nature can’t make you great without a lot of nurture to back it up, but in some cases it can act as a serious roadblock. Whether the blocking factors there are actually caused by nature or by longer term effects of nurture, I’m not sure, the end result is pretty much the same since there’s not much you can do about it “now.” I’m all but positive it has something to do with the way each of us learns to learn, though.

Nobody can prove either of these. From what I’ve observed from my brief bit in the industry, what’s much more interesting to employers than “ability” is enthusiasm. You need to seem like an intelligent guy, yes, but most of all you need to show that you’re really interested in what you’re doing. Then they can help you along with the rest. If you’re not going into an entry-level position I’m sure things are different, but still. The idea is there.

My experience: In theory with enough work anyone can become the best at any mental activity. In practice, the amount of work required varies vastly person-to-person, to the point that for some people even with continuous practice they simply won’t live long enough to reach their goal.

I remember being particularly put off when I hit my limits taking a graduate mathematics course - there was a point where the number of interactions between concepts simply wouldn’t fit in my head at one time :(. Sure, with a lot of training it is no doubt possible to overcome this, but you have to ask yourself whether it’s worth the time.

Some things have to be put in the ‘too hard’ basket, even if you want to do them. Admitting that you have limitations is important so you can pick areas to work in that you can make real contributions to.

Cyan: You seem to be making interesting prototypes so far. It doesn’t look like programming is such a difficult task for you, so why not keep applying yourself and make something great! :slight_smile:

Believing in talents in naive

At birth the brain is empty, there is only instinct.
Nobody gains skills or knowledge at birth.

Believing otherwise would be like believe in life after death.
And I consider programer as scientists, and scientists do not believe in theology and/or esoteric.

Also IQ is an outdated format…
I really believe that every average human can perform every “normal” task. And I consider programming normal, and not something you need more than average intelligence. You just have to think very logically… but thats the case for all field of science and can actually be trained.

Chimpanzees are never going to be chess masters.

uhhh…
I’m pretty sure none of us will be the next Leonardo da Vinci, even if we had 1000 years to live.
And I’m sure I will never be America’s next top model nor Paris Hiltons NBF.

[quote]Believing otherwise would be like believe in life after death.
And I consider programer as scientists, and scientists do not believe in theology and/or esoteric.
[/quote]
speak for yourself!