DEV Community

Cover image for Carreiras na Área de TI
Ruan Sales
Ruan Sales

Posted on

Carreiras na Área de TI

Introdução

No cotidiano de hoje do século 21, a tecnologia é uma das áreas que mais cresce em nível de envolvimento, disponibilidade e profissionalmente. O mercado aquecido, sedento por profissionais qualificados criaram uma maré de cursos, escolas, com a função de ensinar e disseminar o que até o século passado era tido como uma área totalmente fechada.

Para este artigo, vamos levar em consideração o curso tecnólogo de Análise e Desenvolvimento de Sistemas, que tem período médio de formação entre 2,5 e 3 Anos. Também tido como uma porta de entrada para quem nunca teve um contato tão próximo ou até mesmo para quem precisa de uma formação mais rápida e focada. No decorrer deste artigo, iremos por em evidência as áreas na qual um Analista de Sistemas poderá atuar.

Áreas de atuação e suas tecnologias

Front-End

Image description

O Front-End ou client-se (lado do cliente), é o ramo de atuação da pessoa que prefere trabalhar com a identidade visual de aplicações, sejam, Web Sites, Telas de App's, Identidade Visual de Programas. É a pessoa que trabalha no lado do cliente, ou seja, é responsável pela criação e implementação da parte visual na qual o usuário (cliente) terá acesso e será diretamente ligado.

Vale ressaltar que nem todo Front-End é Designer, apesar de ter uma similaridade e aproximação entre as áreas e muitos Front-Ends conhecerem e dominarem áreas co-relatas como UX (User Experience) e UD (User Designer), ou seja, Designer do Usuário e Experiência do Usuário, além do Front-End ter a possibilidade de apenas retirar do papel ou de layouts criados em programas como Photoshop ou Figma, transformando em código e pondo em prática uma ideia, ele também poderá entender e implementar eventos, esquema de cores, usabilidade, acessibilidade e demais temas ligados ao User Experience.

Logo quando houve-se que Front-End é fácil, eu por opinião própria não levaria essa afirmação como verdade, existem diversas atividades que apenas um Front-End pode entender a nível de código, implementação e complexidade.

Principais Tecnologias

As tecnologias mais comuns de serem utilizadas, podem ser chamadas de Tríade do Front-End, são elas, Html, Css e JavaScript, cada uma delas possuem uma função específica e primordial para uma devida implementação a nível estrutural.

  • HTML
    HyperText Markup Language ou Linguagem de Marcação de Hipertexto, é a linguagem que cria as estruturas de páginas Webs (Sites, Landing Pages e afins), mas também é responsável pela criação de interfaces visuais Mobile (app).

  • CSS
    Cascading Style Sheets ou Folhas de Estilo em Cascata, é a tecnologia utilizada para dar formado e estilização a páginas, com atributos que podem ser colocados diretamente nas estruturas de HTML, utilizando-se de classes, identificadores ou estilos de linha única, podendo assim implementar simples espaçamentos, cores, tipo de fonte, como também ações complexas como transições, efeitos e responsividade que é chamado de Interoperabilidade ou seja, um sistema que poderá ser executado tanto em navegadores como em aplicativos móveis, televisões e afins.

  • JavaScript
    Aqui está a cereja do bolo, se o HTML cria estruturas, o CSS implementa as estilizações, aqui está a cola que junta tudo isso, pois com o JavaScript (JS), poderá ser manipulado tanto o HTML, CSS, bem como lógicas para criação de eventos, seja de mouse, tela, click, teclado ou diversas outras lógicas e eventos que se possa imaginar.

Quando falamos de avanços na área do Front-End, temos bibliotecas que fazem a junção dessas tecnologias, como por exemplo o Bootstrap ou Materialize, são bibliotecas que podem ser importadas em seus projetos, que trazem diversas funções e estilizações, a nível de Javascript e Css, que podem ser linkadas ou seja, utilizadas de classes nas tags e estruturas html de seus projetos, mas deixemos isso apenas como informação inicial, pois é um tema para outro dia.

Back-End

Image description

O Back-End ou Server Side (lado do servidor), é a área de atuação onde o desenvolvedor trabalhará com linguagens de programação voltadas para criação de regras de negócios, como por exemplo, incidência de juros, descontos, promoções, no caso de um sistema de Loja Virtual, bem como também poderá tratar do cadastro, cálculo de notas, envio de emails, formação de turmas de maneira automatizada, quando falamos de um sistema educacional.

Ainda sobre Back-end, visto que o mesmo trabalha com servidores, temos a figura do banco de dados, onde através do Back-End o desenvolvedor irá recuperar os dados de alguma ação do Front-End, realizar a tratativa e lógicas pertinentes ao negócio e suas regras e por final salvar em um banco de dados, que pode ser relacional ou não relacional, porém essa diferenciação deixemos para um ponto mais a frente.

Diferentemente do Front-End onde tudo poderá ser rodado via de regra no Browser sem necessidade de servidores, linguagens Back-End necessitam que algum software criem essa estrutura, quando eles mesmos não criam e levantam, como no caso do PHP ou Javascript usando NodeJS. Contudo existem uma grande diferenciação entre linguagens Back-End, que são as Interpretadas, Transpiladas e Compiladas, um exemplo claro disso, são as linguagens, PHP, JavaScript e Java.

O PHP é uma linguagem interpretada, ou seja, ao levantar seu servidor, o mesmo tem a capacidade de ler os comandos, interpretar as ações e retornar para o usuário algo visual.

O javascript por sua vez, além de interpretado, poderá ser transpilado, visto que suas versões em determinados usos, precisam de interpretadores que transformam códigos modernos em versões mais novas, para estruturas mais antigas, como é um exemplo do Babel, que faz a conversão das sintaxes do JS moderno para uma versão compreendida pelo Browser, essa ação é chamada de transpilação.

Por outro lado o Java é uma linguagem compilada, ou seja, seu código é escrito em um arquivo, que ao final passará por um compilador, que criará outro arquivo com um ByteCode, que seria algo parecido com transformar o texto escrito em códigos binários (código de máquina), para que assim, possa ser executado pelo servidor, retornando as ações que o script implementa.

Ainda sobre o mesmo tempo, virá o questionamento, qual tipo de linguagem utilizar? Compilada? Interpretada? Transpilada? Essa resposta é "depende", dependerá muito da aplicação as ser criada, dependerá do que a empresa implementa por padrão, se é um projeto pequeno, se é robusto, se é para estudos. Uma coisa que deve ser entendida desde o começo é que linguagem é ferramenta, ou seja, dependerá do trabalho no qual você irá atuar, a final de contas, via de regra, ninguém vai matar uma formiga com um martelo, nem tão pouco levantar um saco de arroz com um guindaste.

Mobile

Image description

A área de Mobile é a mais nova área em expansão na área de desenvolvimento, visto que hoje em dia, dificilmente encontra-se uma plataforma web que não possua uma versão Mobile ou App exclusivo, a criação de aplicativos móveis, para televisões ou demais dispositivos é uma crescente inegável e muitos desenvolvedores migram para área e estudantes já tendem a focar a sua especialização nesta área.

Principais Tecnologias

Hoje em dia uma das principais tecnologias para criação de aplicações Mobile é o Javascript, com a biblioteca React Native, onde você com códigos que utilizam-se de Html, Css e uma sintaxe personalizada do javascript chamada JSX, consegue transformar seu código em código nativo de dispositivos e criar aplicações de todos os níveis. Vale ressalvar que o React Native, teve uma crescente, pois é a tecnologia que com apenas um código, se cria aplicações para Android ou IOS sendo assim multi-plataforma.

Não podemos esquecer do Swift que é a linguagem nativa para criação de aplicações IOS ou seja, para dispositivos da Apple, através dela você produz códigos para aplicações exclusivas IOS, seja Celulares, Tablets, etc...

No que se refere à aplicações Android, poderá ser usado Kotlin, além de algumas outras linguagens, mas vamos focar em Kotlin, que é uma linguagem aproximada ao Java, que pode ser utilizada para criação de Apps Android para diversos tipos de dispositivos.

DBA - Administrador de Banco de Dados

Image description

DBA na realidade não é uma profissão voltada pro curso de ADS (Análise e Desenvolvimento de Sistemas), mas nada impede durante a graduação se foque no estudo do banco de dados, e ao sair realize-se uma Pós-graduação, especialização ou mestrado nesta área. O DBA é o profissional que tem como responsabilidade realizar o estudo sobre os dados, suas estruturas e como serão criadas as tabelas, transações, quais atributos serão necessários, além de criar os scripts de automação do banco de dados.

O DBA é a pessoa também responsável pela segurança dos dados, seja a nível de software, criptografia, bem como a segurança física, tangível dos dados, segurança estrutural com Backups, espelhamento, tráfego dos dados e afins.

DevOps

Image description

O Devops, não é exatamente uma especificação do desenvolvimento, é mais uma cultura aplicada ao Desenvolvimento, para que possa ser pensada a integração das múltiplas equipes, desde a gestão, desenvolvimento, negócios, gerencias e afins, criando um ciclo produtivo e mais controlável.

Com tudo que é estudado no curso de Análise e Desenvolvimento de Sistemas, é muito comum que os Dev's em geral conheçam a cultura do Devops, visto que eles estão envolvidos na criação dos softwares, bem como na manutenção de seus servidores, ambientes, containers, hospedagens e afins.

As empresas hoje em dia investem muito em profissionais especializados, bem como nos profissionais que tenham familiaridade com a cultura Devops, visto que eles podem ter uma maior flexibilidade e trazerem benefícios a níveis estruturais e gerenciais, para projetos e a empresa em si.

Big Data / Ciência de Dados / Inteligência Artificial

Image description

Quando falamos sobre Ciência de Dados ou Big Data, estamos falando sobre a área de análise e estatística de dados de uma aplicação, o que podem ser dados simples, como uma estatística de quantos clicks uma página tem, até uma análise de probabilidade do aumento do Dolar ou Euro, de acordo com o mercado e os dados obtidos em algum lapso de tempo anterior.

Para esses trabalhos, algumas linguagens são utilizadas, mas a que tem o maior destaque é o Python, que tem um poder computacional aprimorado para cálculos grandes em sua arquitetura.

Aproveitando que estamos falando sobre Python, também podemos falar sobre a capacidade de criar e gerenciar automações que a linguagem tem. Desde criação de sistemas automatizados com Raspberry, até a criação de um Software completo como uma inteligência artificial, ou seja, podemos ir desde uma placa RaspY que sirva para automatizar uma cancela em um pedágio, até uma inteligência artificial que possa prever quedas estatisticamente na Bolsa de valores.

Conclusão

Bem poderíamos falar ainda de muito mais possibilidades, diversas outras linguagens, mas podemos ver que a área de atuação é vasta e dependerá muito do gosto do indivíduo, desde o Front-End, até automações complexas de Inteligência Artificial, temos diversos aspectos a serem vistos, diversas possibilidades e sendo assim, muitas vagas ou mercados para serem abrangidos e ocupados.

Sendo assim desejo a quem ficou até o final deste artigo, sucesso em sua carreira, quaisquer dúvidas podem encontrar-me das redes abaixo.

Latest comments (0)