Executando verificação de segurança...
12

Hoje notei como o que aprendi na faculdade foi útil no trabalho

Nos últimos dias, estive alterando um algoritmo complicado no trabalho, em um projeto open source na área de serviços humanos. Esse tipo de projeto envolve muitas políticas, leis e regulamentos, e no caso da feature em que estou trabalhando, algoritmos que envolvem cálculos com datas.

Um dos desafios é determinar se uma pessoa está apta, num certo período, a prestar um tipo específico de serviço. Por exemplo, aprovar um voluntário para oferecer hospedagem a famílias em crise. Isso exige lidar com muitos requisitos e fazer vários cálculos de tempo.

O criador original do projeto (meu contratante) desenvolveu uma biblioteca em C# para trabalhar com linhas do tempo — permitindo criar intervalos e subintervalos, e fazer operações como união, interseção, diferença e complemento.

Enquanto estudava o funcionamento dessa biblioteca, percebi como foi natural entender as operações. E aí caiu a ficha: esse é exatamente o tipo de conteúdo que aprendi lá atrás, na escola e na faculdade, e que eu não sabia bem como seria útil no futuro.

Mas agora vejo o quanto ter aprendido teoria de conjuntos facilitou compreender a abstração por trás desses cálculos complexos com datas, e evitar fazer um código complexo com cálculos difíceis e manuais. No lugar disso, podemos simplesmente usar operações como união, diferença, complemento, etc., em linhas do tempo!

Então se você está estudando e fica na dúvida se isso vai ser útil um dia, lembre-se desse tipo de exemplo, e tenha em mente que tudo agrega no seu conhecimento, e depois vai te ajudar a criar abstrações mais inteligentes ;)

Esse é mais ou menos o resumo do vídeo que publiquei no meu canal, aqui está o link caso queira ver completo: https://www.youtube.com/watch?v=MRsXH7YJx4c

Carregando publicação patrocinada...
5

Recentemente tive uma experiência semelhante em outro contexto mais específico. Estou participando de um projeto voltado para postos de gasolina, e a equipe estava enfrentando dificuldades na comunicação com algumas informações vindas da centralizadora das bombas.

Ai de intrometido peguei para tentar em outra linguagem(pois eu trabalho com a maquininha de cartão) e vi que o problema estava no formato de comunicação — especificamente na forma como um número decimal era transmitido. Em um trecho do protocolo, havia sido feita a troca de little endian para big endian, e estava na própria documentação da centralizadora porem é algo que quase não se vê(então poucos sabem ou lembram) mas tinha estudado isso duas semanas antes desse dia na faculdade.

5

A maioria das pessoas que estão entrando no mercado acreditam piamente e em alguns casos acontece por sorte por algum tempo, que mesmo aprendendo uma tecnologia por cima é suficiente. Cada dia mais o aprendizado completo e profundo tem valor para conseguir emprego, para evoluir no emprego, para trocar por um emprego melhor e conseguir aumentos salariais. Algumas pessoas completamente sem noção incentivam isso.

A faculdade não é a única forma de conseguir isso, e tem algumas faculdades que é perda de tempo. Então falar na faculdade em si não é garantia alguma, o que vale é o aprendizado forte, tornar a pessoa autônoma, que possa até fazer prompts para ajudar aqui e ali, mas sabe quando isso não deve ser feito. A faculdade aumenta a chance para a maioria das pessoas, mas nem todos os cursos vão dar tudo o que a pessoa precisa.

E tem o problema de quem faz faculdade só para conseguir o diploma, o que é muito comum, o curso até incentiva a pessoa enrolar, especialmente em EAD (nunca vi um caso bom, mas tem gente que diz que já viu, eu não sei se a pessoa sabe avaliar) e das particulares, especialmente as baratas. Mas pode acontecer até com as públicas, por motivos diferentes.

Não digo que a pessoa não deva fazer nenhum curso superficial, que pegue apenas alguma tecnologia que se gaba de ter prático, o que significa que ele só vai ensinar um receita de bolo e não vai ensinar você se tornar im desenvolvedor. EM alguns casos um curso desses pode ajudar em um vaga de forma rápida para você ter dinheiro para aprender de forma correta.

Como diz o Peter Novig: "Aprenda a programa em 10 anos". Em alusão os livros que prometem que você vai aprender em 24 horas.

E justamente por isso que eu vou colaborar com a comunidade e fazer a pessoa aprender a programa em 10 anos. Veja abaixo.

S2


Farei algo que muitos pedem para aprender a programar corretamente, gratuitamente (não vendo nada, é retribuição na minha aposentadoria) (links aqui).

1

De fato, durante meus anos de universidade, eu acreditava que disciplinas como redes de computadores, sistemas operacionais e princípios de linguagem assembly tinham pouco valor prático, considerando-as menos úteis do que aprender linguagens e estruturas de desenvolvimento práticas. Foi somente após vários anos no mercado de trabalho, quando me deparei com a otimização de gargalos no desempenho dos serviços, a solução de problemas de rede e o contato com mais conhecimentos de arquitetura, que percebi que essas disciplinas básicas eram indispensáveis.

2

Pois é, muito do que é ensinado na faculdade só vai ter sua utilidade percebida no longo prazo. Talvez por isso seja tão difícil para as pessoas perceberem, e é um dos motivos de muitos encherem a boca pra dizer que é inútil, nunca precisou usar, etc.

Pior, muitas vezes a utilidade se dá de forma indireta, ou seja, em vez de usar aquilo diretamente, vc percebe que determinado problema possui caraterísticas iguais a algo similar que vc já estudou anos atrás, e usa algo que usa outro algo que usa o conceito teórico. Muitas vezes já existe a solução pronta, vc só não achou porque não sabia o nome do conceito teórico relacionado.

No seu caso, por exemplo, se vc nunca tivesse estudado conjuntos, jamais conseguiria fazer esse paralelo com as operações de união, diferença, etc. Vc teria mais dificuldade de entender a solução, e quem a criou provavelmente teria mais dificuldade para implementá-la também (no pior caso faria algo muito mais complicado, no melhor caso acabaria reinventando a teoria dos conjuntos sem saber).


Já falei sobre isso aqui, inclusive com outros exemplos:

E mesmo que vc não vá usar diretamente a teoria, não dá pra dizer que tudo é inútil. Só pra citar alguns exemplos, álgebra relacional deu origem ao SQL, grafos são usados para várias coisas (desde o Git até o seu GPS, passando por redes sociais e alguns tipos de banco NoSQL), e por aí vai. (...) Você pode até não precisar implementar na mão, mas não seja ingênuo de achar que toda aquela teoria é inútil (ou "só porque vc não sabe pra que serve, não quer dizer que é inútil").

E aqui contei um caso similar ao seu: precisei usar algo que tinha aprendido na faculdade e que na época parecia inútil. E no fim foi o que me salvou :-)