












































Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Ebook resumo curso de programação Fullstack Java
Tipologia: Esquemas
1 / 52
Esta página não é visível na pré-visualização
Não perca as partes importantes!













































SOMOSTERA.COM A
Após ler este e-book, esperamos que você:
» conheça o que são stacks e as diferenças entre elas;
» descubra como a carreira de full stack pode ser promissora;
» entenda as linguagens de programação que você pode estudar;
» saiba como escolher um bom curso de full stack e montar seu portfólio.
Vamos começar essa jornada? Boa leitura!
PAULA ALLEMAND Desenvolvedora de Software e expert na Tera
CÉSAR MARTINS Engenheiro de Computação e desenvolvedor de novos produtos na Tera
MARCELO DE SIMONI Software Development Project Leader no Mercado Livre
DESENVOLVIMENTO
DE SOFTWARE:
CONHECENDO A ÁREA
DESENVOLVIMENTO DE SOFTWARE: CONHECENDO A ÁREA
FASES DO DESENVOLVIMENTO
Como surge um site ou aplicativo? Antes de colocar a mão na massa e ‘codar’ —ou seja, usar um código—profissionais de desenvolvimento de software cos- tumam seguir algumas etapas. Algumas delas, inclusive, têm interação com outros setores da empresa.
Para que você entenda melhor a dinâmica, separamos algumas das etapas que costumam fazer parte do processo.
Tudo começa com o estudo das necessidades de quem vai utilizar o software, pois ele é produzido para ANÁLISE DE REQUISITOS^ atender a uma delas. Requisitos são basicamente as características e funcionalidades de todo sistema. A partir de uma necessidade, o time chega a diversas funções que implementam uma solução.
1
2
3
4
5
Essa é a fase de utilizar uma linguagem e de fato colocar a mão na massa na codificação das funcionalidades do produto. TESTES Depois que você já implementou algo e tem um sistema funcional em mãos, é interessante realizar a testagem do produto para garantir que ele está consistente e que ele realmente atende aos objetivos traçados.
Nessa fase, o produto será finalmente implantado no ambiente em que as pessoas usarão ou será transformado em uma versão para ser baixada.
DESENVOLVIMENTO DE SOFTWARE: CONHECENDO A ÁREA
Stacks são grupos de conhecimentos e tecno- logias usadas no desenvolvimento de software. Você já deve ter ouvido termos como front-end e back-end. Além dessas duas stacks mais conhe- cidas, o mercado tem criado ainda outras frentes de trabalho.
Entenda mais de cada uma dessas vertentes a seguir.
A tarefa de profissionais front-end é construir um esqueleto estrutural de uma página e de um con- junto de páginas com seus devidos links. Define o posicionamento de elementos, pensa as intera- ções com o usuário, estabelece animações e re- cursos gráficos dinâmicos e desenvolve um fluxo de utilização. Assim, cuida do design e da experi- ência de uso.
[Linguagens que usa: JAVASCRIPT | HTML | CSS]
DESENVOLVIMENTO DE SOFTWARE: CONHECENDO A ÁREA
BANCO DE DADOS
Para que um sistema simule a realidade e resolva um problema concreto, é preciso utilizar estrutu- ras que armazenam dados. Os bancos de dados são modelados e construídos a partir do mun- do real para permitir o gerenciamento e a auto- matização de ações comuns no nosso mundo. Funcionam como uma memória do sistema para permitir que ele consiga operar e registrar infor- mações úteis.
A habilidade aqui envolve a modelagem de ban- cos que atendam a um problema e a um conjunto de requisitos, a criação desses bancos com uma linguagem específica, as consultas/manipula- ções dos dados e o controle de restrições e de acesso aos dados.
INFRAESTRUTURA
Todo sistema precisa rodar em algum lugar. A in- fraestrutura cuida do momento de colocar um sistema no ar e das estruturas necessárias para que a aplicação funcione corretamente.
Também gerencia manutenção e possíveis mu- danças que serão feitas no futuro, uma vez que o sistema já é público e já funciona em um ambien- te. Pensa em termos de computação em nuvem, integração contínua, testes, DevOps e outros conceitos relevantes.
POR QUE SER
FULL STACK?
DESENVOLVIMENTO DE SOFTWARE: CONHECENDO A ÁREA
Tem as habilidades para tratar desde os requisitos até a implantação.
Mesmo que não precise executar todo o trabalho, tem visão ampla para garantir entregas de qualidade no time. Conhece diferentes linguagens de programação. (^) Relatórios como o HackerRank destacam o desenvolvimento full stack como uma das áreas mais requisitadas do momento.
O Fórum Econômico Mundial destaca o desenvolvimento full stack como uma das áreas promissoras dos últimos tempos.
Tem desejo de adquirir mais conhecimento continuamente.
Segundo a Catho, o estado de São Paulo registrou crescimento de 671% em 2020 em vagas do setor.
Tem capacidade de autogestão e auto-organização do trabalho.
Sabe trabalhar em equipe e gosta de resolver problemas de maneira criativa.
POR QUE SER FULL STACK?
ATUAÇÃO NAS EMPRESAS
Como falamos antes, a pessoa que atua como full stack não tem capacidades sobre-humanas, com conhecimentos absurdos em todas as áreas. Pode ser uma pessoa que é muito boa no fron- t-end, mas conhece e sabe usar as tecnologias mais relevantes de back-end, de banco de dados e de infraestrutura. Ou uma pessoa de back que também conhece front e banco de dados.
Ou seja, o perfil varia, assim como as atribuições nas empresas. Isso faz com que uma transição de carreira para a área seja viável para profissionais com diferentes bagagens prévias.
POR QUE SER FULL STACK?
O cenário mais comum para programadores e pro- gramadoras full stack é virar o “faz-tudo” da sua empresa. A pessoa já é contratada para lidar com todo tipo de problema na criação ou manutenção de sistemas web, em um papel generalista. Isso acontece principalmente em empresas menores, que não dispõem de orçamento para divisões en- tre especialistas.
Entretanto, existe também a situação em que a pessoa full stack é contratada para atuar em con- junto com front-ends e back-ends. Principalmente em organizações que já não atuam mais no mo- delo de cascata e adotaram uma estratégia de desenvolvimento ágil. Nesse caso, ela chega para ajudar em ambos os lados, atuando como uma assistência onde quer que seja necessário.
Assim, profissionais de desenvolvimento full sta- ck atuam com uma visão holística, ampla, pro- funda, de quem pode gerenciar e administrar a equipe. Podem até mesmo representar a equipe de devs em reuniões e interações com as pessoas de negócios.
POR QUE SER FULL STACK?
“A abordagem full stack é super importante principalmente para profissionais que estão em início de carreira. Primeiro porque, ao conhecer front e back end, a empregabilidade de profissionais aumenta, tornando o leque de oportunidades muito maior. Quando a gente olha para o mercado, tanto o front quanto o back-end têm ótimas oportunidades.”
Software Development Project Leader no Mercado Livre
Além disso, devs full stack podem atuar especifi- camente como front, como back ou como admi- nistradores de banco de dados também. Sendo que essas pessoas são flexíveis o suficiente para assumir outras funções sempre que for necessá- rio, por algum problema ou alguma saída de com- ponentes na equipe.
POR QUE SER FULL STACK?
“Essa evolução salarial pode acontecer em um período de tempo bem interessante, dependendo da dedicação e da ascensão da pessoa. Não é algo que demora muitos e muitos anos, como acontece em áreas mais tradicionais. Isso porque o mercado da área está muito aquecido. Uma pesquisa da Associação Brasileira de Empresas de Tecnologia da Informação que diz que, até 2024, 260 mil vagas de programadores não serão preenchidas. Ou seja, vai haver um déficit nesse mercado no Brasil. Isso foi acelerado pela pandemia, em que apenas em São Paulo tivemos um aumento de 600% de anúncios de vagas para desenvolvedores. Essa demanda tende a crescer não só no Brasil como no exterior, consequentemente inflacionando os salários.”
Engenheiro de Computação e desenvolvedor de novos produtos na Tera
POR QUE SER FULL STACK?
É importante avaliar os diferentes casos. O funda- mental nesse sentido é que a área é devidamente requisitada e oferece de fato muitas oportunida- des interessantes. Até mesmo fora do Brasil, as pessoas que estudam full stack conseguem vagas com bons salários e oportunidades de ascensão.
É preciso deixar claro que esses valores podem variar bastante a depender da vaga e do nível de senioridade exigido.