And things can move fast in Silicon Valley. Maybe they now think they honestly need you in 6 months, but in 6 months, that could change. And they still have 6 months to find someone better or cheaper.
The same goes the other way aroundd of course. A job offer now is worth a lot more than one in 6 months. You could find a better job and not be available in 6 months. If they really need you, I'd expect them to hire you sooner. Maybe in one or two months. Some companies operate slower than others, but 6 months? That's a lot.
If I were you, I'd try to fill those 6 months with another job or with freelance work. That gets you money and experience. If the other offer is still there in 6 months, you can still quit the temporary job.
By their nature, tech companies know what they need today, predicting what they need in 6 months doesn't always go well.
Where are you from? In what area of your education did you have difficulty in school? What would you like to do as an engineer? There are plenty of junior/intern positions where you can go without a CS degree and get some great experience and a solid chunk of pay and even benefits. Although this isn't always easy to implement, you must seek out meaning in your life. Meaning won't seek out you. But, there are a lot of us here to help!