Ask HN: Chances for Restarting a Career in CS @ 30+ ?
now, i'm 31. i did some cs certificates offered by edx/coursera within the last 12 months (MitX: Introduction to Computer Science and Programming Using Python, Introduction to Computational Thinking and Data Science; BerkelyX: Engineering Software as a Service; HarvardX: CS50...).
and i'm totally addicted to coding - even when i notice my lack of math skills. i spent the nights trying to understand cs concepts and couldn't sleep or stop before i found a solution (sometimes i did not sleep the whole day).
sorry for the long prologue, but i thinks it's important for my main question:
do you think, it makes sense to study computer science at the age of 31? or is it too late? do you have some experience with that? or do you work at a human resources department and can tell me if there is a chance for those kind of people?
62 comments
[ 1.8 ms ] story [ 125 ms ] threadThe fact you're still learning something radically new for you at 31 means your soul hasn't been crushed. Stay that way!
I took a couple years not coding after a stress attack, and just recently I've been getting back into it. Entire days debugging, writing, learning; it's the biggest joy I have in life besides music and my two guinea pigs. It's also the most creative and powerful tool suite I have. Maybe it's like that for you too.
I had a dilemna in my late teens, I thought it was too late to learn to program. Most of the best people I know of started around age 11. I decided I would never become a programmer, I just couldn't compete. Then I went to university and by chance, took an intro course, had a good prof, and learned anyway. I still can't compete, I only got one short job as a programmer, but I'm a lot happier for understanding how the Internet works, and my computer, and cpu design, and... everything.
So, I don't know at all how your age will affect getting hired. Maybe just don't mention how recently you learned to program :]
Regardless, I'll bet your life is more worth living for having learned more computer science, so at least for that, keep it up.
Ok, not true. At this moment the company I work for employs mostly young people; i.e. twentysomethings and an oddball 30-35'er. I would actually prefer to hire a 30-40 y/o at this moment; even when lacking a bit of professional/coding experience.
In my opinion: Don't let the big junior-level hiring pool full of 20-30'ers discourage you.
I've heard many canned responses to this, mostly about youngsters having more energy and in some way that extrapolates to having more "potential" or being better for a company. But my question here is, really?
How can age alone tell you about how well a person is going to perform or how valuable of an asset he can be to a company? After some thought, I agree it is one factor, but I still maintain doesn't entirely make a case for or against anyone. In fact, I feel it's kind of unfair to those over who are "less" preferred in startup jobs. If a person is willing to learn, has talent, and is passionate — heck, give him a shot.
I'm not accusing you of doing so, just pointing out a trend. And BTW, I'm 18 years old.
You obviously have more experience in hiring (maybe even firing) people, so could you tell me if I'm right here?
You're - again IMO - right about it being only one of the factors.
The reason we hire mostly 'youngsters' (damn, never thought I would say this before reaching 30 myself) is that 'they' are more readily available. I'm in no way saying that young people have more energy, are more driven.
A reason you MIGHT consider - which I consider applicable to myself as well - is that as people 'age' their priorities shift.
I have to young kids at home (2 y/o and 5 w/o) and I consider them my absolute number one priority.
Most people in their early twenties don't have to make these priority considerations and are 'likely' to be more dedicated to your company (or at least appear to be). On the flipside: I guess twentysomethings are easier to ditch your company and leave for a better paycheck as well.
That's why I'm saying that I never really take age into consideration when considering a candidate. It just isn't a factor for me.
For me, most imporant things are (in no particular order):
* Cultural match (/ Social skills)
* Drive (want to learn, want to make stuff)
* Pragmatism
* Tech skills
Keep at it! And, welcome to the community!
"What hackers and painters have in common is that they're both makers. Along with composers, architects, and writers, what hackers and painters are trying to do is make good things. They're not doing research per se, though if in the course of trying to make good things they discover some new technique, so much the better." - http://www.paulgraham.com/hp.html
All I can say about this is that I'd be doing this no matter my age. I love it and I'll continue to do it without ever doing it as a career. Screw what everyone else thinks, be a man. You should take the same attitude. I decided at a certain point, I'll just do it on my own for my own clients if I have to. Make your own job. But knock off this 'am I too old', you're just out of diapers bubba.
Real work with real people should be useful. You get to demonstrate ability to collaborate, sometimes with difficult people.
I work for a company with a lot of young programmers and I recently hired a bright guy in his 30's who decided change career paths.
Do what you love and work on side projects that you will love. It will go a long way in an interview if you can bring us and show off something that you loved working on.
So by all means, go for it. It might be a little more difficult to find a job than a younger person, but you'll manage. Good techies are always in short supply.
That sort of thing sounds terrible to people who're recruiting. The fact is being good at making software is about 20% actual coding ability, and 80% being diligent and organised, communicating with other people, and willingness to trudge through boring tasks like writing documentation and attending meetings. Faced with two candidates, one of whom is all "I love coding and I don't sleep if I'm working on something!" and the other who is "I like coding, but I put it to one side in the evenings to socialise, watch movies, read books" it'll be the second candidate who gets the job every single time.
If you want to get your first (or second, whatever) job writing software concentrate more on the 'getting a job' part than the 'writing software' part. Demonstrate skills that will show you're a person who is nice to be around. At the beginning of your career that is far more important than being able to solve hard problems, because the 'solving hard problems' bit is going to be someone else's job.
I'd say something like "I'm passionate about coding". :-)
I would suggest you take a semi-ambitious software-related goal that will nicely showcase your skills, and achieve it. For example, if you want to be a web dev, make a web-app that will allow people to order food online/in a restaurant using their mobile phone. You'll learn a lot in the process, and it will serve as a proof that you're capable and not a bullshitter to potential employers.
My strategy would be: learn one language very well, preferably a practical one like Javascript/Ruby/Python/C#/Java, do a small but significant (don't spend more than a month or two full time on it) open source or MVP project in it. This project will be your portfolio. Make sure you know at least the basic syntax of those 5 languages so you know which will suit you best.
After you have your portfolio project, you can be confident in applying for a job, if you picked one of the first 3 languages you might want to move to a big city like Munchen or Berlin that has lots of young companies to improve your prospects.
The key to being a good programmer in my opinion is to know about as many techniques and solutions as possible. This is why even during your process of learning your primary language and acquiring your first job, you should allow yourself to be distracted by fancy techniques and impractical languages. Learn languages like Haskell, Lisp, Erlang, C, don't become proficient in them, just enough to understand why they exist and why people love them, perhaps pick one of them up as your secondary language.
Also read a few of the good books you would get to read if you had done a university. IMO read "Computer Networking: A Top-Down Approach" by Kurose, and "Operating System Concepts" by Silberschatz. Unlike most CS books these are very practical and easy to read. If you'd really like some more heady stuff, try "Computer Algorithms" by Van Gelder. Although it's sort of out of fashion I think I have to recommend "Design Patterns" by Gamma (gang of four) as well.
Perhaps I'm an optimist, but I think if you're focused you could do all these things in under 6 months. And you would have made a great start as a programmer. On a university you'd spend at least 3 years doing this, 3 years you could also spend getting real experience, making a living and perhaps start a family. In my opinion that would be a waste. If you really aspire for a degree, why not do it when you retire? Also if you must study now, consider a Fachhochschule, as it would focus more on coding than on maths and other side acts of CS.
Good luck, and if you need more book recommendations send me a message.
* Graduated at 25 * Worked editing photos of sports apparel for 3.5 years. Spent most evenings coding what I could and making things that were useful at least in theory (ridesharing web app, etc.) * Got a terrible job at a content farm in LA (not the one you're thinking of) working in ad trafficking. Took a pay cut to do it. Made a lot of tools with the the Google DART API in Java saving the company hundreds of thousands, which meant they were willing to let me continue on these wacky side projects. * Got another job as a Technical Account Manager based on my work in HTML/CSS/JS and Java. Product flopped, but the experience was great. Learned Python and Django while I was at it * Moved to Ireland on a lark on a working holiday visa * Got a tech support position at a domain registry (not registrar). Stagnated a bit since nothing was going on yet without any domains being released, but practiced while I could, in particular brushing up on network knowledge * Was recruited by and accepted a position at a PaaS company in Dublin as a support engineer, at roughly triple the salary I was at in LA. I spend most of my days working with iOS, Android, and Unity SDK's. I do a lot of debugging by trawling through logs. Have worked with Mongo quite a bit for this.
I am 31 - but the part where I got the crap job in LA I was 28, so I don't think you're too far off. Also, I'm not a "developer", but I hope I can become one in a few years' time.
I also think going to Defcon every year for the last 5 years helped quite a bit too.
Writing good software is very much about abstract thinking and good language skills. I think you'll find that the things you learned studying literature and philosophy may be a lot more applicable that common wisdom suggests.
- philosophy is in a way a perfect alternate education path for a programmer, as it trains analytical skills and critical thought.
- it also usually gives you communication skills that are rare among computer people; you are probably able to express yourself in a more appropriate and fluent way than most other people applying for the same jobs, and this is something that can really work for you during an interview, as long as you go in confident.
- as a last bonus, it can show that you are really passionate about programming, and you're not another run-of-the-mill guy that got a CS degree as the safest way to be sure to have a paycheck at the end of the month.
If you find a way to make interviewers consider all these things, I think you'll land a job in a reasonable amount of time.
'Career in CS' = MSc then PhD then postdoc in CS, making you ~ 40 when you will qualify for ~E2000/month jobs. So yeah, too late; also, not worth it (but that's a different topic).
'Being a programmer' = hitting the pavement hard to land your first job, transcend 'junior' status in 2-3 years. There are plenty of corporate programming jobs you can talk yourself into at your age.
Then there is 'I want to do only cool and hip things with computers and get paid well for it'. That doesn't have anything to do with age - or maybe a bit, but either way, it'll be a long hard road ahead.
Still, there's a difference between working as a developer/architect/engineer -- and doing CS research. I'm guessing op meant a career in "software engineering", not "computer science".
Probably ludicrously low for Germany/Switzerland/Nordic countries, likely on par for Spain/Italy/Portugal (and maybe Eastern Europe ?).
Company and sector also factor heavily, and number of paychecks as well (in Spain/Italy is common to have 14 paychecks for year).
Edit: Also, depends whether we are talking about pre or after tax (I assumed the latter)
Also I meant 2000 pre-tax, but when I look at it, it seems that in some Western European countries you get paid more; like 2500-2800 pre-tax (I know several postdocs in Southern or Eastern European countries who would jump with joy with 2000 pre-tax though).
Don't think a PhD means you will earn a liveable wage! I personally know of a post-doc in economics (not paid like CS I think, but certainly normally one of the better-paid fields) who came from Eastern Europe to Belgium where he qualified for the equivalent of welfare payments ('leefloon'), which basically meant he made less than 817 euros a month!
I never read op's post as an "actual" "career in computer scinece", more as a "career in software after maybe taking some CS (be that bsc ms phd or just a few courses)".
As for a post-doc in economics -- I would expect them to make more than minimum wage -- but again, if the goal was to make as much money as possible, I'd assume working as a consultant for Pwc or somewhere like that would be much better paid than continuing doing research in academia. Very different career goals though!
However, if you are competent and can stand the poor development tools (I couldn't) then I suspect you could do pretty well....
Same goes for a lot of big-ticket commercial applications - mainly CRM and ERP, they exist in their own wee worlds of complex requirements, poor tools and high daily rates!
Not personal experience in the sense that I took that route, but in the sense that I know plenty of people in positions like that.
Then again, fuck some anonymous dude on the internet like me - for all you know I could be a bored 13 year old pimply-faced teenager in Boca Raton trolling would-be academics online during his civics class. Check out job posts for postdocs on university websites, your eyes will start welling up when you see the salaries advertised there.
Now I'm 44 and working my first job as a .NET developer, and I've never been happier. I have encountered no resistance to my age, quite the contrary: I've never felt more welcomed and encouraged than I do now in the coding community.
IT is changing rapidly, and you hear that all the time. But it's not just changing technically, it's also changing socially. That's very important to remember. If you are smart, and if you have the "knack", and if you work your butt off, and if you have a modicum of charm and social polish and confidence, you will have no trouble getting a job.
The world of coding is not monolithic. It is not homogeneous. To put it tritely, it is amazing how diverse a room full of coders can be....
I'm a team lead now, and if anything, I see younger devs as a liability. IMO you gain a certain level of pragmatism and persistance from working on large (crappy) code bases for a few years. When faced with challenging bugs, I see some younger devs giving up too quickly.
It takes time to develop the 'large code base skill', and I'd rather not solve you're bugs while you do. Especially if you're telling me how great language X is, and we should move to it.
From there, once you start working, you can choose to work 35h per week, and spend the rest of the time teaching yourself more skills.
I feel pretty lucky to have stumbled into this. I think it's mostly repeatable with the right company -- small, probably not a traditional development house or major corporation (the company does a lot of industrial automation, PLCs and such, I do the PC side).
FWIW, you're exactly the kind of person we hire.
From 2003 to 2010 I built LAMP stack bespoke websites for a modest living and then joined a startup that was using Ruby-on-Rails.
Now I make > $100K and get job inquiries twice a day.
It is definitely possible to make such a career change, but it is challenging to find just the right environment to be able to do it and still make a living while learning. For almost a decade I had to rely on my non-programming work skills to still have value to an employer while learning. For me this was Desktop publishing and light system admin work. It was also difficult to find increasingly complex real-world projects to work on to push me to learn more.
If you are capable of continuous learning,and computers are a real passion then nothing is impossible.
Prior experience in a sale or management position can even be a plus to your resume.