Gostaria que citassem as áreas da informática que trabalham com problemas de computação por exemplo o analista de sistemas tem que conhecer o que o cliente precisa, fazer entrevista e levantar requisitos. Gostaria de saber as áreas que a pessoa trabalha e precisa estudar e preocupar com os problemas apenas de informática como por exemplo quem trabalha com sistemas opercionais linux que precisam saber mais de administração de sistemas operacionais do que regras de negócio da empresa e outros assuntos fora da área de informática. Isto ajuda muito para escolha de cursos. Grato desde já por quem puder citar as áreas.
Todas as áreas tem problemas, por isso tem vagas, cursos, faculdade etc pra todas as áreas. Não existe também formula mágica se faz isso então estude somente isso, hoje a abrangência é outra tem saber programar, mas, tem também que saber montar alguma infraestrutura em Docker ou VPS ou Fisico mesmo, tem que saber mexer em Git que é o repositório de código e assim por diante, pergunta muito ampla.
Esta pergunta é muito importante. E pouca gente sabe responder isto no Brasil. No Brasil, a grande maioria do pessoal só sabe que existe Sistema de Informação. O que é um sistema de informação? São estes sites com telas de cadastro. Cadastro de cliente, produto, registros de vendas, relatórios de vendas, de salários. O famoso “cadastrão”. Infelizmente o brasil andou para esta situação. As faculdades, os cursos… tudo leva o brasileiro de TI para ser um criador de “Cadastrão”. O famoso CRUD (create, read, update, delete). Ou seja Criar registro na tabela. Ler registro da tabela. Atualizar registro na tabela. Deletar registro da tabela.
Mas a informática não é só isso. A computação não é só isso. Existe toda uma outra camada. A camada da COMPUTAÇÃO. Que é diferente da camada da Tecnologia da Informação.
Na Tecnologia da Informação (TI), o foco está no trabalho com tecnologias que servem para manipular informações. Geralmente informações comerciais. Por exemplo: um sistema que controla as informações sobre uma loja de roupas. Um sistema que controla informações sobre o dinheiro que o banco emprestou para os clientes. Um sistema que controla informações sobre anúncios de celulares e também sobre usuários que querem comprar estes celulares. Tudo isso é SISTEMA DE INFORMAÇÃO. Para trabalhar nesta camada, você precisa aprender as tecnologias mais usadas pelo mercado de trabalho que está nesta camada. Ou seja: as tecnologias de cadastrão. Isso significa Bancos de dados (SQL, NoSQL, oracle, Postgres, etc). HTML, CSS, JavaScript, React, Angular, Jquery, Java, Ruby On Rails, PHP, Asp.net. Tecnologias de coisas web para armazenar seu cadastrão: as nuvens microsoft, google e amazon. Servidores web. Microserviços. Docker. Git. Para ir por este caminho, geralmente a pessoa estuda Sistemas de Informação, Análise de Sistemas, Desenvolvimento Web ou algum curso relacionado a estas tecnologias de mercado (coisas comerciais que giram ao redor de CADASTROS).
Por outro lado, a camada da COMPUTAÇÃO é diferente e trabalha com focos e tecnologias diferentes. Objetivos diferentes. Como você falou: trabalha com problemas de computação. E não com problemas e regras de negócios de lojas de roupas, seguradoras, bancos e mercados online. Para ir por este caminho, geralmente a pessoa estuda o curso universitário chamado Ciência da Computação.
Exemplos de tecnologias abordadas pelo Cientista da Computação são:
-
Compiladores (como criar seu próprio compilador. E não como usar um compilador para criar um cadastro de peças de roupas).
-
Computação gráfica: compreensão profunda, abrangente e completa sobre como funcionam os algoritmos que geram imagens 2d, 3d. Você entende como funcionam os algoritmos que geram as imagens que os computadores usam. Você cria um algoritmo que transforma código em imagens 2d ou 3d, os efeitos, os raios de luz, as texturas. Não estou falando que você vai usar um programa pronto para criar as fotos que vão ser usadas numa loja online de roupas. Você vai aprender a criar os componentes internos do Photoshop. Você vai entender como o windows se comunica com a placa de vídeo.
-
Inteligência artificial: você aprende os fundamentos teóricos dos algoritmos que possibilitam a inteligência artificial. Você realmente aprende a criar, do zero, uma rede neural. Você mesmo cria um motor de inferência. Você estuda e entende os algoritmos e técnicas mais famosas e depois tenta criar a sua. Não estou falando que você vai aprender a usar APIs prontas para colocar um chat bot num site de loja online. Você aprende a criar inteligências artificiais desde o zero.
-
Microprocessamento: você aprende todos os detalhes fundamentais do funcionamento interno de um processador. Ou CPU. Não estou falando que você aprende a instalar CPUs em clientes que precisam de manutenção do computador que estragou. Você vai aprender como um processador funciona. A lógica matemática de funcionamento das operações. Como ele se comunica com a memória. Como ele processa os comandos que vêm dos programas.
-
Sistemas operacionais: você entende todos os fundamentos sobre o que é um sistema operacional. Como ele é programado. Como funciona o kernel. Como programar seu próprio kernel. Como o SO controla o hardware. Como os módulos se comunicam. Quais são os diferentes tipos de SO para cada diferente tipo de arquitetura de computador. Não é estudar como instalar o Ubuntu e o WIndows juntos na mesma máquina. É um estudo acadêmico e profundo sobre como um SO é construído desde o zero.
Existem várias áreas mais comerciais, mas ainda assim focadas em Computação, e não Cadastrão. Por exemplo: uma pessoa formada em Ciência da Computação tem o conhecimento teórico necessário para se dedicar a algum destes focos:
Desenvolvimento de novos Browsers. Trabalhar numa equipe que está melhorando um navegador.
Empresas que trabalham com a pesquisa de vírus para o desenvolvimento de algoritmos que detectam e eliminam estes virus. Empresas que desenvolvem o próprio antivirus.
Empresas que desenvolvem e melhoram as IDEs (Eclipse, Visual Studio, IntelliJ). Estou falando das pessoas que criam a IDE. Não das pessoas que usam a IDE para criar um site de loja online.
Servidores Web. Criar ou melhorar servidores web. Ao invés de usar servidores web para simplesmente colocar seu site de loja online lá dentro. Você criaria um concorrente do Apache ou do Tomcat.
Máquinas Virtuais ou “Ambientes de execução”. A JVM por exemplo. O interpretador do Python. O Node.
O node é um bom exemplo. Surgiu recentemente e a pessoa que criou o Node ficou muito famosa. O node poderia ser considerado um tipo de concorrente da JVM do Java. Estou falando das pessoas que programaram a JVM e o Node do zero. E não das pessoas que usam a JVM para fazer o sistema de cadastro que os funcionários do banco usam para cadastras clientes.
Criação de softwares que gerenciam bancos de dados (por exemplo, a oracle criou o banco de dados. Ela não usa o banco de dados para fazer cadastrões de produtos de lojas).
Processamento de imagens. Drivers. Sistemas de gerenciamento de redes de computadores. Software embarcado em hardware.
Álgebra computacional, Estrutura de dados, Interação homem-computador, Otimização combinatória, Pesquisa operacional, Planejamento automatizado, Reconhecimento de padrões, Recuperação de informações, Redes de Petri, Redes neurais, Redes semânticas, Segurança de computadores, Sistemas multiagentes, Tolerância a falhas, Arquitetura de computadores, Computação distribuída, Computação paralela, Computação quântica.
E temas mais focados em teorias e estudos acadêmicos como: Paradigmas de programação, Circuitos digitais, Complexidade computacional, Criptografia, Métodos formais, Pesquisa e ordenação, Projeto e análise de algoritmos, Robótica, Semântica formal, Teoria da computabilidade, Teoria da computação, Teoria dos algoritmos de informação, Teoria dos autômatos.
Como você pode ver, é todo um universo. Enorme. Variado. E no entanto, este universo passa longe da atual fase brasileira de informática. Hoje no Brasil, o jovem que se interessa por computação entra num curso e vai direto para a camada da Tecnologia da Informação. Como se a camada da Ciência da Computação nem existisse. O aluno é praticamente obrigado a ir para o mercado de trabalho das empresas que criam cadastros comerciais. Ele nem tem contato com as tecnologias da COMPUTAÇÃO.
Lógico que os cursos de Ciência da Computação existem aqui no Brasil e são livres e abertos para todos. Mas o grande problema é que enquanto os jovens, que não conhecem estas coisas, ainda estão nas fases iniciais de pesquisar os cursos, perguntar as coisas para amigos e para fóruns e grupos na internet, em 99% dos casos as pessoas que respondem as perguntas vão simplesmente falar:
“Ah, você gosta de informática? Então faça um curso de TI”
(Ou seja, tecnologia da informação, criação de sistemas comerciais, criação de cadastros).
Não tem nada de errado em passar sua vida inteira criando sistemas de cadastros para lojas, bancos e escritórios.
Mas a computação (informática) não é só isso. Existem milhares, milhões de jovens que se interessam pela computação por causa da COMPUTAÇÃO. Eles querem trabalhar com SOFTWARE. E não com sistemas de cadastro.
Qual é a diferença entre um Software e um sistema de cadastro? É a mesma diferença que existe entre o Adobe Photoshop e o Mercado Livre. A mesma diferença que existe entre o Navegador Mozilla Firefox e o sistema de gestão comercial da TOTVS. A mesma diferença entre o Avast Antivirus e o sistema usado na padaria para cadastrar vendas e produtos. A diferença entre o Ubuntu e o Facebook. A diferença entre o Blender e o UOL. A diferença entre o AutoCad e o site da Folha de São Paulo. O site da Folha é um sistema de cadastro de textos. O AutoCad é um software para criação e edição de modelos em 3D.
Cadastrão é uma coisa. Software é outra coisa.
O Microsoft Windows é uma coisa. O site da OLX (cadastro de produtos e clientes), é outra coisa.
Trabalhar com Software: Ciência da Computação.
Trabalhar com sistemas de cadastro: Tecnologia da Informação. Sistemas de Informação. Análise e Desenvolvimento de Sistemas. Desenvolvimento Web.
Estudar Software é estudar Ciência da Computação. Quem se forma nesta área pode ir trabalhar lá dentro da Microsoft criando novos módulos internos do Windows. Pode trabalhar melhorando alguma distribuição do Linux. Pode ir trabalhar na Kaspersky melhorando o antivirus deles. Pode ser contratado pelo Google para melhorar algum módulo interno do Android ou trabalhar dentro da Apple criando novos módulos do iOS.
Estudar TI (tecnologia da informação) é estudar Sistemas de Informação, Análise de Sistemas ou Desenvolvimento web. Quem se forma nesta área está habilitado a trabalhar para empresas que precisam de sistemas de gerenciamento de informações. Ou seja: sistemas de cadastro.
Faz parte, por que a Computação “raiz” ou mais acadêmica, por função de suas políticas de ensino não é a mesma dos cursos com uma grade mais “técnica” ou específica para o mundo do trabalho. Imagino que, por focar demais ora em um ora em outro que Computação acabe ficando muito fechada em si mesma, gerando profissionais “alienados” do mundo, ótimos cientistas mas não controlam o que produzem, ótimos técnicos porém sem ética, e até ótimos usuários mas que não sabem detalhar o porque daquilo ser o que é.
Computação perpassa, se não todas, muitas áreas do Conhecimento, incluindo, acredito eu, tópicos de ciências humanas, que a galera mais tradicional de exatas não se bate. Isso porque tecnologia nada mais é que ciência materializada, ou conteúdos científicos formados concretos, palpáveis, tradidos em determinado contexto social e econômico.
Acredito que não existe essa de topicos exclusivamente de informática, apenas tópicos que apenas com informática possam ser resolvidos, executados, mas não necessariamente compreendidos.
Computação mesmo nasceu dos estudos na area de matemática, assim como eletrônica nasceu derivada da física aplicada.
Por exemplo, se você for fazer um sistema para o governo, vai precisar respeitar as normas de transparência, ESG, segurança e sabe-se la mais o que.
Se for fazer um programa especifico para um hospital, em meus requisitos dr sistema tem de ser bem relacionados com as normas clínicas e de saude, coisa que pode ser mister da medicina.
Pra finalizar, o Uber usa em seu Algoritmo conteúdos de Algebra Linear aplicada.
É que o que ocorre, nos cursos mais técnicos, é uma formação mais específica e imediatista para o mercado de trabalho. Aí acaba perdendo esse olhar mais holístico. Informática é problema de todos, mas não é que todos são um problema de informática.
Agora se quiser algo mais técnico, o mais próximo que imagino são topicos de redes de computador.