Ask HN: I am 35 years old with no degree – can I still program?

57 points by bingodingo ↗ HN
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.

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't try to learn about it.

Realistically, I am not planning on quitting my day-job....

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'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'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's not why I am interested.

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?

71 comments

[ 4.6 ms ] story [ 162 ms ] thread
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

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.

"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...

React to unpredictable market changes aka nerfs/buffs ...
Patrick's words could not be more true. Just three months ago I was making literally $0. At that point, I had some programming skills and the desire to make money with them, but I had never really followed through with anything. That's when I decided to change things. Through hard work (although less than I expected) and literally going outside and meeting with people, I was able to make $900 in a week. This might seem like not much, but as a broke freshman college student, I was blown away. I have since grown my business endeavors, and am currently making $X,000/month and saving for life after college (I hear it's expensive).

Seriously. To anyone considering getting into software for pleasure, money, personal growth, or any combination of the former, go for it!

> A reasonably smart person can go from knowing nothing to knowing enough to build things people will pay for in probably under a year.

This is so true. While you won't get to expert status on everything related to programming in one year you can learn enough about a certain language/API to build products.

And running a software business is really more selling and marketing than programming anyways.

> if you have enough time to run a WoW guild ...

Been there, done that. This statement is also incredibly true ... now I'm thinking about suing Blizzard for the three years they robbed me ;)

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.

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.
(comment deleted)
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.
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.

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.

"Whether you think you can, or you think you can't; you're right." -Henry Ford
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.
Yes. Knowledge > Degree.
Knowledge >>>>>..n Degree
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.

(comment deleted)
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.

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.

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.

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.
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! :)

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/

Bloc offers a 12-week intensive online course: 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.

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!

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.
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!

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. :)
As someone who has a similar experience to yours, I say go for it. I have found coding to be tremendously transformative and empowering.
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

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!