Don't be like most people.
One point the article made was that scheduling is key, especially is self-discipline isn't your strong point (and believe me, it isn't a strong point of mine). So I decided that, before going to bed, I would create a schedule for the following day (that is, today) and stick to it. There were a few bumps along the road that required moving some things around but now it's 7:00 PM and I've managed to complete everything on the list up until this point.
From now on, I will be explicitly scheduling free time (I actually have some coming up in about 30 minutes).
What I do is schedule time for goofing off (browsing) that way the rest of the time is focused on what I have to do. Granted it helps listing the tasks but I struggle to complete tasks in allotted time frames.
But then again all you need to create a startup, is some working code. I doesn't even need to be bug free or optimized or thoughtfully designed for that matter. If it's good enough to offer something for someone it's enough to get you started.
I also have 2-3 ideas that I want to develop that I can showcase. These projects are just vehicles to showcase my technical expertise. Then I'll apply for positions and use my portfolio I have made to showcase experience.
This is actively working towards your goal. If you can't find a job in the profession you want, you have to generate the opportunities yourself!
.
Think of programming like Legos. The only fun way to play with Legos is to pick an awesome thing to make beforehand (Say a 3 foot tall T-Rex) then figure out how to put random pieces together until you have what you had in mind. It doesn't matter you don't know fluid dynamics, rigid body mechanics, or structural engineering. You don't need a physics degree from MIT to make something interesting in Legos. In fact, the only real thing that really matters is your ability to pick something amazing to make. You will learn how to make it if you have sufficient motivation. You will get motivated because what you're about to make is incredibly exciting.
Say there was an amateur who managed to make a 3 foot tall T-Rex vs. a mechanical engineer who made a 10-inch high structurally sound lego table. An audience sudden enters and they immediately warm around the T-Rex. "But, but," protests the mechanical engineer, "my chair is built with industry best practices. Look at that T-Rex! It's a mish-mash of random structure. No self-respecting engineer would be seen next to that thing." The audience doesn't care. The T-Rex is cool. The T-Rex is interesting. The T-Rex is fun.
Could the amateur have built a better T-Rex if he knew about some of the engineering principles? Yes. But in the end, it doesn't matter. The mechanical engineer chose to build something stuffy and boring. The amateur, using his superior problem discovery skillset, chose to build something amazing.
There are a million engineers out there who can build to industry best practices. There is only one out of a million who trains up his ability to think of something crazy new and interesting to build.
.
A personal story:
I went to MIT and I still didn't know how to do MVC in php properly until my senior year. What I did know how to do was pick a fun problem then bash my head against it repeatedly until it worked. I would spend hours perusing through the docs and obscure questions on bulletin boards until I found a code snippet that did what I wanted. Even then, I didn't always know how the code snippet worked. I just pasted it in and prayed to god it worked. Sometimes it did, most times it didn't. When it didn't, I fiddled around with the variables until somehow, somehow I made it work. And boy, that felt great!
If a semi-decent programmer had looked at my code, he would've gouged his eyes out. The redeeming factor to all my franken-code was the fact that if I did manage to get everything functional at the end, it was always a fun result. Because it was fun, I did side project after side project. It was an addictive cycle -- with the new skills I picked up, I could envision even more fun projects. During the process, I learned about php, MVC, mySQL, then rapidly accelerated through to Android, ObjectiveC, Flash, HTML5, RabbitMQ, Node, and Redis.
.
Jiggity's Guide to Become a Rockstar Startup Founder
1. Try your best to think of a FUN problem. (Think T-Rex equivalent of something "cool" and "interesting" in tech.)
2. Try your best to think up a FUN solution. (Most people never fully achieve steps 1 and 2, settling for mediocre problems and mediocre solutions.)
3. Figure out what is the minimum set of skills you need to make the solution.
4. Learn those skills while making the solution.
5. Congratulations! You've added a creative product to your portfolio and increased your skillset by X amount.
One project that I've considered before is some sort of auto-piloted arduino-based plane that would fly across the US from Jacksonville, FL (where I live now) to Mountain View, CA. I think this might be comparable to your T-Rex example in that, while it has no practical use, it's still pretty damn cool.
Thoughts?
If your goal is to learn further web development, try including a net component as a more central piece of your product vision. It's your way of hacking your brain such that you'll have to, want to learn that stuff to achieve your cool project.
Note that it might be possible to do so while getting paid. I know of a guy who years ago applied for a job with Borland in SDK tech support. They gave him an open book test, saying "if you can find the answers in the manual, we'll hire you." After years of doing tech support, since he was immersed in the info day in and day out, he became one of the most knowledgeable C++ programmers I've met. Other potential paths include starting in QA, or tech writing.
Take classes. Khan Academy, Coursera, Udacity, and EdX offer free classes.
BUT it will take time. If you're not willing to spend the time, pick another field.
What resources would you recommend for finding a QA or similar job? I've never held a job even remotely related.
One guy created a small utility for text expansion and easy to program keyboard shortcuts, hundreds of these exist, he emailed the Git URL to several businesses in the area who he thought would find it useful. They replied and now he has clients asking to modify/enhance his open source software.