I am 35. Tried numerous but just can't grasp programming.  Is it too late now? - madiga
======
gexla
No, age is irrelevant except that it may serve as an excuse for giving up. You
already know how to do some programming in your life (configuring a
controller, setting an alarm clock, etc) but this programming is just a bit
more in-depth. But this never changes. As a programmer you never stop
learning, not after 35, not until you decide it's no longer for you.

Learning to program can be hard. It can make you feel stupid. But for me this
didn't last long. It threw up a barrier that seemed like I could never break
through and then light bulbs began firing. You really just have to spend the
time with the code, reading it, trying small stupid things, making stupid
mistakes, building off what you have already done. Eventually it begins to
make more sense. You find you can do things without having to Google around
for answers. At this point you are beginning to internalize the programming
language.

What may work against you at 35 is time and patience. It's interesting to see
14 year olds post here proudly over what they have done with programming, yet
I feel like 14 year olds have the biggest advantage of anyone. They have
summer vacations! Imagine having that long of an uninterrupted block of time
to be able to explore whatever you like I'm not impressed when a 14 year old
posts something, I'm impressed when a 35 year old with a family and work posts
something. ;)

------
anthonyb
You seem to be missing the most important question of all: what is it that you
want to do? Just "learning programming" is like learning to hammer nails.
Sure, it's a useful skill, but if you don't have a slightly higher goal you'll
get bored quickly.

I'd recommend Python, but them I'm pretty biased, having used it since about
2000. If you can give us more of an idea about your background and what you're
trying to achieve, I'm sure you'd get a much better response

------
dragonbonheur
Ignore people telling you to try javascript, python, C++, C, ruby, go,
typescript, forth, java etc. Just do what millions of people have actually
enjoyed doing: learn BASIC.

<http://www.freebasic.net/> <http://www.zetcode.com/gui/fbgtk/>
<http://www.petesqbsite.com/>
<http://www.dbfinteractive.com/forum/index.php?board=2.0>

~~~
jamesjguthrie
\+ 1

------
sonabinu
I am on the wrong side of 30's. My background is Econ and I am working towards
an MS in software. It is pretty hard but you can do it. Try codeacademy.com
for simple tutorials. Youtube has lots of resources too. Once you still to a
regime of learning, it is possible. Here is a link to my journey in grad
school - <http://datagrad.blogspot.com/>. Hope it helps

------
petercooper
Invest in a local, private tutor. If you've been reading books or watching
videos and hitting brick walls, you might be the sort of person who'd find
asking questions directly and having quick back and forth conversations
beneficial. Even if the tutor isn't a world champion coder, it might be the
medium you're having friction with rather than the underlying concepts.

------
GuiA
Definitely not too late, but it's hard to tell what you need to change in
order to finally get programming without knowing more about your history. What
is it that you don't grasp? The conceptual ideas behind programming? What
programming does in the first place? The specifics of whichever language
you're using?

Scratch (<http://scratch.mit.edu>) could be a good starting point for you—
it's very visual and helps conceptualize programming (loops, instruction
blocks, etc.).

If you have background in design/art/illustration/etc., then Processing might
be for you— I recommend this book highly: [http://www.amazon.com/Getting-
Started-Processing-Casey-Reas/...](http://www.amazon.com/Getting-Started-
Processing-Casey-
Reas/dp/144937980X/ref=sr_1_2?ie=UTF8&qid=1351928921&sr=8-2&keywords=processing)

If you have any specific questions, feel free to send me an email or ping me
on Twitter (all info is in my profile)

------
kaptain
The meta question is: is every human being able to learn and do anything with
a reasonable level of competency (subject to your definition of "reasonable").
I would like to think so. I would like to think that my own inability to do X
stems from lack of perseverance, discipline, and/or hardwork. But I'm not
quite sure of this.

I enjoy coding. Some of it has to do with having a reasonable level of
competence; I'm not straining to understand everything. But there are a lot of
areas of programming that I'm not well developed; I'm not able to grasp (as
quickly) certain concepts.

There isn't enough said about embracing our limitations. This is goes against
the optimism and can-do spirit of the American (or perhaps Western) ethos. But
there is something to be learned from knowing oneself, measuring one's
strengths and weaknesses, and then leaning into ones strengths.

There will always be the tension between overachieving because you actually
have the ability to and being unable to succeed because you were a poor judge
of your own skillset.

I don't know if you'll be able to acquire the skill of programming. Certainly
age has very little to do with being able to acquire this skill. I myself have
sat down and personally tried to help others to learn this skill. I've found
that it isn't because of a lack of desire to learn. I remember starting with
fundamentally simple models and then trying to connect it to the abstractness
that is represented on a computer screen. It's very difficult for certain
minds to make this connection. Or perhaps it was the lack of skill of the
teacher.

In any case, I do hope you will be able to acquire this skill. I would also
encourage you, though, to make an inventory of the skills you do have, the
things you are good at already. Maybe putting more time in to things you are
good at would be more fulfilling. Be true to yourself and remember that your
ability to program has nothing to do with who you are as a person. I forget
this sometimes.

------
bdfh42
Wow - lots of great encouragement and you should heed that if you are inclined
to give it another try.

As an alternate view - you might like to consider that some people seem to
have an aptitude for programming but that most people do not. In the early
days of the industry when computer training opportunities and even computing
time was limited and expensive businesses went to a lot of trouble to test for
that aptitude. Those tests were probably crude but in my experience rarely
wrong (I can remember one notable exception).

Anecdotally, I found that good sales people had just about zero programming
aptitude (there is also a strong case for the inverse being true). Certainly
this is not an issue with intelligence - lots of very intelligent people cant
program although a measure of intelligence is required to be a programmer.

------
noahc
You might want to read the talent code for a few ideas on how talent is
developed and then figure out what to do from there.

I am a professional developer for all of 1 month now, and when I started to
learn and really dive in so that I could get a job, I wanted to give up every
day and it sucked. I never could figure anything out.

But guess what? That is exactly how talent is built it. You only learn as you
push or self to figure stuff out. You're probably doing the right things, but
if you've never programmed before you probably have a lot of building to do
before you 'get it'.

------
CyberFonic
Can you follow a recipe? Like for making a simple dinner? Turn that around,
could you explain to somebody how to do something that you are good at, say
making a great cup of coffee using an espresso machine.

Programming is like that. The bits and processes are different but the overall
concept is similar. As petercooper suggested, hire a tutor or attend some
introductory course. A competent teacher should be able to identify where your
stumbling block is and present the material in terms that fit with your
cognition processes.

------
beckje01
Maybe not, make sure to try different ways of getting into programming if the
simple command line stuff isn't working for you. Maybe try something like
codepen.io and just get a basic start and dig into javascript that interacts
with the page.

------
biscarch
No. Age is irrelevant in this sense. Find something you enjoy and just keep
hacking.

------
denzil_correa
No, it's NOT. Try some beginner courses at
[http://www.udacity.com/overview/Course/cs101/CourseRev/apr20...](http://www.udacity.com/overview/Course/cs101/CourseRev/apr2012)

------
veermishra0803
Its never too late to start over again. and surely age should not be the
defining factor... if you feel like doing it, just do it and make the most of
it.

------
vanag
I agree with others. Age is an excuse. Start simple. Java is great (use
netbeans). Go is another option. JavaScript/C/C++ are definitely not for the
beginners. Java probably is the best. But please accompany it with a good book
on algorithms.

there are also many free material on the internet. Start with this first and
the use java in parallel with a second reading. Just buy a cheap black and
white laserjet.

Good luck, success is imminent.

~~~
unconed
Java is great, but JavaScript gets lumped in the same bin with C? Strange
priorities...

~~~
brownheezo
I'd have to agree. Java is probably on of the worst for beginners. Especially,
if you're by yourself. Setting up your workspace alone could be enough to stop
you from getting to your code.

If you start with javascript, at least you could just open up your web browser
to see if your code worked.

------
bhanks
ok what about how long do you think it would take to ramp up to where I could
make a decent living doing it? Do you have to go back to school or should I
just jump into a jr development position?

------
sonabinu
PS -- Good luck

