
Ask HN: I am 35 years old with no degree – can I still program? - bingodingo
I am 35 years old and have been in a totally unrelated career for the last 13 years. I have always loved tech, and computers. And in hindsight, feel I should have continued school in this area. But alas I did not, and now I wonder if it is too late to realistically have this career change sometime in the future.<p>I am not even a programmer now, and there is no way I could afford going back to school for a CS, or any type of degree. But I do have the free schools and information available on the internet. I have started at the beginning with web development in one of the free online schools. And I enjoy it. I know I have a long way to go... I know that the chance of me developing the next twitter or facebook is remote. But There is no chance if I don&#x27;t try to learn about it.<p>Realistically, I am not planning on quitting my day-job....<p>But my fantasy is, if I do stick with this, and learn about web development, Python, Ruby, PHP, etc etc in my free time. Maybe it could happen. Maybe a door or two would open for me. Maybe I would create an app, or be part of one&#x27;s creation. If this hobby becomes more than a hobby, and I crate web pages, web apps, and contribute to the community... Maybe I would be confident in my skills to apply to some tech jobs. Or do some freelance work. And don&#x27;t get me wrong, I really feel like I missed my calling. Now 15 years later with a family I am not in the position to quit this job and go to school. And of course the money issue, I would probably be able to make more than I make now if this happened. But that&#x27;s not why I am interested.<p>What do you guys think? Is this possible or is this a pipe dream? Should I just play more Halo and quit doing exercises on the web?
======
patio11
It is absolutely possible to pick up enough programming skill on the side to
be dangerous. It makes you substantially more valuable at virtually whatever
you do, assuming you're in some sort of knowledge work. A reasonably smart
person can go from knowing nothing to knowing enough to build things people
will pay for in probably under a year.

Traditional education is valuable for programming but is neither necessary nor
sufficient for doing it commercially.

This is very untrue of playing video games, by the way. Trust the voice of
experience: if you have enough time to run a WoW guild, you have enough time
to build a business. Less dragons, better loot. I'm assuming the same is
likely true with Halo.

~~~
glimcat
"Software Businesses for MMO Addicts: The Dragons Wore Suits"

There are also numerous similarities between progression raiding and
marketing. Replace phases with funnel stages, try different strategies until
you figure out which one results in fewer wipes...

~~~
kybernetyk
React to unpredictable market changes aka nerfs/buffs ...

------
callmeed
Most definitely. Go through one of Zed Shaws books
([http://learncodethehardway.org](http://learncodethehardway.org)), probably
python or ruby. Then from there look into a web framework while still doing
exercises (like project Euler).

All the while look for something simple you can write that would help you at
your current unrelated career. Even as simple as a "to-do list for
accountants". Put it on Github.

Email me if you have questions or want to pair program. I'm in my 30s so I'm
all about teaming up with other Gen Xers and showing these youngsters a thing
or two ;)

~~~
Brandrsn
Thanks for the Project Euler link. I've been learning JavaScript and these
problems (at least the few I've had a look through) could be interesting to
complete programmatically.

------
physcab
The big secret to programming is that all you need to begin is curiosity. 4
years ago, I didn't know how to program either. In school, I majored in a
completely different discipline. You don't need to have a CS degree, unless
you plan on being a software engineer for a large software company.

To begin, think of a fun problem. You said you don't think you have a chance
of creating the next Twitter, but why don't you try replicating some small
portion of Twitter? What makes Twitter complicated is the scale, but you can
create a very simple post-to-feed app and learn how to deploy it to a server
just by using Google and StackOverflow. Creating working prototypes of even
the simplest ideas gives you the courage to pick up more ambitious projects.
The cool thing about code is that you can always re-use (read: even straight
copy/paste is ok) what you've done before to further yourself in future
projects.

------
grantmc
I've been a computer science professor for 13 years and have taught thousands
of people. The average age of students is about 34. There is NO noticeable
difference in how fast young people (20) and older people (40) learn so don't
let anyone tell you that.

As far as being too late.... You are 35, you will retire in 30 years when
you're 65. You've been working 13 years so far in the other industry. That
means you have over TWICE as many work years left as you've already used.
You're only 1/3 the way through your working adult life. Is it too late? Only
if you plan on getting hit by a bus next week.

I do recommend getting organized classes at some point. They save you time,
keep you from creating bad habits and aren't that expensive. Your wage only
has to go up 25 cents an hour for one year to pay for one college class for
one quarter (3 months).

------
akg_67
I did it and so can you! At age 33, I switched to technology (not programming)
from a totally unrelated field (with three degrees in this unrelated field).
Late last year I learnt PHP and SQL on my own and with Twitter Bootstrap, I
launched a data analytics heavy web service that is being used by about 1,000
users.

My suggestion, start and keep it simple. If you are interested in web
development, pick up the simplest and easiest languages and learn the basics.
Pickup a Sitepoint or Head First book in that language.

Find problems in your unrelated career that could be solved by web service and
create solution. Launch it, introduce your workplace to it, use it as your
portfolio. If not, solve a personal itch, launch it and find users who have
the same itch.

In any case, you will have a site for your personal portfolio to go out and
get some freelance work or looks for job.

------
aantix
Exercises are OK, but eventually you're going to need social proof that you
can code.

Pick a side project that sounds interesting (sounds like you're into games),
figure out how to code it, and then put the source up on Github.

These side projects are going to be your portfolio of work, proof that you're
not an idiot and worth their weight in gold when you go to apply somewhere.

Good luck.

------
dlitz
You might want to take a look at Dev Bootcamp. It's a 9-week intensive course
that teaches its students just enough to make them employable, and then
connects them with interested employers:
[http://devbootcamp.com/](http://devbootcamp.com/)

Bloc offers a 12-week intensive _online_ course:
[https://www.bloc.io/](https://www.bloc.io/)

The idea is basically to give you "minimum viable training", so that you can
see whether a programming career is right for you, and then get paid to learn
more while providing a valuable service to your employer.

I think Dev Bootcamp pioneered these "bootcamp"-style courses, but there are
several of them now, and I've heard good things about them. Just make sure you
do your due diligence, since with the recent media coverage, there are bound
to be a few phoney scams trying to exploit people like you.

EDIT: Also, these courses are fairly new, and almost nobody in the industry
has any experience with this style of teaching, except for the people closely
involved with it. Most programmers will be useful sources of information about
the things you need to know that these courses won't teach you, but we
probably don't have a clue about the _effectiveness_ of these courses. Take
our opinions with a grain of salt.

------
whiddershins
I have been learning coding in dribs and drabs for the past many years. I
think if you have the itch, you can probably do it.

I have some strong opinions about what would get you the quickest results.

\- doing practical projects that interest you

plus

\- learning solid conceptual fundamentals, thoroughly

I would like to recommend, in the most enthusiastic terms, you peep this
course called: MIT 6.00 Introduction to Computer Science and Programming

[http://ocw.mit.edu/courses/electrical-engineering-and-
comput...](http://ocw.mit.edu/courses/electrical-engineering-and-computer-
science/6-00-introduction-to-computer-science-and-programming-
fall-2008/index.htm)

Just do exactly everything in that course. Follow the lectures, if the
lectures get boring do the homework while you're watching. Do all the
homework. Google language syntax but not specific answers to the problems.
Read the suggested stuff.

I swear, I kinda suspect a huge percentage of working coders do not understand
or apply all the concepts in that intro course.

At the same time, just pick personal projects and do them. Complete them. All
the way done. And move on, always to something a little outside your comfort
zone. Like, first just build a wordpress site, or wherever your current skill
level is.

If you do those two things and are having fun and sticking with it, you are
golden, I say.

;-)

~~~
cdvonstinkpot
Hey, thanks for the tip- I'm in the same boat as the OP, bookmarked the link
you posted & appreciate your advice.

------
srid68
Yes it is possible as long as you can overcome the initial difficulties and
please don't quit your Job or take unnecessary risk.

I was 29 years old when i changed from Mechanical Engineer to Software
Engineer after just a 3 months study of programming in C in Singapore after I
had emigrated to Singapore.

I was 43 years (2 years back) old when i decided to create my own product
based company and decided to do the full coding for it individually
(Foolishly) without any major experience in product development (I had
enormous knowledge of what to do as a Senior Project Manager, less knowledge
on how to do and did not have much practice in doing it (Programming))

Programming is hard but it gives you unlimited happiness once you overcome the
initial frustrations. If you want to experience the joy of building something
with your own hands as well as the sorrow of failure because it is not working
as you expect, just go to a beach and build a Sand Castle near the water. You
will experience the Joy of completing your Sand Castle and the sorrow of
destruction of the Sand Castle by the water and the ultimate satisfaction of
protecting your Sand Castle from the Vagaries of Nature.

The Joy of Programming comes from the Problem Solving aspects of Master
Building (Planning, Designing, Tuning) and the pain comes from the Brick
laying (Typing, Debugging, Testing) of the Implementation. Unfortunately Brick
laying is an Ocean littered with multiple languages, frameworks, ides etc.
Hence if you have an Objective to your learning Programming, you will easily
overcome the initial difficulty in learning programming. Eg. The objective for
your case can be create a website/mobile app to sell or display something.
From this objective, you can measure your progress as well as choose
appropriate multiple languages to master to achieve your objectives.

If you want help, please feel free to send mail to me.

------
rouan
I think you should learn processing and arduino, possibly before starting into
web. There are already a lot of web developers, and not enough
visual/electronic opensource devs.

To get started download and run
[http://processing.org/](http://processing.org/)

Paste in this code and click run. Start messing around and start learning if,
while, functions etc.

\--------------------------------------------

void setup() {

    
    
      size(640,480);
    
      background(15, 25, 25);
    

}

void draw() {

    
    
      stroke(255,255,125, 55); //RED, GREEN, BLUE, ALPHA 0-255
    
      line(320,240,mouseX, mouseY);
    

}

\--------------------------------------------

Then with arduino, very similar environment. About $20 for a board. You can
start blinking LEDs etc. Get an UNO board to start off with. File > Examples >
..

[http://arduino.cc/en/](http://arduino.cc/en/)

With an LED in pin 11 and Ground. Upload this code and rejoice.

\--------------------------------------------

void setup() {

    
    
      pinMode(11, OUTPUT); //sets 11 to output power instead of read in
    

}

void loop() {

    
    
      // put your main code here, to run repeatedly: 
    
      digitalWrite(11, HIGH); //switches on 5Volt
    
      delay(200);             //waits for 0.2sec
    
      digitalWrite(11, LOW); //switches off gnd
    
      delay(100);            //waits for 0.1sec  
    

}

\--------------------------------------------

After this I would recommend starting on nodejs/html/css since you can use
processingjs to draw in your browser, nodejs can connect to arduino and allow
for internet of things.

~~~
talmir
I would rather point him in the direction of a pic microcontroller, straight
AVR (without the arduino middleman) or maybe even one of the cortex boards out
there. Arduino has been made too "fool proof" with external libraries and
hand-holding to be any more valuable for learning programming than the average
hello world programming tutorial.

~~~
rouan
I respect your view, and cannot compare it to PIC as I have no experience with
it. You comment makes me angry though, because I've seen this view before from
others and I think it is false. Arduino has been immensely empowering tool to
learn, a joy to work with and the community is incredibly helpful and
supportive.

To back up this claim I am making, here is an arduino 3D printer I've
developed from scratch. I mean we milled the parts we needed based off a
reprap frame, I couldnt get the idiotic firmwares and code available to work
so I started with an arduino and a stepper motor and figured it out.

[https://github.com/fluentart/arrowprint](https://github.com/fluentart/arrowprint)
I'm a self taught artist that got interested in code so I don't claim to be
good at it, as I really have no base to compare my quality of code to others
except for the end result and the process of it for me personally.

Please tell me how a pic would be better? I am eager to learn.

------
coryl
Hell yea you can do it, you just need to stop day dreaming and start applying.

I learned to make apps in less than a year with no CS education. Granted, I
dedicated my days and nights to it. You don't need to learn ABOUT web
development, you simply need to just DO web development. Make a form on page
with HTML. Stylize it with CSS. Make it insert something into a database with
PHP/MySQL. There are tons of simple tutorials for these kinds of things.

If you've seen the very first iterations of Facebook and Twitter, they are so
simple that any modern beginner programmer could actually clone their
features. You could even make that your first project, a basic twitter page
that stores form data.

Build the simplest versions of your ideas. What's important is that you hack
enough to get shit done, and have fun doing so

------
ChrisAntaki
The key is enjoying it. From there, you'll naturally dedicate the time
necessary to kick ass. Because you'll enjoy having that power to create.

------
wikwocket
I think the advice in another thread here may be valuable to you: Ask HN:
Becoming a Freelancer in 6 months?
[https://news.ycombinator.com/item?id=5945865](https://news.ycombinator.com/item?id=5945865)

Particularly the Wordpress advice. Wordpress is a good example of something
where someone with no programming ability at all, but an interest in technical
work, can gain some (marketable!) skills, and then segway into actual coding
experience (PHP in this case).

But the short answer is, there has never been a better time when software
development was more accessible to learn, or more useful and marketable, and
both of those needles are moving in directions favorable to your interests!

------
nnq
You're basically me when I started programming seriously at ~25. Get at fast
as you can to a point where you can mingle with other programmers to talk and
have your skills assessed by others and also get as fast as possible to do
client work, even if you do bad work and screw some clients at first (you can
start feelancing with sysadmining, then web-programming then whatever you're
good at and you like...).

Now to be fair, I learned some C++ in high school (nothing beyond algorithms
and solving math problems by coding though), and I think I learned HTML in 7th
grade and also touched Javascript in high school, so I had a "base start", but
then went on to a whole different field and turned back to coding about 8
years later.

EDIT+: And there's no reason you won't create the "next Facebook or Twitter",
at pre-scaling stage they were both very simple technically speaking, what one
could learn in a couple years starting from absolute zero, no need for
Stanford level CS knowledge here... if you have a great idea (99.9...% of
people _don 't_, even if they think they do!) you can turn it into a prototype
and then turning the prototype into a real business can be more about business
skills not coding skills, because an interesting idea that brings profit will
always be scalable because you will be able to hire smart people to scale it
for you. And at the end of the "day" it will be your choice whether you'll
decide to play on the business side or coding side more.

------
krapp
I'm 36 and more or less in the same boat. In a few years' time I've managed to
start making money fixing up javascript, making custom themes and plugins for
wordpress, and I set up a github account. It's definitely doable. Just get
something _out_ , get some projects, network with people. I have yet to
actually meet anyone who cares about age... they're probably not going to
unless they're like 20, or you're 80. Don't let your age stop you.

------
pavs
I am not the same boat as your, couple of years younger and recently started
with php. Well I am not there yet, one month in to my serious attempt (I have
tried several time not-too-seriously), I can say and feel that its definitely
possible to learn to code in a single language in a reasonable time.

I think it boils down to your attitude towards it and how much you are
motivated to learning. I spend only about 1-2 hours every other day. One of
the mistakes I made was trying to decide which language to learn first, I
would say it matter very little; the reason I decided to try PHP (despite
having many naysayers), because of huge size of its community, easy access to
free materials on the web and get any kind of help I want to and also because
how relatively easy it is to learn PHP. I also looked in to other programming
languages a bit (code snippets) and general impression I get is that once you
have a good understanding of one programming language its very easy to pick up
other programming language (yes, even with php), because despite its
differences the general idea behind most programming language is the same.

I would also spend a week or so to learn git/github even if your are coding by
yourself and learning very rudimentary stuff.

I would say go for it, stop wasting time deciding which language to learn,
pick one and jump to it.

------
yashg
There is never too late to get into programming. It's a wonderful field that
welcomes anyone and everyone with open arms. :) Don't worry about degrees or
anything. Just get your hands dirty and you surely don't need to quit your day
job either. You still need to eat and pay bills.

Don't get into thousand things. Start with basics - HTML, JavaScript and one
of the scripting languages - PHP, Pearl, Ruby - anything. Pick one and stick
to it. All are equally good. Then start making small projects. Make a tic tac
toe game in JavaScript. See what difficulties you face, ask for help and solve
the problem.

Register on sites like eLance and oDesk. See what kind of projects people
post. You don't have to bid - you will probably won't win a bid against a full
time pro developer. But see what people are looking for, try to build it as
your side project. Try to find an idea where people will pay.

Make a simple todo list app - almost every programmer makes one in his/her
lifetime. Release it as a free web app. See the traction. Add features and you
will learn more. Some day you will come across an idea that you think you can
build and people will pay for.

Polish your programming. Don't worry about using the latest framework or
knowing everything about a language. Just get the shit done.

Get started from today.

------
MortenK
It's definitely possible, here's a real-world example. A highly valued
employee in a (relatively) small, software development house had a very varied
background. He had been dabbling in tech, but really came from all sorts of
manual labor jobs. It wasn't until he was 40-45 that he got a bit more serious
about IT. Learned a bit of HTML, a bit of Flash, a bit of graphical design
(this particular guy had always enjoyed drawing) etc.

He got hired to his first IT job when he was about 45 if I recall correctly,
and I was at his 10 year anniversary some years ago.

This particular guy is not a star developer or star graphical designer, but he
is sufficiently skilled as to build the websites, make design for their more
complicated web apps, taking charge of the e-marketing production, internal
support etc etc.

He is extremely valuable to the business due to his variety of skills, but I'm
sure he could also have become very accomplished in one discipline, if his
interests had been more focused.

Really, it's possible. The great thing about software development is you can
learn pretty much all of it on your own.

It does however require a real interest and determination, because self-study
is tough and it takes a lot of hours of both study and practice to become
valuable to an employer.

------
adrow
Go for it, I was in exactly the same situation. I can't call myself a
programmer yet, but I work alongside them and I'm on the ladder in an industry
where I can attempt that move in time if I think it's right for me.

I was stuck in an office admin career at 32, hadn't been to Uni, and my
employer had no real interest in my attempts to develop my skills. I took some
online courses, hosted and created my own sites, where I blogged about things
I knew.

Everything I did I put on a CV geared towards showing my technical skills and
how I was trying to develop them.

Eventually my CV was passed to a tech company looking for a graduate. I was
able to show that the 10 years of office experience I already had was just as
valuable as a degree, and my CV showed a willingness to learn and better
myself through my own efforts. I was doing this because I really wanted to
make a change in my life, and they could see that.

In the three months I've been here I have learned even more about web
development and can already see many opportunities for advancement down the
line.

My main regret is that I didn't do it sooner, I spent a good few years moaning
about getting a new job but not really putting any real effort into it.

------
sfscs
Absolutely! I'm 29, college drop out. Always liked computers, but never really
programmed. Didn't do much for years, then just dove into php about two years
ago. A year and a half ago, I got my first tech job making web site updates.
That's when I really started learning a lot. After a year, the guy above me
quit and now I'm the department head (though small department, lol). It feels
like once I got my foot in the door, everything fell into place-- so that is
the hardest part for sure.

Now I am starting to venture into other languages like Ruby and C in my spare
time and I am excited to see where I'll go next. I know you are older, but its
a similar story. Really, as long as you are into it, you will catch up in no
time. And once you do it for a job, you will never look back. If you need a
boost, take some online courses, go to meetups, sign up for a web development
bootcamp. Meet other people who do web, you will find that a lot of people
doing it now didn't start life as a programmer either.

~~~
shire
Just curious how much you make as a PHP developer? maybe there is still some
hope out there for PHP programmers to make good salary.

------
zachlatta
In short: absolutely!

One of the many things I love about programming is the lack of an
age/experience barrier. No degree is required and anyone can get started at
any age. If you shoot me an email at zchlatta (at) gmail.com, I might be able
to work out someone for you to put your name on, depending where you're at
with web development.

------
flojito
Yes, you can. Just go for it!

I got it when I was 30 years old and you know what? I use the programming
skills I have now plus the knowledge aquired in my previous job. The result is
a programmer who also is a specialist in X or a X specialist who can develop
software in this field.

~~~
opinali
Super +1 for that, the dual-field advantage can easily compensate the belated
entry into a new market. For an easy example, if your current career is in
anything related to finance / banking, there's a ton of jobs for developers
who also have deep understanding of this business. Indeed, you can find
yourself in advantage over younger, better-trained hackers whose single
expertise is with programming.

------
shire
I definitely think it is still possible, in this era there are some great
courses online even better than some schools if I must say. Try Udacity,
everything is mainly in Python there and HN loves python so that would be a
plus. But in all honesty I would start with PHP and MySQL if I was you, mainly
because you will not only be able to find a job right away once you learn
those two but you can make web sites very quickly and the learning curve is
very easy comparing to say Java or C++. Plus with PHP and MySQL it will start
you the way to learn about server side programming and building dynamic web
applications and be easier to learn Python or Ruby ( on Rails).

------
christiangenco
Absolutely possible! Here's some more inspiration:
[http://tedxtalks.ted.com/video/You-Should-Learn-to-
Program-C...](http://tedxtalks.ted.com/video/You-Should-Learn-to-Program-Chr)

------
mping
Yes, yes, yes! Like some guys said, you must enjoy it. It's the key to
success. Also, if you have enough blessings to find a mentor, that would
really make it easier! There's a huge difference between programming
(hacking), engineering (requires study) and computer science (easier with a
compsci degree). You want to be a hacker, ie, to tinker with programming until
you know enough for someone to pay you. That's what most of us do anyway.

To keep you inspired, I know people from all walks of life who have become
very good at programming (and related). Drop me a line if you want, I'll be
happy to help.

------
olalonde
This is probably an unpopular opinion but I have the impression that like
music or natural language, programming is far easier to learn when you are
younger. That being said, there are lots of counter examples and it is
definitely possible to get to a professional level on your own, within a few
months, no matter your age.

The most crucial thing when learning programming languages is to have a very
short feedback loop: _build something in that language_ as soon as you know
just enough to get by. The rest can be learned "just in time".

Go for it and good luck!

~~~
krichman
I don't know why you've been downvoted. What you wrote is not what I'd like to
hear as an adult, but based on what I've read it's probably true.

------
tista
Yes yes yes it's possible.

Coding/programming is as complicated as building Facebook or Twitter but also
as simple as wanting to get some daily tasks done like grocery lists.

If you dont know how to do something in language x, probably someone else
knows. Any language you'd want to use, the logic stays the same, the
implementation that varies. Hello Worlds should always be a thriller.

Bottomline, coding is simply a means to an end.

[http://www.bango29.com/go/blog/2013/means-to-an-
end](http://www.bango29.com/go/blog/2013/means-to-an-end)

------
KennyCason
Yeah you definitely can. My mom was around 40 when she started studying
programming. I'll never forget when she called me asking questions about why
her Visual Basic code wasn't compiling! I had no idea she was even studying
it! Needless to say that have us a lot to talk about haha. I don't think it's
really ever too late to start learning anything. Even if you don't "master"
it, it's still just fun. Also, something like programming can help you improve
almost any monotonous computer task. :)

------
vaisakh
First of all, I appreciate you are still willing to learn new things.That's
the key.Knowledge is everywhere, not inside in a library room of some
university.If you love to go with programming choose the right technology that
may make you reach somewhere.Your confidence is the key.Just go ahead. Good
luck,oh in fact there is no luck.Only hard work bring you the result.I'm not
the one to give you lectures, I'm just 24 running.Go ahead and ofcourse you
should be taking care of your family. :)

------
bingodingo
Well, I received lots of good information here. I appreciate everyone's
opinions on this matter. I have been busy bookmarking the sites people here
pointed me toward, and copying email addresses. Also just to clarify, I am not
necessarily looking to be a "web developer" I figured it was a place to start
with HTML/CSS on into Python, Ruby, jQuery etc. I figured it wouldn't hurt.
But with your help and links like learncodethehardway.org, I have some good
places to go and dig in.

Thanks again.

No Halo tonight...

------
crististm
If you need to ask then you can't.

I have a relative that five years ago was choosing his major and it was not
CS. Now he wants do do computers but has no other background than hanging on
the net. I know him better than you and I don't think that he would do much
programming.

My take is that if you want to do something, you don't need HN permission or
approval. Just do something and see if you can do it and have the guts to take
the take downs.

------
alexcsm
Hi!

I've been a software developer for almost 6 years now, and I have a friend in
the same boat. You can definitely switch, and you don't necessarily need a
degree.

Check out my reply and the tips I had for him. Hope you find it useful!

[http://alexanderle.com/blog/2013/mail-how-become-software-
de...](http://alexanderle.com/blog/2013/mail-how-become-software-
developer.html)

------
waster
As someone who has a similar experience to yours, I say go for it. I have
found coding to be tremendously transformative and empowering.

------
realize
The best way to learn is by doing. Set yourself a small goal, perhaps a
website with a database back-end. It doesn't matter how good the final product
is, you will learn loads by making it and having to research each thing you
try to do. The version of the product you would make after 6 months will be
far in advance of the one you make after 6 weeks.

------
mr_spothawk
I'm 32 this month. Similar situation, but about a year into studying part-
time.

I'm looking very seriously at the Immersive Tech Schools that claim "12 weeks
to being employable". No idea how well it can work out for me... but here's
where I started:

[http://www.quora.com/Hacker-School](http://www.quora.com/Hacker-School)

------
yoshgoodman
Ask HN: I want to learn how to code. Can anyone tell me how to start
learning?:
[https://news.ycombinator.com/item?id=2699965](https://news.ycombinator.com/item?id=2699965)

Learn Python The Hard Way:
[http://learnpythonthehardway.org/book/](http://learnpythonthehardway.org/book/)

------
lsiebert
Sure. Heck, the Coursera class, startup engineering, is still taking new
people, and it's free and strongly supportive of working professionals.

Don't expect miracles. You will always be learning more, and people who have
been doing things for longer then you will know more, even if they are
younger. Measure your progress based on your own abilities.

------
dome82
Yes, absolutely! My brother has your same age and is learning programming for
the first time. He started with basic HTML and CSS and now, he is enjoying
learning Javascript but already looking forward for some backend coding.

He started with some really basic books, but he switched to Codecademy some
weeks ago and he really likes it!

Good luck! :)

------
Qantourisc
Yes, but do us all a favour and learn it properly. Seen to many so so
programmers in my life creating unmaintainable insecure software. Learn about
indexes, floats VS integers, sha512, correct password hashing, memory leaks,
memory footprint, network stacks, design patterns (guilty of this one myself),
...

------
vertis
Just last week we offered a job to a guy that has spent time as a CFO (among
other things), and lately decided to switch to ruby programming.

If you're willing to come in as a "junior" developer then you will quickly
progress based on the other experiences and value you can offer.

------
jacknews
Are you prepared for an enjoyable hobby to turn into a daily grind?
Programming is great when the you're just toying around, learning new things,
or you're working on something interesting. Debugging some corporate
accounting app or pet-care website is much less so.

------
rumcajz
It seems that everyone says yes. On the other hand, programming requires a
pretty special way of thinking. Given that brain tends to be less malleable at
35 that it is at 18 it may be harder to catch up. Not undoable though.

------
cdvonstinkpot
I found this online training for git, it actually works offline too:

[http://gitimmersion.com/](http://gitimmersion.com/)

I haven't taken the time to do it all yet but I'll get to it one day.

------
Kaizyn
Yes, this is perfectly viable and reasonable. Best of luck to you!

Consider this blog for example:
[http://grannycoder.blogspot.com.au/](http://grannycoder.blogspot.com.au/)

------
eru
For learning programming, you might want to join and contribute to an open
source project. They usually keep aside some menial work for enthusiastic
beginners who want to work their way up.

------
bobbyongce
you can absolutely pick up programming on ur free time. many of the best
programmers are self-taught. i recommend completing udacity cs101 and the
udacity cs253 to have a strong foundation in programming and web app
development. after you complete these courses i'm sure you will be confident
enough to pick up a web framework tutorial like django or ruby on rails and
continue from there.

consistent learning every few days for a few months will set you to mastery in
a year or so. good luck with learning!

------
lukeck
Sure it's possible but like learning any skill it will take time. You're
obviously enjoying it, otherwise you wouldn't have put in the learning you've
done so far.

One of the interesting things about software development compared to many
other professions is that the field is still so new that people can have very
successful careers without having done a degree.

Another interesting aspect is that software affects virtually every other
field so there's opportunities for people coming from all kinds of
backgrounds.

Given your current situation, I'd approach it as a hobby for now. Try to come
up with little projects that are related to other things that interest you, or
that would make your current job easier.

As you learn more and gain experience, try to apply your new knowledge to
slightly more complicated projects, or to improve or redo past projects.
You'll find the whole thing more rewarding if you do it in a way that you can
get some direct benefit out of your work. The trick here is picking the right
problem to solve. People often pick something that seems simple on the surface
only to get discouraged and give up when it turns out to be more complicated
than they first thought. Just try not to bite off more at once than you can
chew.

Keep your eye out for opportunities to help solve other people's problems but
again remember to keep it simple. Also keep in mind that their view of the
problem and how it should be solved will be very different to your's. Learning
how to manage this is a very valuable skill in itself.

Eventually you'll get to the point where your knowledge of development is that
you can charge other people to apply your expertise to solve their problems
for them. That's all a professional developer is.

At some point consider doing some more academic or abstract study. You don't
have to do this right away, or formally at a college or school. The courses on
sites like Udacity, Coursera and MIT Open Courseware cover a lot of the same
stuff. While these courses will dive into areas that you won't use every day,
they do give you a good overview of how everything fits together so you know
the right questions to ask and the right places to look when you hit
unfamiliar problems. You can get a long, long way without doing this at all
depending on the type of development you want to do though.

Software development is a huge field so just keep learning whatever interests
you and keep applying it to solve problems in other areas of your life. You'll
get to enjoy the benefits of what you make and with persistence might one day
be able to sell what you've learned to other people.

------
arisAlexis
+1 to all ppl that said don't go for web development, it is a saturated field
of programming right now

------
GigabyteCoin
"Whether you think you can, or you think you can't; you're right." -Henry Ford

------
meritt
Yes. Knowledge > Degree.

~~~
wunna
Knowledge >>>>>..n Degree

------
bmmayer1
Yes.

------
SoCool
yes

------
checarsner
short answer: Yes. long answer: Yessssssssssssssssssssss.

------
angersock
If you can instruct a small child on how to build a birdhouse, you can program
a computer.

And the computer won't even scream at you.

------
hga
Lots of terrific advice here, and I myself am mostly a self-taught programmer,
I've only taken 3 formal courses, all introductory. I'd only add:

" _Maybe I would be confident in my skills to apply to some tech jobs. Or do
some freelance work_ "

Don't expect to get "normal" tech jobs by the time you're good enough unless
you can disguise your age, age discrimination is fierce in this field. But as
noted by you and many others, there are many options.

I'd also add that at some point unless you've forgotten all your math and
don't want to refresh it try _Structure and Interpretation of Computer
Programs_ (SICP)
([http://en.wikipedia.org/wiki/Structure_and_Interpretation_of...](http://en.wikipedia.org/wiki/Structure_and_Interpretation_of_Computer_Programs),
[http://ocw.mit.edu/courses/electrical-engineering-and-
comput...](http://ocw.mit.edu/courses/electrical-engineering-and-computer-
science/6-001-structure-and-interpretation-of-computer-programs-
spring-2005/)), everything you need is free and online. If it's a good enough
fit for you it will teach you some foundational things that'll make you a
better all around programmer and system designer. E.g. one way or another
learn big O notation
([https://en.wikipedia.org/wiki/Big_O_notation](https://en.wikipedia.org/wiki/Big_O_notation))
and its significance.

Over time, get some breath. In my book that means try to learn the basics of
these languages and concepts and their typical environments: Lisp and
recursion (see SICP above, or alternatives on the Wikpedia page plus
[http://www.amazon.com/The-Little-Schemer-4th-
Edition/dp/0262...](http://www.amazon.com/The-Little-Schemer-4th-
Edition/dp/0262560992) specifically for recursion), C and pointers, HTML,
Javascript and browser programming, and some database work, SQL/RDBMS
preferred, I recommend PostgreSQL over any of the MySQL variants, but a simple
key/value store or embedded SQL database would also get your feet wet. If you
learn recursion and pointers you'll be way ahead of most people who believe
themselves to be programmers.

Good luck!

