Today I noticed my checking account went overdraft by over $20 and I just have a couple of bucks in my wallet. I am also 36 years old, living with mom. Living like a broke college student has become the norm for me.
I am also an experienced software engineer. And I am aware of how unusual my situation is if you take the first paragraph into consideration.
Originally I graduated with a non-STEM degree but my interests pivoted into software development late in college so I started just hitting up Craigslist to apply to jobs seeking SWE's. That is how I got my start in doing this as a job. I later took a contract-to-hire job soon after graduating. After the contract period was over, though, they wanted me to keep working for them, but just as a contractor. I was taken for a ride. Now it feels like I got stuck on a bad vibe and to this day I continue riding it out.
Fast forward about a decade. Almost as if by accident, without thinking about it, my "career" has been just working for cheaper clients on low-ball contracts and spending half of my time unemployed and looking for work. So I never had a "normal" salaried CS job.
There must be something that is filtering me out of getting offers for the "normal" jobs and I need others' help in figuring out why I can't interview well enough to get past that filter.
So naturally, I feel like a fraud. I have probably never been on the same playing field as programmers that do maintain job security with full-time jobs.
Clients keep telling me I do great work. But they don't want to re-engage for future work nor do they refer more work to me. Something feels off.
After what feels like I've just been noodling around not really feeling like I've carried myself as an average adult most of these years, what do you think I should be doing? Aside from doing-over my professional life with a the right college education, what else would you suggest?
So let's assume that you are not content with your current living situation, and that computing is something you're passionate about. There isn't enough information here to give you anything more than general advice. We'd need to know the details of your resume, including your skill set and work history.
Generally the foot in the door is a good resume submitted as much as possible, with cover letters that make you seem interested and passionate. However, you said:
"I can't interview well enough to get past that filter"
which makes me thing you are getting interviews, but not passing initial phone screenings. This is something that can be fixed, and has no bearing on your intelligence. Rather, you need to commit and train, just like you would if you wanted to get fit. You need to:
1. Figure out which positions you're actually interested in. 2. Break each position down into component skills and requirements. 3. For each skill, determine a path to mastery. 4. Start training each one of those skills, committing time each day proportional to the skills importance in the interview.
You should probably be reading at least one or two technical books at all times, and doing some daily coding.
You should also start training for the interview itself. Focus on:
1. How you present yourself. Are you relaxed, attentive, groomed, friendly, eager? 2. Giving a good answer to every question, even if the answer is incomplete. Say "I think it works like" or "I could imagine it would work like", don't get angry or frustrated or say "I don't know". 3. Read cracking the coding interview and practice Hackerrank questions or using a similar site. Do this at least for one hour every night. Don't get frustrated and quit. You need to build the muscle.
Do all of this until you get the job. There is no timeframe, and don't engage an interview until you feel over-prepared. The key is not intelligence, but commitment and determination.