La programmazione è tanto vasta e diversificata quanto i programmi. Potresti avere una carriera molto fruttuosa senza dovermi mai preoccupare della complessità algoritmica. Ho sviluppato applicazioni di tipo di database che aiutano a salvare vite ogni giorno ma non ho mai dovuto calcolare la notazione BigO di tutto ciò che ho prodotto.
Detto questo, l'algoritmo è una parte importante del dominio e può essere una buona risorsa se la impari. L'apprendimento aprirà la tua mente a determinati problemi che potresti incontrare, a come misurarlo e ti insegnerà alcuni schemi comuni che puoi utilizzare per risolverli.
Quindi sì, lo studio dell'algoritmo renderà un programmatore migliore di cui sono certo.
Penso che una domanda più importante che dovresti porci a questo punto è che tipo di problemi vuoi risolvere come carriera. Sapere questo ti aiuterà a trovare gli strumenti giusti per darti un vantaggio. Algorithmic è un importante strumento teorico, ma lo è anche per ergonomia cognitiva , motivi architettonici , teoria delle informazioni . Ci sono anche molte conoscenze di base, come l'apprendimento dei diversi modelli nel processo di sviluppo del software che sono spesso disapprovati come noiosi e disinteressato mentre apprende il mestiere, gioca ancora un ruolo cruciale nella creazione di software nel settore.
Questo non era affatto un elenco completo, ma tutti sono, secondo la mia esperienza, ugualmente preziosi nel farti diventare un grande programmatore. Tutto dipende dai problemi che desideri risolvere con la programmazione e l'approccio che desideri utilizzare per risolverli.
--- MODIFICA ---
Come Earlz ha menzionato nei commenti dopo aver appreso le abilità rimangono con te fino in fondo. Quindi, anche se non ho mai fatto un'analisi approfondita completa di un sistema, la conoscenza rimane disponibile, immagino che ti dia un senso supplementare con cui ottenere un'idea di un sistema. Una volta mi sono imbattuto in un semplice sistema di registrazione la cui implementazione era in ordine fattoriale. Penso che se il programmatore avesse imparato a conoscere la complessità algoritmica che avrebbe notato e che avrebbe codificato al di fuori di esso, ho ottenuto la vecchia retorica "è solo una registrazione, non influenza il runtime". Ovviamente non era quello che doveva dire al cliente che dovevano aspettare circa 6,4 miliardi di anni prima che la loro importazione di dati potesse essere completata.
Questo sarebbe vero per quasi tutto questo corpo fondamentale sulla conoscenza. Anche se non lo usi attivamente, le conoscenze acquisite permangono e influenzano le tue attività quotidiane. L'apprendimento di una lingua, di una metodologia o di un sistema specifici è buono per il breve termine, ma è condannato dall'obsolescenza prima ancora di aprire il libro.