Graduação em Computação, fazer ou não?
Mais um texto que estou devendo há meses, desde janeiro, vamos lá!
Sobre a necessidade de fazer um curso superior atualmente e sobre os tipos de graduação
Existe uma enorme diferença de propósito entre MOOCS(massive open online courses), bootcamps e livros-texto, que são as bases dos cursos de graduação. Atualmente há uma geração de programadores juniores que pecam pela falta de livros em prol de muitos cursos online, criando uma formação focada na prática rasa sem a compreensão profunda das ferramentas.
O principais propósitos atual das graduações de computação são:
- Como as empresas estrangeiras veem um profissional com diploma comparado a um profissional sem diploma.
- A ementa do curso faz vc estudar partes que vc não estudaria como complexidade de algoritmos, programação dinâmica, estudo de grafos e de dados fora do trivial e da maior parte das coisas que fazemos no dia a dia.
- Estudar mais profundamente como um tópico se conecta com o outro, como Sistemas Operacionais, Programação Multithread, Otimizações de Performance, Grafos para representação e calculo de dependências(coloração de grafos)
- Networking e Oportunidades de projetos, pós-graduações, orientação em projetos, indicações, etc…
Vou detalhar nos próximos tópicos.
As diferenças ementas dos diferentes cursos
- Engenharia de Computação: Um curso focado em toda a pilha de tecnologias que compõem a computação, passando dos princípios da engenharia, física, calculo, álgebra, geometria analítica, com a base da ciência da computação que inclui portas lógicas, circuitos lógicos, arquitetura de processadores, SO, compiladores, redes e por fim a cada de aplicação é só mais um dos assuntos.
- Ciência da Computação: Na Unicamp é muito semelhante a engenharia, com exceção de não ter os conteúdos que são necessários para conceder o CREA, conheço pouquíssimos engenheiros da computação que usam o CREA, eu mesma acredito hoje que deveria ter feito a ciência e poupado 6 meses de estresse. A dependência de eletivas, currículos e da universidade a ciência não terá foco algum em hardware.
- Análise e Desenvolvimento de Sistemas: Esse curso é mais focado na área de aplicação e desenvolvimento em si, sem aprofundamento nas bases como circuitos lógicos, compiladores, arquitetura, podendo ser um curso mais curto.
- Técnico de Informática: Ainda mais focado na aplicação e desenvolvimento sendo uma formação prática direta de apenas 2 anos.
É preciso dar a ênfase que os cursos variam muito com o campus, a Unicamp é ótima para software, e isso inclui um pouco da parte de Scrum, metodologias como a ágil, interface homem-máquina, etc. A USP de São Carlos por sua vez é excelente para embarcados, outras tem um ótimo campus para robótica, outros para hardware, isso depende muitíssimo dos professores que lecionam há mais tempo por lá, pesquisar a lista de professores antes de entrar faz bem, na época isso era uma visão que não tinha.
Os reais benefícios de um curso superior numa universidade como a Unicamp e como tirar proveito
O mais importante do meu ponto de vista, por ter estudado lá, é o networking, e a minha definição de “networking” é bastante ampla, e é preciso estar atento aos diversos tipos de interações com as pessoas.
Existe desde o profissional mais tradicional e básico com pessoas do seu próprio curso que podem te indicar para vagas em suas respectivas empresas…
O contato de professores para especializações, pós e também mercado de trabalho…
E as amizades em outros cursos para futuros clientes, e indicações para empresas de outros ramos de atividade tornando você mesmo uma ponte entre diferentes industrias e setores de atuação.
Outra importância de uma universidade, especialmente das públicas com mais recursos e investimento são as empresas juniores, intercâmbios, estágios, as atividades extras e matérias eletivas como as de idiomas. Tais recursos em conjunto propiciam um currículo forte, com uma rede nacional e internacional de contatos, algo que não é possível sem graduação.
Aprender a programar Vs. Se tornar engenheiro de software
Nos tutoriais da Udemy e do Youtube vemos a solução de problemas simples, no entanto o desenvolvedor júnior fica preso numa visão rasa do ambiente de desenvolvimento e sem ideia de como arquitetar soluções maiores e que unem os diversos tutorias de iniciante num mega projeto só como a maioria das empresas necessitam, claro essa não a ideia desses tutoriais, bootcamps e cursos menores, jamais será por esse é o espaço do estudo formal. Um dos maiores ensinamentos do mercado de trabalho na jornada que vai do estágio ao nível pleno eu diria que é entender como arquitetar soluções e ir da especificação do cliente até a linha de código.
Quando digo “arquitetar ”estou falando das decisões subjetivas e difíceis, usar ou não uma dependência para resolver um problema? E se ela me limitar no futuro? Quais as classes e a relação entre elas para construir um modulo de segurança personalizado numa API feita em Java?
Isso a graduação não ensina, porém o mercado de trabalho sim, e o mercado tem uma dificuldade de dar o background teórico, em muitas entrevistas me perguntam se eu sei a teoria de orientação a objeto muito bem, em um nível conceitual como herança, polimorfismo, composição…
O mesmo conceito se aplica para entender sistemas operacionais e o Linux, algo que a Unicamp falhou em ensinar melhor dentro da matéria de SO porque era teórica demais, e seu gerenciamento de recursos. Além da matéria de compiladores, que apesar da teoria ser muito bem ensinada, e da pratica de fazer um compilador também, o conhecimento que mais ficará da universidade de mais importante é indireto, que é entender a linguagem como ferramenta, e seu design como escolhas de adaptação ao seu propósito, e ao aprender uma você passará a ter olhos críticos e entender melhor sua construção, ao invés de fazer como muitos inexperientes e se apegar a primeira linguagem que teve um bom domínio.
O que pandemia mudou na área: hiper demanda(até março de 2022) e home office
A área esta muito aquecida(nos últimos meses deixou de ser) e cria uma época única no que tange a confundir certos aspectos, um deles é que o conhecimento teórico e profundo que citei acima não é tão relevante, e de fato não é, no começo! Logo ficará claro que todo o tempo de universidade é ganho no tempo de ascensão profissional nos anos seguintes.
Fato é, os patrões adorariam pagar muito menos para alguém que está lá apenas para manter um site funcionando e escrevendo códigos para colocar novas features. O trabalho que ficará sempre em demanda é daquele que é capaz de projetar um sistema de ponta a ponta com o conhecimento que citei acima, isso bootcamps, e pequenos cursos não serão capazes de te prover, e o titulo de universidade não só provê mas prova que você o possui com um respaldo internacional, e para isso que a universidade serve.
O primo rico falou em rapidamente ganhar salário de 5k e isso tem um imenso apelo no brasil de hoje com péssimos salários, alta inflação e um grande número de desempregados no entanto 5k é um objetivo baixo na vida para quem quer mais do que sobreviver e criar uma carreira com mais horizontes, são duas coisas completamente diferentes, lutar por um salário de 5k e construir uma carreira com um potencial para ir além disso.
Estão sempre falando de bolha no mercado de tecnologia e que um dia pode estourar e mudar tudo, mas eu acho que isso não se sustenta, houve o estouro da bolha ‘.com’ lá em 2000, porém desde aquela época o mercado mudou muito e apesar de haver muitas empresas que podem falir com o fim dos juros perto de zero nos EUA elas são uma pequena fração dos empregos, há uma demanda fortíssima de demanda por maior automação e de criação de uma infraestrutura digital na sociedade com qualidade, ênfase na qualidade, e portanto a maior escassez é de profissionais muito qualificados, e isso volta ao ponto mais central a formação de base para o sucesso de longo prazo.
O papel da TI não exigir cursos de inicio na desmarginalização
Apesar da TI como um todo ainda ser uma área muito dominada por homens brancos, o fato de ser um curso com retornos rápidos bons comparado com a maioria dos empregos e a formação poder ser feita em paralelo ao inicio da carreira, tornou um curso com uma função social importantíssima que é a de tirar da marginalização alguns grupos. Pode ser insuficiente para resolver o problema dessas populações mas cria um grande alivio, o maior exemplo que posso dar é que uma vez perguntei ao meu cirurgião que opera pessoa trans qual é o perfil do paciente médio e ele disse que eram pessoas na casas dos 20 e 30 anos trabalhadoras de TI, pois para a imensa maioria cuja família não pode ajudar com tais procedimentos trabalhar na área é a única forma de arcar com elas, pois estamos falando de valores que começam em 50 mil para a transição como um todo. Deve haver um fenômeno análogo nas comunidades de baixa renda, na populações negra brasileira mas vou me abster de falar pois não investiguei o assunto para ter os dados para apresentar a vocês.
Por isso sim, ser desenvolvedor de software virou a esperança para muitos, especialmente para os que mais precisam de um salário digno nesses tempos difíceis, e espero que eles consigam se estabilizar a ponto de ter uma formação profissional e acadêmica forte, não só para que sucedam enquanto indivíduos mas porque o Brasil precisa urgentemente de mão de obra qualificada que não fuja para outros países, tanto para formar mais pessoas qualificadas, mas para construir uma infraestrutura digital segura, confiável, e desenvolver a própria sociedade.
Trabalhar em quanto se forma é o ideal
Na Unicamp um dos maiores erros foi ter aplicado menos meu conhecimento na prática e não ter procurado trabalho desde o 2o ano, eu tinha muito o que aprender ainda, seria difícil conseguir qualquer estágio na minha visão e mal dava conta da graduação, no entanto hoje olhando para trás certamente teria me ajudado a ter uma melhor relação com meu próprio trabalho e mais confiança, especialmente porque a formação da Unicamp é teoria demais e os conhecimentos mais valiosos ao mercado de trabalho ficam restritos a pós de engenharia de software(não sei porque) ou ao final da graduação, quando vai para estágio ou pequenos freelas no começo é possível absorver o melhor esse conhecimento do final e da pós.
Obrigada a quem leu até aqui, e boa sorte nesta jornada para quem está começando.