O que interessa agora é que consigas perceber as soluções, não que consegues chegar à solução. O que tens de fazer, na minha opinião, quando encontras um problema desses é:
- Perceber o problema,
- Dividi-lo em pequenos problemas (por exemplo, para fazer uma calculadora tens de: receber input, tens de perceber que operação é, executar e retornar o resultado),
- Tentar programar o que consegues e se não consegues programar algo pesquisas só essa parte (pegando no exemplo da calculadora, imagina que não sabes como obter o input do utilizador, então pesquisas só como obter o input e não como fazer uma calculadora).
Vais ver que passado uns tempos já começas a perceber o que tens de fazer e consegues fazê-lo sozinho. É que se nunca quiseres ir ao Google pesquisar então vais passar mal. Não sei o que achas que se faz quando se trabalha na área, mas muitas vezes o importante é ter boa capacidade de pesquisa no Google e conseguir adaptar as soluções encontradas para o problema que tens em mãos.
É assim, não é necessário o CS50 para arranjares emprego, mas o CS50 dá-te as bases para programares bem e para, quando estiveres a trabalhar na área, poderes ter discussões mais aprofundadas sobre o porquê de se fazer de uma maneira e não de outra. Claro que podes sempre fazer o curso de JS e deixar o de CS50 por fazer, mas isso agora és tu que tens de decidir. Acho que aqui depende dos teus prazos, se queres arranjar emprego bem rápido na área ou não, que esforço andas a fazer para acabar o de JS, etc.