Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

If you want to be a good developer, but start developing at the age of 26, is there any way to became a good programmer ?

share|improve this question
22  
keep doing it until you're 36, then reevaluate –  Steven A. Lowe Dec 14 '10 at 22:59
3  
Same way as if you started at 16 or 36 I guess. Age influence is overrated, as more programmers reach mature age the myth that programming requires starting or being young would be completely busted. –  StasM Dec 15 '10 at 5:56
14  
Studying - anything - is just harder when you're older. It's not so much that your brain isn't as good, it's just that you typically don't have as much available time. –  JDelage Dec 15 '10 at 10:12
2  
I disagree with JDelage's comment in fact the brain is not as good as learning new things when you are older than when you are younger –  Xavier Combelle Nov 3 '11 at 18:00
2  
Aptitude matters more than anything else - age, intelligence, background, etc. If you find you enjoy programming for its own sake (beyond any promise of employment or compensation), then the odds are that yes, you can (and will) become a good programmer. If you think it's fun, you will naturally want to learn more and learn how to do better. –  John Bode Feb 3 '12 at 23:25
show 8 more comments

closed as not a real question by Matthieu, gnat, Eric Wilson, Walter, kevin cline Feb 3 '12 at 23:19

It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center.If this question can be reworded to fit the rules in the help center, please edit the question.

18 Answers

If you want to be really good at something, put ten thousand hours or so of study and practice in. That's about five years of full-time application. Obviously, if you start at 26 and put in two thousand hours a year you'll be 31 by the time you've put your ten thousand hours in, but you do have to ask yourself how old you'll be in five years if you don't learn to program.

share|improve this answer
5  
The 10,000 hour idea was popularized by Malcolm Gladwell in Outliers. The main idea of the relevant chapter is that practice trumps talent. You certainly don't need to spend 10,000 practicing programming before you can write decent code, and typing away in your favorite IDE for five years doesn't guarantee that you'll be great (or any good at all). But if you're interested, and if you make an effort to learn, you can certainly learn to write software reasonably well in less than the suggested 10,000 hours. –  Caleb Nov 3 '11 at 18:06
show 4 more comments

@cyberherbalist, I'm with you! I started to learn programming when I was about 24, on a Timex Sinclair 1000 computer... fantastic piece of technology! It had 2 kB of RAM (I also bought the 32K expansion module) and it executed BASIC code from audio cassettes -- those were the glory days. The TS-1000 was contemporary to the Commodore 64, for those of you who remember it, but much cheaper.

I'm 52 now. My programming experience is almost all in writing web software, mostly with PHP and Coldfusion. I am not a programmer by profession, nor an amateur; I take on programming jobs from time to time. I worked for many years as a university systems analyst, and did a lot of web application development. My first and only formal training in programming: a 1st year university course in procedural WatBASIC, which I took in 1985.

I count myself a competent, even highly competent developer, in the appropriate context, but I also know there are lots of (often younger) people whose understanding of programming language goes far more deeply than mine. I don't have their formal training.

The qualities that make you a good programmer... most people don't realize that they often have nothing to do with the technology itself. To be good developers/coders, we need a logical bent, but we need to be empathic as well, able to imagine others' experience in using our work. We need to understand the importance of methodology. We need to be highly systematic, but also creative and innovative, able to imagine a sort of virtual machinery and describe it with meticulous precision in languages spoken by machines.

I've started a hobby programming project in PHP -- I'm writing a wiki. I've picked up CodeIgniter 2.0, an MVC app framework, because I wanted to learn a new one for PHP and CodeIgniter seems to be popular. It's certainly easy to use. I have no training in OO, because when I started, OO hardly existed -- I'm working to make the transition. As I get older I ask myself, can I keep learning? is my brain still malleable? and the answer that always comes back is, sure, just keep it exercised.

I know that much of what makes me a good programmer is aptitude: how I think, the way my mind works. Keeping up skills... that can be wearing after a while -- I think I've forgotten more about computers than I know. However, the skills that make me a good programmer don't change. If you love it and it's what you want to do, if you can find a way to be doing it, that's all you need.

share|improve this answer
show 4 more comments

I firmly believe that you are never too old for anything, but would still like to provide a real life case which contradicts this belief of mine.

Contrary to conceptual answers ("yes you can") most people provided here, I have had real life experience with some people who started developing software at age of 25+ and I mean real beginners, people who never studied computer architecture and programming in the past. Never wrote a line of assembly or C, they basically started off with Java and C# as the somewhat easier way of jumping the programming wagon.

As far as I remember none of them got past the cargo cult phase, not to mention learning about design patterns or understanding how VM did garbage collection. Their code was impossible to refactor because they often did not know how they got where they got (see cargo cult phase). Advanced language elements like events and threads remained a deep mystery for these guys. And somehow they lacked technical competence to learn things themselves. I remember they were constantly being schooled by the company.

Eventually, two of them dropped the programming career after two years and another one had been struggling to this day.

Note : This I did not write to discourage you. I still think this had more to do with these guys' personal traits rather than being a general case. If you can put all your efforts into it and work really hard, and constantly educate yourself (by writing actual code to solve problems), you can definitely make great progress.

share|improve this answer
4  
+1 for getting into how someone who starts programming at a later age might want to learn, but maybe lack the drive or are aren't learning for reasons that great programmers typical learn for. –  Jeremy Heiler Dec 14 '10 at 22:24
2  
@Jeremy: Do great programmers learn for anything other than the thrill of the chase? Too many people I hear going in to the profession chasing money. That pursuit stems from and leads to greed, not greatness. –  Orbling Dec 15 '10 at 6:01
1  
@Orbling I agree, the best programmers are in it for the chase not the money. You can spot them a mile off, they make poor developers. –  Gary Willoughby Feb 3 '12 at 19:51
show 6 more comments

I started at 36, and it's working out pretty well. There is this myth that to be a good programmer you have to have been the kid that was hacking his school's computer system in seventh grade.

In reality, things like perseverence and humility are of great value. If you have these, can think logically and pay attention to detail, you can be a great programmer.

share|improve this answer
show 1 more comment

I started at 27. I'm now closing on 40 and very few people would consider me to be a slouch.

I've found that for most folks, they either have the right mentality or don't for becoming good programmers. Education is needed at some point or you'll never graduate beyond script kiddie, but I found having practical experience helped a lot when it came time to get the "Right" piece of paper in my early 30s. As I've said before here, knowing how to write code meant I got a lot more out of my classes than if I was struggling with the concept of a for loop or what the heck the difference between ++i and i++ was.

However, I have a "hard science" degree, worked in construction in my early 20s, and generally approach programming as a craft. Thus, it's a different discipline for me, but leveraging many of the same neurons. Your desire to be excellent at what you do, how much natural brain power, problem solving, and ability to think abstractly you have will drive how well you become more than how late you start in life.

But... do not undersestimate the need to get some solid theoretical background under your belt. Folks who forget or don't know the basic rule of thumbs you get such as looking at things using Big O analysis often run into trouble. Not having an idea of formal language definition will leave you stumped when looking at many technical references.

As a parting comment: sometime around when I was 23-24 I looked at many of the folks I knew who were retired. The ones who had had successful careers often seemed to not have gotten started in those careers until their mid-late 20s. Saying your stuck in a career path when you're 26 would be pathetic. If you get out of university at 21, retire at 65, that leaves a roughly 44 year working career. Starting at 26 if you otherwise have the right sort of talents isn't really that much of a late start, esp when it seems most programmers shift gears into management or "architecture" or other path somewhere in the 10-15 year range.

share|improve this answer
1  
I agree, no-one knows what they want to pursue as a career until later in life. Only a few are brave enough to change. –  Gary Willoughby Feb 3 '12 at 19:49
show 1 more comment

Your mental capacity does decline with age.

I tried to teach my 70 year old Grandma how to program in Basic on an 8-bit computer. She never got past CLS, PRINT and using the VOICE-FA00 speech synthesizer (she had the computer recite her poems). She passed away before we got to conditional and loop statements.

share|improve this answer
3  
+1 - If this answer wasn't intended to be funny, then I must be a bad person. –  Leonardo Herrera Aug 17 '11 at 19:59
show 2 more comments

I'm 31. Just got my degree this year in Computer Science/programming.

All it means is that the co-workers that are the same age as me have 10'ish years of experience while I'm months in.

Not everyone is blessed with choosing the right profession in the first try (or second... or third). Some people don't get started "right away". I'm one of those.

Does that leave me at a disadvantage? Of course not. I'm eager, willing and able to learn everything some 18 year old is. It just means I don't have years of experience and I'm starting from scratch.

Hell... not even from scratch since I have 10 years of experience to pull from still. Even tho it's not programming, there are bits and pieces that still fit in.

share|improve this answer
2  
You also find that people that come into programming after having had extensive experience in an area outside of programming have a different set of experiences to bring to the table. People that have only programmed are many times myopic about how their code is used in the real world. Especially when it comes to UI design, they think everyone thinks like a programmer does. –  Bill Dec 14 '10 at 23:46
1  
@Bill Excellent point, programmers are often very divorced from reality, which makes them piss poor analysts. –  Orbling Dec 15 '10 at 5:57
add comment

50 years ago, all the programmers started when they were 26 or older. Well, some may have started a bit earlier, but none when they were children. I'm sure some of them were good developers, because they built the foundations that we use.

share|improve this answer
1  
Absolutely! In the mainframe era, we trained adults - children didn't have access to computers until the 1980s. –  HLGEM Dec 14 '10 at 22:19
1  
However, keep in mind that many of these early programmers were skilled engineers who would be capable of building the machines they programmed –  JoelFan Dec 15 '10 at 3:48
add comment

It isn't all that important how late one starts to learn to program (maybe 90 might be stretching it, but...). I've known people who started with CompSci in college at age 19 or 20 and couldn't program their way out of a wet paper bag at graduation. On the other hand, I didn't get started until a couple of years after I left the Army. I was 36 when I got my Computer Programming Associates Degree. Been coding for 24 years now. From mainframe COBOL to .NET C# (and a few others in between). Maybe I'm an exception that proves the rule, but I've known others with similar careers.

A somewhat related question (too old to code?) on StackOverflow:

http://stackoverflow.com/questions/972611/old-developers-any-future

share|improve this answer
add comment

It all depends on how interested you are in programming and learning new technology.

Programming isn't the same as "playing piano".

EDIT: Some stuff you can't get good enough at, if you haven’t started early in life. Music is one of those. "good" is a vague word, it's up to you how you define “good”.

share|improve this answer
8  
You can become a good piano player if you start at 26, too. Or at just about any age, really. –  Anna Lear Dec 14 '10 at 20:29
4  
This is a bit offtopic, I absolutely disagree with your edit. It sure helps to start early in music, but it's not necessary. The earlier you start, the earlier you'll be good at it, but beyond that... it doesn't matter a whole lot. Unless you equate good with "being a professional musician", but then there's more to playing music for a living than simply being good at your chosen instrument. –  Anna Lear Dec 14 '10 at 20:42
2  
You can be a good programmer without being a professional. I know a lot of people who spend their spare time hacking around on stuff and contributing to FOSS, but it's not their day job. –  Anon. Dec 14 '10 at 20:47
2  
There's very few things you can't get good enough at if you don't start quite young. The only one I can think of offhand is Jedi Knight. –  Cyberherbalist Dec 14 '10 at 22:39
1  
I have to agree with this. Becoming a skilled piano player is exceptionally difficult if you don't start as a child. It's not impossible, but the difference is much greater than starting programming later is. –  Matthew Read Dec 14 '10 at 23:12
show 8 more comments

I've started a CS & AI course, the course I've been dreaming about for years, at the age of 26 and I have not been doing much programming before that.

The way I looked at programming back then was that programming is just a mathematics in disguise.It's a strong statement, but you will see that you can't go far without linear algebra or statistics. Knowing them will not make you a good programmer, but not knowing them will definitely make you miserable one.

My advice to you would be learn about:

  1. Algorithms and Data Structures,

  2. Compiling Techniques,

  3. Computer Architecture,

These three will lay down fundamentals on which you build everything else.

Good Luck.

share|improve this answer
show 2 more comments

Well, I am 24 and I want to be Java programmer so badly. Not only programmer, but a great one. I have a couple of years of experience in C++ but I don't like it much though. The only thing I have learnt during my lifetime is all you need is a desire, a craving for it and presence of the guts to do what is necessary. Do whatever it takes and the fortune will smile upon you. Age is of no importance. Gosh, I know a woman who moved to the USA and she had never uttered an english word before. After a year she started teaching at a university. The will is everything! Believe in yourself and remember a thousand miles road starts from the first step. Keep your chin up and never give up, mate.

share|improve this answer
add comment

I do believe that this is an individual thing. I am currently 32 and started a University programming course 2 years ago. I am currently 3 months into a 12 month internship and I am more than comfortable with things such as threads and events(in answer to a previous answer). I am currently focusing on design patterns and as my knowledge of them increases, I try to identify areas within my work where I can apply my new knowledge. Slowly, my code is getting better and more maintainable.

If you work hard enough and have the desire and enthusiasm to improve, then age is no barrier.

share|improve this answer
add comment

I'm 35 now, but I started at 25. I'm fairly sure I've done my requisite 10,000 hours by now.

It's just a matter of being determined. For me it was easy, because I didn't have anything to fall back on; it was succeed at this, or work at unskilled labor.

So I studied every evening (easier then, as I didn't have children yet). And at every job, wherever there was the opportunity to bring in programming, I did. I used VBA in jobs that just required basic Access database design. I used .NET in jobs that just required VBA. I worked a plethora of contract jobs, but this worked in my favor as I got varied experiences.

After four years of programming in rather crappy jobs, I managed to get a job that paid well enough for us to make it on one income (just in time for our first kid to arrive), and things have only gotten better since then. So all in all, ten years on, I'm happy with the outcome of starting to program at age 25.

share|improve this answer
add comment

Well, if you want it bad enough, then yes.

But do remember your brain is at its peak when you are about 17, and the structures that are built with programming have to go in long before that. Research I read long ago indicated that programming when young added something like 20 to IQ scores in the medium term, rather like learning music does, similar areas of the brain awakened.

Providing you developed your brain the right way when young, mathematically, logically and, most importantly, in terms of problem solving/engineering skills; then it is still possible.

Those skills can come in via a lot of routes when young, but they do need to be there, as well as a natural aptitude.

Good engineers are born to it, teachers too. Something in the initial blueprint that provides the required skill set. You can teach knowledge, you can teach techniques, you can't teach intellect; particularly the analytical intellect of the engineer.

So what I am saying is, if you have the underlying skill set and aptitude, then sure, it'll be harder than if you were young, but sure. If not, any amount of cramming will not help.

share|improve this answer
1  
@NimChimpsky: Because such aptitudes often show themselves from birth in small ways, and most research tends to point towards cognitive ability in certain areas being attributable to innate attributes. It depends on exactly what attribute in question obviously, some are very much nurture dependent, language skills for instance. As I say "I would ascribe" - keyword "I", my opinion. Do you believe we are all born equal and then grow different? Because that is not the case. –  Orbling Dec 15 '10 at 12:45
1  
@Orbling, what evidence is your opinion based on ? –  NimChimpsky Dec 15 '10 at 12:46
1  
@kevin cline: That may be the case. But the times where they have investigated this, they are comparing the same person, with themselves and seeing improvements with this, compared to those who do not. That is they are noticing a Value Added aspect to the study on the individual. –  Orbling Feb 6 '12 at 14:48
show 5 more comments

For being a good programmer, you have to learn thinking. It's the art of providing working solutions efficiently. I have high hopes in the idea that you can start learning things no matter how old you are. Of course youngsters who already spent years with programming have a good start.

Think about the positive things. You've perhaps did something great in your earlier life that certainly can help your way to learn programming - and it's a life-long way.

Maybe the best advice I can give: dive in and enjoy. Get know people like you, get know the gurus in your scene (no matter what it is), talk to them and develop things that you like. Make them better and better in an iterative way. Probably in months you will be able to express your thoughts and questions to any developer without any issues.

Last thoughts: learn how to write documentation for your code and use a version control system, probably a distributed one. It will make your life easier.

share|improve this answer
add comment

Absolutely you can with lots of hands-on work if you have the hours to devote. It is very useful to ground yourself in good design patterns from the start which will be very useful in "playing catch-up", but after that go crazy. The toughest part can be convincing others that you are a programmer worth hiring or considering or listening to. Down the road, you may have to look for opportunities (such as open source projects, frequent contributor to SO, ... etc) to demonstrate your skill as a programmer, but definitely possible to be a gem.

share|improve this answer
add comment

You are never too old. I started learning when i was 26 and i have never had so much fun. That was in 1999 and since then i have never stopped reading or learning about the subject of software development. Not because i wanted to work in this industry but because it interested me. I liked to make little applications and games, etc.

After many years of working full time in a totally unrelated field i made a 'sideways' move into software development as my main career, purely because of so much experience of coding in my free time.

Just go for it. If you find it stimulating and fun you are never too old. Just remember to keep an open mind regarding new technologies!

share|improve this answer
add comment

Not the answer you're looking for? Browse other questions tagged or ask your own question.