disclaimer: my opinions are entirely my own and not endorsed by my employer.
You need to do everything in the article just to get an interview, just to get a chance.
Getting your foot in the door is by far the hardest part of trying to make a career switch into software development. A lot of people say that you shouldn't have to eat, drink, and sleep code and self-marketing to get an interview with a non-traditional background.
My opinion is that people changing their careers into software development have it easy. Name me another engineering degree where you can teach yourself and get an interview without a degree in that field.
In any industry, you need to capture people's attention one way or another. You can craft your personal brand through a website, and your projects and your articles --
Or you can craft your personal brand in person, by schmoozing and networking and making sure people know who you are and what you can do.
I'm not the best people person, but I am a truly excellent software engineer and businessman. I haven't had much success maintaining a loyal network of people who will connect me with opportunities, but I do have an excellent track record of building great software.
The problem is, how do I convince people of that? Most of my code is proprietary and cannot be shared with prospective clients or companies.
If there's truly interesting and clever architectural stuff going on, that can be explained in words in an interview (in person or not). That puts some burden back on people skills, but... if you're creating clever solutions you can't explain to other technical people, I'm going to be worried about your ability to work on a team anyway.
If I'm hiring someone with more than 5 years of experience I'm hoping they can tell me some interesting war stories or have some interesting design ideas when asked about a potential business problem.
I do believe I am good at my "craft", am a quick learner, and am a direct communicator, but don't have a degree or certification to shove that notion down a prospective employer's throat like is expected of me. Every prospective employer I speak with seems to think I should have either a bachelor's degree or 5 years of experience on my resume. How do I get there outside of college and debt?
Also, skill is an arms race. You do have to be better than the alternatives to get hired.
Yeah, you can do that, if you legitimately want to. Or you can have a life away from the computer and go outside once in a while. So here's some different advice.
DO: Be good at your craft. Be able to go into an interview and discuss architecture or algorithms or whatever it is that you're interviewing for with the people you're going to be working with. Be able to talk about your thought process, so that even if maybe you don't remember the exact syntax of some API call or command-line utility, you can explain to the interviewer what you're thinking and why.
DON'T: Don't for a minute believe that you must be "passionate" about programming in order to enjoy it or to be good at it. Don't forget that you and your employer are engaged in a business relationship, and nothing more. Don't romanticize your job or define your self-worth by the fact that you work for FaceAppleGoogSnapZonFlix (or that you don't).
And don't work your ass to the bone chasing someone else's big idea.