Start elsewhere, there is a reasonably high demand for software engineers out there, get a job and go from there.
I've done some reasonably complicated things in my programming career (things having to do with encryption, threading, high volume systems) but I'm sure I'd fail a Google-style CS drilling (and have no interest in implementing a non-cyclical direct graph on the whiteboard :)).
Guess what - hacker rank type challenges I'm semi decent but not great at.
I do pretty good with take home mini projects though and with interviews where even if things get theoretical they are still relevant to the actual day-to-day, like let's say describing the thought process behind selecting a linked list vs arraylist for a given situation etc.
Imo these things come with experience, so again if your goal is to get a job with "google" eventually, start elsewhere, get the chops and go from there.
I've done some reasonably complicated things in my programming career (things having to do with encryption, threading, high volume systems) but I'm sure I'd fail a Google-style CS drilling (and have no interest in implementing a non-cyclical direct graph on the whiteboard :)).
Guess what - hacker rank type challenges I'm semi decent but not great at.
I do pretty good with take home mini projects though and with interviews where even if things get theoretical they are still relevant to the actual day-to-day, like let's say describing the thought process behind selecting a linked list vs arraylist for a given situation etc.
Imo these things come with experience, so again if your goal is to get a job with "google" eventually, start elsewhere, get the chops and go from there.