So far none of the replies has mentioned this, and it may be unpopular in HN, but:
Seriously consider going back to school and finishing a degree. Although it's "known" that you don't really need a degree for a SW role, there are plenty of well established old school companies that will not consider you at all unless you have a degree. On the flip side, you'll get jobs more easily. A lot of interviewers who choose to interview someone without a degree are doing it "just in case he turns out to be a genius." You are not one (or at least have not shown you are one). Let me be brutally honest: In such companies, you will not get a job if you interview as well as the average candidate who has a degree. Managers don't want to have to justify hiring someone without a degree, and they look worse amongst their peers if a bad hire didn't have a degree than if they did.
> Reading Meyers, Knuth etc. books.
Improving technical skills is always good. However, your role in a company, and your performance, are due to lots of other factors. A person who is average in all areas is generally more desirable than a smart person in one area who is poor in others.
Seriously consider going back to school and finishing a degree. Although it's "known" that you don't really need a degree for a SW role, there are plenty of well established old school companies that will not consider you at all unless you have a degree. On the flip side, you'll get jobs more easily. A lot of interviewers who choose to interview someone without a degree are doing it "just in case he turns out to be a genius." You are not one (or at least have not shown you are one). Let me be brutally honest: In such companies, you will not get a job if you interview as well as the average candidate who has a degree. Managers don't want to have to justify hiring someone without a degree, and they look worse amongst their peers if a bad hire didn't have a degree than if they did.
> Reading Meyers, Knuth etc. books.
Improving technical skills is always good. However, your role in a company, and your performance, are due to lots of other factors. A person who is average in all areas is generally more desirable than a smart person in one area who is poor in others.