Hi HN,<p>I'm a self-taught programmer and I'm finding myself increasingly concerned
about my future.<p>I've had several jobs in the past, all of which were in the finance industry.
Back-end software for eCommerce, point-of-sale systems and such.<p>The last company I worked for had a very toxic environment. Extremely
micromanaged, abusive, etc.<p>The reason I'm concerned about the future is that I've just turned thirty, I
have no formal qualifications and I'm unlikely to acquire an honest reference
from my last employer.<p>Much of the interesting things I've worked on, the things that have taught me
the most, that taught me the value of many idioms and patterns, were all done
in my spare time. The kind of things I'm passionate about are those that are
often unseen such as compilers, data structures of various kinds, device
drivers, kernels, linkers and memory management systems.<p>I'm afraid that I'll be ignored because I don't possess a degree and I don't
have an extensive work history.<p>Does our industry still accept those who taught themselves?<p>Is the initiative and determination of a self-taught developer still worth
anything?<p>What can I do to secure my future?
Go get a degree. Preferably ABET accredited. Im in literally the exact same boat as you. Years of self taught experience with no degree (a high school dropout, no less) but constantly apprehensive about "hitting the wall" in terms of career advancement. The best decison I ever made was to start taking math classes at the local community college, and eventually start working on an engineering degree. You will be amazed at how much you didn't know you didn't know. Its quite hard to swallow your pride and sit in a classroom full of teenagers, feeling like an idiot fumbling over undergrad math problems. But once you get over that it's totally worth it.
A healthy Github account and some writing goes a long way. Shows your skill and definitely shows initiative and determination.<p>Whilst having a poor reference isn't great, many people in tech understand toxic workplaces. Sadly, we've all been there. For a new job, I don't think it's good to dwell too much on negative past experience, but it's possible to frame it up in a way people will get.<p>It's never been a better time to be a software engineer. Keep positive and show off the passion you mentioned.
Never STOP learning, keep reading, meet and network with people each and every day. When you are updating yourself, your future too gets updated. Simple.
Degree doesn't matter unless you are going for further education (masters / PhD) or a large corporate position.<p>Work history matters, but experience more so. It doesn't matter where you get the experience.<p>Basically look for employers that respect execution, execute, and you will not have a problem.<p>You can also try doing something for yourself, but if you are concerned about income you probably don't have the financial means yet to risk losing on a failed venture, so just keep it as a back pocket option for the future.
Don't worry too much about references. Tell people at interviews you left your last job because the environment was toxic. There's no shame in that.<p>GitHub is good. Make a habit of making your work public. Go to meet ups and talk to people directly: job interview is not the only way to get a job.<p>Use your writing and your code as your cv. It's better than any other cv.<p>Don't fixate in this idea that if you don't have a degree then you're not worth a damn . If you were a doctor I'd say , yeah ok. But programming is not that . If you could prove you could do open heart surgery more effectively than most surgeons then why wouldn't I let you operate on me? Such proof outstanding , doctors need degrees. Programmers have very solid proof outside the degree .
Don't write-off the reference just yet. Obviously, idk how bad it was, but at the end of the day most people understand looking for a job isn't fun.<p>Don't give up. Going to be okay!