If your thoughts of suicide come back to you more and more frequently, see a therapist.
As for your lack of motivation, remember what Chis Gardner (pursuit of happiness) said:
- If other guys can do it, you can too.
- The cavalerie is not coming.
- Baby steps count too, as long as they are in the right direction.
You want to truly become a good engineer/hacker. That's great. Now get to work, because the only thing that stands between you and your goal of becoming a great engineer is you and your self doubt. As you said, you have no excuses. But most importantly STOP feeling overwhelmed an inadequate and START accepting that the field of computer science is just HUGE. There are literally hundreds of programming languages, technologies, skill sets (front-end, web dev, DB etc.). Nobody masters all of them. And further, true mastery of a skill takes practice and therefore time. What you see on HN is an aggregate of the best of the best, a community where everyone chips in the best of their abilities. And that's why it is so great to read HN.
Now, to get out of this whole, simply use divide and conquer. Pick one fundamental C.S. skill you want to learn (algorithms, data structures, OS/compilers etc.) and learn it really well. Dive really deep and try to not just watch videos on academic earth but do the homework, code the samples, build small projects around it. Once done, pick the next subject. Remember, it is better to complete one small thing, that to start 10 big ones.
I agree, it is super polarizing. The fact that it was ranked at #1 at HN for quite a while is proof of it. I am excited, that someone tries to tackle the passive job seeking market. The market for active seekers with indeed.com, simplyhired.com, monster.com, careerbuilder.com etc. is already pretty crowded, but nobody has really cracked the passive job seeking market. Granted that it's current form has its flaws (I assume it is just a first version), but this could be huge.
I believe the answer to that is the market segmentation. There are so many different type of segments (by programming language, years of experience, company size, industry etc.) that it is very hard for recruiters to spread across too many different segments. So they stick with a few, work them for years, build up a huge network and get really good in these few segments. But of course there is still lots of room in other segments for less qualitative focused recruiters to make a buck by just playing the numbers game.
It is, but only from the perspective of a passive seeker. As a passive seeker, you are not under time pressure to find another opportunity immediately. Receiving 1-5 offers a week that you digest in addition to you actively looking at job boards of companies you really want to land (Google, Square, FB, Twitter, Dropbox...) makes a great combination.
- a bit of evolution of programming and why OO was so huge (re-usability of encapsulated and independent code pieces/modules/libraries)
- fundamentals about OO - encapsulation, polymorphism, inheritance
- How to design - UML, class diagrams.
- Python code examples from biology would be cool. (Tell you class that they shold imagine to be god. They now create an entirely new planet with all its animals and living creatures on them). Have them designing a UML, then present/share/discuss. How does the inheritance look like (chimp -> monkey -> mammal -> living organism...)
You ask the founders from previously funded startups to help you out. PG mentioned that most applications are a clear no. That should weed out 85%-90%. The rest deserver a closer look.
You have to think about your MVP as a serious effort to validate or disprove your thesis and assumptions. An MVP does not have to be code, it does not have to be a prototype of your real app. You can duck tape anything together (video, screen cast, screen shots, photo shop images...) to try to prove/disprove your thesis. Here a quick example. Let's say you want to build a new way of searching for hotels. The first question you ask yourself, is what is it that will make people come and use my product/site (instead of expedia or hotels.com)? What is the value that I am adding? So you come up with your 2 or 3 true, core value adds that you think build the foundation of why people will love your product. Now you go ahead and verify if you are right, if these 2-3 value adds really are enough to have people come and use your product (if there is a market for it). So you identify a place on the web where your target audience hangs out and you put your MVP (whatever form/shape it has) in front of them. Drew Houston from Dropbox just showed people a video that was fake (the real product did not work yet and was not really build) to measure how many people would like it and the response was amazing.
As for your lack of motivation, remember what Chis Gardner (pursuit of happiness) said:
- If other guys can do it, you can too.
- The cavalerie is not coming.
- Baby steps count too, as long as they are in the right direction.
You want to truly become a good engineer/hacker. That's great. Now get to work, because the only thing that stands between you and your goal of becoming a great engineer is you and your self doubt. As you said, you have no excuses. But most importantly STOP feeling overwhelmed an inadequate and START accepting that the field of computer science is just HUGE. There are literally hundreds of programming languages, technologies, skill sets (front-end, web dev, DB etc.). Nobody masters all of them. And further, true mastery of a skill takes practice and therefore time. What you see on HN is an aggregate of the best of the best, a community where everyone chips in the best of their abilities. And that's why it is so great to read HN.
Now, to get out of this whole, simply use divide and conquer. Pick one fundamental C.S. skill you want to learn (algorithms, data structures, OS/compilers etc.) and learn it really well. Dive really deep and try to not just watch videos on academic earth but do the homework, code the samples, build small projects around it. Once done, pick the next subject. Remember, it is better to complete one small thing, that to start 10 big ones.