I'm the exact same age. It's too late to <i>restart</i> your career. You don't want to be lumped in the same pool with the clueless 22-year-olds with little skill, little life experience, and lots of mindless energy. They will beat you at the grunt game. Chances are, you have an edge over them in other things (due to your life experience) but you may not have figured out exactly what that is yet.<p>Though it's too late to <i>restart</i>, it's not too late to <i>resume</i> your career. It's a matter of how you present yourself and what you are trying to do. You can't devalue your own career path to this point. You have to be able to make the case that it's relevant to the job. Literature: you developed an aesthetic sense by reading well-crafted fiction, and you have a sense of narrative. Philosophy: you're used to ordered, logical, methodical thought and you've applied it to a wide array of human problems. Failed IT startup: you've seen how companies operate in good times and bad (OK, maybe just bad) and developed leadership skills (transfer over different experience if you have to). EdX/Coursera: you're capable of learning hard material on your own. A lot of people play around in Coursera, but people who actually finish hard courses are pretty rare (and that's not a flaw of Coursera; it's just an artifact of how people explore and think).<p>I think every programmer in machine learning feels a "lack of math skills". I was very strong in math in high school and college, placed in a few national math competitions, and sometimes even I struggle with machine learning papers. Keep in mind that you're trying to absorb a month or few (or years) of someone's work in a few hours. (I studied pure math, so I hadn't gotten "down and dirty" with linear algebra for years when I started studying ML.) Except for the full-time category theorists and advanced probabilists to whom gnarly integrals come naturally, we all feel inadequate here. If you just keep studying and keep sharp, you can get yourself ahead of 95% of professional programmers quite quickly.<p><i>do you think, it makes sense to study computer science at the age of 31? or is it too late?</i><p>Fuck no, it's not too late. If anything, 31 is too early to <i>stop</i> learning challenging things (which many people do, sometimes even before then).<p><i>do you work at a human resources department and can tell me if there is a chance for those kind of people?</i><p>As you get older, your best bet is less often to go directly through HR. If you're at an HR wall, you're more likely to face prejudice and harsh age-grading than if you meet someone at a conference. Certainly by 40, almost all of your jobs will be found through networking rather than job sites or front-door applications. Is it ideal that things are that way? No. It's something to keep in mind. The good news is that you're probably way more socially capable and confident than you were at 22, so the networking is less scary.