As for me, I'm not so sure what to share. I'm not all that exciting. Most of the time I have I spend on Lily. Once in a while I take a break. But I don't get out that often. Lily's nice in that it's a place for me to do something and feel like I make a difference.
My day job? For most of the time that I worked on Lily, I was working part-time at [redacted] as a Maintenance Assistant. My favorite memory was talking shop with a guy there who had some computer knowledge. He asked what I had done and I told him that I had just written a garbage collector and that it was so awesome because it took just a week and it went well.
He answered me saying something to the effect of "Well of course you wrote a good garbage collector, you're Maintenance! That's what you do!" We both had a good laugh at it.
I've never had a job doing software development. I recently left [redacted] to pursue a job in software, but haven't had much luck with it. I'm still holding out hope though.
So, no, my job isn't programming related.
Resources? My strategy is that when I get up to something new, I do all of the research that I can both in the topic itself, as well as how other languages do it. One example would be Exceptions. I didn't know how to do that, so I started researching how Python did it, how Java did them, Ruby, etc. I started thinking of what I wanted, and also what the goal of having them in my language was. I also made sure to search through Haskell, Scala, Rust, and OCaml since they don't use exceptions as much. The point being that I wanted to know what languages do when they tend to not use exceptions.
Rather than starting off as "This is a good idea", I instead approach it as, "I think I would like X. How does that typically get done?"
For resources, the most helpful thing I've read has been ESR's guide on struct packing:
Coding itself is fun, yet it is always interesting to know the guy behind software. It is a tough road in making a new language and you have invested 5 years on it! That determination is something I hope could achieve :)
I'm self-taught too, and I really enjoy reading about other self-taught people doing great things. There are a lot of barriers for us (not all of them justified), and I empathize with the struggle.
Really sad to hear that you haven't gotten a software job yet. Usually I recommend that folks do enough open source work so that they can unquestionably prove that they can program; more solid proof than the average CS student can provide. Of course, this isn't always an option; as not everyone has that kind of time :( In your case you have written Lily, so this shouldn't be necessary either.
What were your interviews like? Were they all "frob a linked list"-type? I've noticed that most self taught people (incl me) don't bother with these things. They know how to frob a linked list, but are not experts at it. Which makes sense because there are a lot of more fun things out there to get better at :)
If this is the case for you, see if you can avoid such interviews; look for companies that ask more development-y questions. One such company I have had good experience with interviewing with Microsoft, and of course my current employer (Mozilla) asked good questions at my interviews. Of course, small sample space of interviews, ymmv :) If you need I can probably dig up more such companies from the experiences of friends in similar situations. Asking HN directly might also turn up some interesting opportunities.
I am mentoring a young friend who is somewhat similar to you in that he is a programmer with a lot of potential but no experience. He started taking programming jobs off of craiglist and did well enough that he is now a full time programmer at a company. Success breeds success.
As someone who's self taught and gainfully employed let me know if you want chat. I know quite a few other people who've gone non-traditional routes and I'd be happy to provide some insights.
As for me, I'm not so sure what to share. I'm not all that exciting. Most of the time I have I spend on Lily. Once in a while I take a break. But I don't get out that often. Lily's nice in that it's a place for me to do something and feel like I make a difference.
My day job? For most of the time that I worked on Lily, I was working part-time at [redacted] as a Maintenance Assistant. My favorite memory was talking shop with a guy there who had some computer knowledge. He asked what I had done and I told him that I had just written a garbage collector and that it was so awesome because it took just a week and it went well.
He answered me saying something to the effect of "Well of course you wrote a good garbage collector, you're Maintenance! That's what you do!" We both had a good laugh at it.
I've never had a job doing software development. I recently left [redacted] to pursue a job in software, but haven't had much luck with it. I'm still holding out hope though.
So, no, my job isn't programming related.
Resources? My strategy is that when I get up to something new, I do all of the research that I can both in the topic itself, as well as how other languages do it. One example would be Exceptions. I didn't know how to do that, so I started researching how Python did it, how Java did them, Ruby, etc. I started thinking of what I wanted, and also what the goal of having them in my language was. I also made sure to search through Haskell, Scala, Rust, and OCaml since they don't use exceptions as much. The point being that I wanted to know what languages do when they tend to not use exceptions.
Rather than starting off as "This is a good idea", I instead approach it as, "I think I would like X. How does that typically get done?"
For resources, the most helpful thing I've read has been ESR's guide on struct packing:
http://www.catb.org/esr/structure-packing/
I'm afraid not much else comes to mind though.