The press, and some people here, are always saying they can't find good programmers, and it is certainly something that is overstated. One reason there aren't enough good programmers are people in your situation - you got by for a while programming Javascript and web full stack in Germany, yet now, during an economic boom in tech, you are increasingly having trouble finding work. As you get older, and if the tech market slows, you could be in worse shape. You're a data point for bright, young people who want to increase their tech skills towards why they should not want to go into IT.

That aside, I think you can still get work. You just sound discouraged after the rejection and sound like you are beginning to think a little fatalistically. Yes, not having a CS degree hurts you and yes, being at one company for over a decade slightly hurts you (not that much though) and yes, being in your early forties also hurts you. You don't say whether you're working that full-time decade long job any more (or maybe I missed it), if you were laid off, that also will hurt you more than if you're still working there, companies prefer hiring people already employed. You are over-discouraged though, you can still get work in this market.

You talk about going through many hoops, talking to many people, and a lot of weight given to college. Which sounds like a lot of applications to big companies. Only a big company could spend so much effort on each person, put a lot of weight on official credentials etc. So one thing to do is - don't just apply to big companies! Apply to small and medium sized companies as well. They often don't worry about college degrees as much, you're often talking directly to the decision makers right away, if they like you they often have the authority to hire you. Applying for big companies is fine, but mix it up a little.

Another thing - you say companies are interviewing dozens of people for each position. OK. What is going to put you over the top? The answer is different in different situations. From small to big companies the answer is usually technical and personal. For technical - picture the people interviewing as being a Gaussian curve with a normal distribution - the x-axis is how technically good you are, the y-axis is how many people reach that level. Where do you have to be on that curve? If a friend is bringing you into the company, you have to be in the middle or better. If you are going into a company cold, you have to be (if you're having trouble like you are) one standard deviation above the mean in terms of ability. If you're two standards above the mean, then you should be having no trouble.

What you have to realize is most people are in the middle of that bell curve. Most Javascript programmers can tell you what data types in Javascript are, what the "this" keyword is etc. You probably can as well. But if you start digging deeper into how well they know Javascript or frameworks their knowledge is not that deep, and they start mumbling the answers. The average Javascript programmer with your experience have an almost interchangeable amount of knowledge - they all have the same level of depth. But every dozen interviews or so you get someone who really knows Javascript and certain frameworks backwards and forwards. People who know more than you. When you are interviewed, you should write down the answers afterwards and honestly ask yourself if you explained things clearly and in depth. Honestly, you should be able to knock every question you are asked out of the park with a very in-depth and clear answer. Because there are people who are being interviewed who can do this. Giving some sort of half-answer where I know you know it a little, and then missing a few questions doesn't cut it - because most other Javascript programmers with your experience can do the same. Knowing this cold is what puts you above the pack.

Insofar as personality - it depends on the company, the people and how badly they need someone. Most of the time, if your technical skills are one standard deviation above the norm, and your personality is normal, we usually offer the job. I've interviewed people with very strong technical skills but their social skills were not just slightly poor but very poor. They continued answering questions after being told several times that their answer was sufficient, and continued talking even after being told "OK, stop talking"! (obviously things had become a little bizarre on their end when we the interviewers felt we had to tell someone "stop talking" - which they ignored, and continued talking!) Or people who were great technically but seemed very angry and had their arms folded in front of their chest the entire interview, and made a kind of sarcastic grunt after each question. Actually I would have even hired that person, but my boss torpedoed him and I wasn't surprised. I mean, I myself have made a faux pas when I have gone on an interview - but at least I knew from the interviewer's reaction that I had made one! Some people seem oblivious.

Another thing - just hit up everywhere. Put your resume on Linkedin, look on Stackoverflow careers, Craigslist jobs board, angel.co jobs, whatever people do in Europe (and also look for remote Javascript positions in San Francisco and elsewhere). Jobs aren't always posted everywhere - if there is a Javascript meetup or jQuery meetup in, say, Berlin, their mailing list might have job postings you can't find elsewhere. See where people are meeting up in your city, or nearby cities, to talk about jQuery or Javascript or full stack web development. Go out, talk to people. Pass out your business card. If you don't have one, make one, they're not expensive, you can make them same day if necessary at some local print shops. Your best resource is often letting programmers you already know know you're on the market. Some of this is for future reference though - one reason it's good to keep in touch with people once in a while is so you're not only contacting them when you want a favor. Not that them possibly getting a referral bonus for their big company hiring you is exactly that much of a favor.

For the longer term (not now), if you think not having a CS degree is blocking you, you might think about getting one, perhaps at night. It helps in a number of ways - human resources prefers hearing you're halfway to having a CS degree to not having one. It also gives you a technical foundation - you'll learn things like what is first normal form, second normal form, third normal form etc. are if you don't already know. Also you meet people and your network can grow - again, that depends on you meeting people and keeping in touch.

Another longer term thing - I am an Android programmer. Android was first released in 2008, but even in 2011 the local Android meetings were pretty empty - we could all sit down at a table in a local bar. Now local Android meetings sometimes have dozens, if not hundreds of attendees. I picked a new technology stack which took off (one billion Android phones sold last year). Lots of companies are looking for senior Android people with a lot of experience, but the only people they have to choose from are those handful people who were sitting around the local Android meetup table in 2011. Whereas Javascript is 20 years old and Javascript programmers are a bit more a dime a dozen. The thing though is - there are a lot of local programmers who write Java web backend programs (for Tomcat, or Wildfly/JBoss). They have a solid job, so why change. Over the past few years, web has been fading a little, and native iOS and Android have been rising. It is still to the extent that it is too early to put much weight to it. It's understandable why someone making $120k a year or more with a lot of Java web work around might not take the risk of jumping to an Android job. Why they wouldn't play around with it as a side project is more of a mystery - this is where they start to get into your situation. Because I can tell you, the middle-aged go-getter guys from our local Java group are always working with the cutting edge so they don't fall behind. They're working with Android Tango at the moment, which even I feel is too far ahead of the curve for me. Although maybe if I was smart I'd order those $500 tablets and start tinkering with them.

You were too complacent over the last decade - it should be obvious to you know. It's not fatal as times are good. When you get your next job, you have to make an effort to get a diploma, keep up with the latest technology, keep in touch with people and so forth, or you'll be in a worse situation next time around.