Sim, a área é extremamente complexa, muito mais que alguns dizem que é, não é fácil para um ser humano, porque foge da natureza de nós, e é desafiador. Por isso seria bom a pessoa ter vocação, e precisa estar muito comprometida e deveria se esforçar muito para alcançar bons níveis.
Essa é a má notícia. A boa é que não precisa saber tudo. Pode saber bem a base muito bem, algo que nem todos fazem, e torna tudo mais difícil, e depois vai aprendendo tecnologias sob demanda.
Outra notícia que não sei se é boa ou ruim, dependendo do ponto de vista, é que tem espaço para quem alcança o mais ou menos. Mas é bom saber que isso tende a mudar e as portas vão se fechando cada dia mais para quem não puder ter algum destaque. Mas tem outras boas notícias, não está tão difícil se destacar, não tem um monte de gente se destacando, não é algo tão inalcançável.
Eu prego muito a felicidade das pessoas. É o mais importante para o ser humano. Não no sentido da pessoa ser obrigada a ser feliz, não dito em modo coach, é até o oposto. Para isso a pessoa precisa fazer o que gosta e gostar do que faz.
Profissionalmente, em uma área desafiadora é necessário se aprofundar para ter um grande sucesso. A pessoa pode ser feliz com um pequeno sucesso. Ou pode ser feliz fazendo outra coisa que ela tenha mais vocação. Nem sempre dá para ser feliz não tendo muito sucesso, mas também é possível. Felicidade vem do encontro das expectativas com as realizações. Eu não sou fã disso, mas mantendo expectativas baixas dá para ser feliz mais facilmente.
Para atingir um bom nível precisa ir muito além da faculdade, ali serve como incentivo e referência para o básico, tem que achar maneiras de colocar valor no conhecimento que adquiri ali. Como já percebeu a faculdade é uma maneira estruturada e validada por outros de começar na área, viver em ambiente favorável para a descoberta, por isso precisa ser um bom curso, precisa estar acompanhado de outros alunos tão bons ou melhor que você (você ser o melhor ajuda bastante, os outros) e ser avaliado adequadamente. Mas ela não dá toda experiência necessária.
Alguns assuntos são chatos e em alguns casos não tão necessários de forma direta para a maioria das áreas da computação. Existem disciplinas que são colocadas por inércia ou politicagem das instituições (conheço isso bem de perto, não vou entrar em detalhes aqui). Mas tem outras que são fundamentais, e é só a ponta do iceberg.
O que o curso não tiver entregando tem toda a internet e livros para se aprofundar. Em geral, o material básico da disciplina, junto com o ementário e outras informações, tem a bibliografia dela, o que muitos alunos ignoram que existe. E o professor pode ajudar (geralmente), é função dele mais do que ficar falando na frente de todo mundo.
Eu acho que deve ter um equilíbrio nas duas coisas, não tem porque ficar se limitando em uma coisa para outra. O processo é conjunto, estudar é fazer tudo. Acabei de dar uma resposta sobre isso.
Grafo é algo a ser estudado sim, mas não costuma ser das mais necessárias. Precisa entender por cima, e estar muito bem preparado para se aprofundar quando precisar disso. Isso vale para muita coisa. Tem coisa que precisa saber tudo desde o princípio. A não ser que tenha um objetivo muito claro de fazer algo que já vá usar essa técnica. De qualquer forma é legal despertar o interesse das pessoas.
Ache seu caminho. Se esforce e vá no seu ritmo.
Faz sentido?
Espero ter ajudado.
Farei algo que muitos pedem para aprender a programar corretamente, gratuitamente. Para saber quando, me segue nas suas plataformas preferidas. Quase não as uso, não terá infindas notificações (links aqui).