Uploaded by lucas.mattos

E-book - Guia de Carreira em Desenvolvimento Full Stack

advertisement
DESENVOLVIMENTO
FULL STACK
O guia completo para
começar na área
SOMOSTERA.COM
A
SUMÁRIO
02
INTRODUÇÃO
04
DESENVOLVIMENTO DE SOFTWARE:
CONHECENDO A ÁREA
10
POR QUE SER FULL STACK?
20
8 PASSOS IMPORTANTES PARA
ENTRAR NESSE MERCADO
43
[BÔNUS] GLOSSÁRIO DE
PROGRAMAÇÃO
INTRODUÇÃO
Quando falamos de linguagens de programação, o desafio parece ser o mesmo ou maior do que aprender
uma língua diferente. Isso preocupa algumas pessoas,
no entanto, o processo para ganhar ‘fluência’ na língua
dos códigos não difere em nada das outras disciplinas: exige interesse, dedicação e passos na direção
certa.
Se você está lendo este e-book, pode estar querendo saber quais são esses passos. Por isso, ao longo do
texto, queremos trazer esse caminho de conhecimentos e habilidades para você ingressar com confiança
na carreira de desenvolvimento full stack.
Você vai começar compreendendo sobre a área de desenvolvimento, vai conhecer a dinâmica da atuação
nas empresas e, por fim, vai descobrir 8 passos essenciais para sair do zero até sua primeira oportunidade
neste mercado que está mais aquecido do que nunca.
Tudo isso com suporte das dicas de 3 experts desse
mercado:
SOMOSTERA.COM
02
PAULA ALLEMAND
CÉSAR MARTINS
MARCELO DE SIMONI
Desenvolvedora
de Software e expert
na Tera
Engenheiro de Computação
e desenvolvedor de novos
produtos na Tera
Software Development
Project Leader no
Mercado Livre
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!
SOMOSTERA.COM
03
DESENVOLVIMENTO
DE SOFTWARE:
CONHECENDO A ÁREA
_
DESENVOLVIMENTO DE SOFTWARE: CONHECENDO A ÁREA
Apps de celular, sistemas para PC, aplicações
acessadas na internet, sites de banco, sites de
streaming: o que todos esses sistemas tecnológicos têm em comum? Eles foram construídos com
um método, um esquema, uma sistematização.
É claro que o processo não necessariamente seguiu as mesmas etapas ou envolveu as mesmas
funções, mas existiu e seguiu uma estrutura.
Esse processo é o objeto de estudo da área
de desenvolvimento de software. Esse campo
está preocupado em entender como conseguir
criar sistemas tecnológicos de maneira eficiente, pensando nas necessidades das pessoas em
utilizá-los.
SOMOSTERA.COM
05
_
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 costumam 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.
1
COMPREENSÃO DAS
NECESSIDADES DE CLIENTES
Tudo começa com o estudo das
necessidades de quem vai utilizar o
software, pois ele é produzido para
ANÁLISE DE REQUISITOS
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.
2
atender a uma delas.
3
PROGRAMAÇÃO
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.
4
5
SOMOSTERA.COM
IMPLEMENTAÇÃO
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.
06
_
DESENVOLVIMENTO DE SOFTWARE: CONHECENDO A ÁREA
ENTENDENDO
AS STACKS
Stacks são grupos de conhecimentos e tecnologias usadas no desenvolvimento de software.
Você já deve ter ouvido termos como front-end e
back-end. Além dessas duas stacks mais conhecidas, o mercado tem criado ainda outras frentes
de trabalho.
Entenda mais de cada uma dessas vertentes a
seguir.
FRONT-END
A tarefa de profissionais front-end é construir um
esqueleto estrutural de uma página e de um conjunto de páginas com seus devidos links. Define
o posicionamento de elementos, pensa as interações com o usuário, estabelece animações e recursos 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]
SOMOSTERA.COM
07
_
DESENVOLVIMENTO DE SOFTWARE: CONHECENDO A ÁREA
BACK-END
O back-end é responsável por gerenciar a lógica
do servidor em uma aplicação web: administrar
requisições enviadas pela pessoa usuária, autenticar e validar informações, fazer conexões com
APIs e códigos de outras aplicações, etc. Cuida do
aspecto interno e infraestrutural.
[Linguagens que usa: Python | PHP | Java]
MOBILE
O desenvolvimento mobile é aquele que aplica
conhecimentos de design e interação das pessoas usuárias, lógica de programação e lógica
de acesso aos recursos de um dispositivo para
criar produtos que rodam em hardwares compactos, com menor tamanho e menor poder de
processamento/armazenamento.
A pessoa especializada nisso tem que saber criar
interfaces legíveis em pequenas telas, bem como
saber se comunicar com as especificidades dos
aparelhos nos quais o sistema vai rodar.
SOMOSTERA.COM
08
_
DESENVOLVIMENTO DE SOFTWARE: CONHECENDO A ÁREA
BANCO DE DADOS
Para que um sistema simule a realidade e resolva
um problema concreto, é preciso utilizar estruturas que armazenam dados. Os bancos de dados
são modelados e construídos a partir do mundo real para permitir o gerenciamento e a automatização de ações comuns no nosso mundo.
Funcionam como uma memória do sistema para
permitir que ele consiga operar e registrar informações úteis.
A habilidade aqui envolve a modelagem de bancos 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 infraestrutura 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 mudanças que serão feitas no futuro, uma vez que o
sistema já é público e já funciona em um ambiente. Pensa em termos de computação em nuvem,
integração contínua, testes, DevOps e outros
conceitos relevantes.
SOMOSTERA.COM
09
POR QUE SER
FULL STACK?
_
POR QUE SER FULL STACK?
Depois de navegar por todas essas stacks, você
pode se preocupar com o tanto de conhecimento que uma pessoa full stack vai precisar acumular. Mas, não se preocupe, dominar o processo de
ponta a ponta acaba sendo não só uma vantagem
de mercado, como também uma facilidade por ter
a autonomia do desenvolvimento.
Queremos te contar um pouco mais sobre a dinâmica de profissionais full stack. Confira a seguir
alguns fatos sobre essa carreira e sobre profissionais que atuam em múltiplas stacks.
SOMOSTERA.COM
11
_
DESENVOLVIMENTO DE SOFTWARE: CONHECENDO A ÁREA
PROFISSIONAL FULL STACK
Tem as habilidades para tratar desde
os requisitos até a implantação.
Conhece diferentes
linguagens de programação.
Tem capacidade de autogestão
e auto-organização do trabalho.
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.
SOMOSTERA.COM
Mesmo que não precise executar
todo o trabalho, tem visão ampla para
garantir entregas de qualidade no time.
Relatórios como o HackerRank
destacam o desenvolvimento full stack
como uma das áreas mais requisitadas
do momento.
Segundo a Catho, o estado de São
Paulo registrou crescimento de
671% em 2020 em vagas do setor.
Sabe trabalhar em equipe e gosta
de resolver problemas de maneira
criativa.
12
_
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 front-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.
SOMOSTERA.COM
13
_
POR QUE SER FULL STACK?
“Qualquer pessoa pode ser desenvolvedora
desde que ela tenha acesso aos recursos
necessários e se dedique para aprender
um novo conjunto de competências.
Culturalmente a gente tem uma ‘imagem’
do que seria uma pessoa desenvolvedora,
mas é importante entender que não existe
uma limitação de perfil. Inclusive, se
você é uma pessoa que faz transição de
carreira, a sua história e aquilo que você já
desenvolveu tem muito valor. Não é como
se a gente começasse do zero. Todas as
experiências passadas podem contribuir
para sua atuação. Vir de outra área
não é limitante e inclusive pode ser um
agregador. ”
PAULA ALLEMAND
Desenvolvedora de Software
e expert na Tera
SOMOSTERA.COM
14
_
POR QUE SER FULL STACK?
O cenário mais comum para programadores e programadoras 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 entre especialistas.
Entretanto, existe também a situação em que a
pessoa full stack é contratada para atuar em conjunto com front-ends e back-ends. Principalmente
em organizações que já não atuam mais no modelo 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 stack atuam com uma visão holística, ampla, profunda, 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.
SOMOSTERA.COM
15
_
POR QUE SER FULL STACK?
Além disso, devs full stack podem atuar especificamente como front, como back ou como administradores 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 componentes na equipe.
“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.”
MARCELO DE SIMONI
Software Development
Project Leader no Mercado Livre
SOMOSTERA.COM
16
_
POR QUE SER FULL STACK?
SALÁRIOS
De acordo com dados do portal Glasdoor, o salário
médio de desenvolvedores ou desenvolvedoras
full stack junior é de R$ 2.690 mensais no Brasil.
Para uma pessoa sênior, o valor aumenta bastante, para R$ 8.075.
É interessante observar o que o Glassdoor nos
mostra sobre os salários específicos em determinadas empresas. No iFood, devs full stack ganham em média de R$ 7 mil a R$ 8 mil por mês. Já
uma pessoa com perfil de sênior na empresa de
entregas ganha em média cerca de R$ 14.500 a
R$ 15.745.
SOMOSTERA.COM
17
_
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.”
CÉSAR MARTINS
Engenheiro de Computação e
desenvolvedor de novos produtos na Tera
SOMOSTERA.COM
18
_
POR QUE SER FULL STACK?
É importante avaliar os diferentes casos. O fundamental nesse sentido é que a área é devidamente
requisitada e oferece de fato muitas oportunidades 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.
SOMOSTERA.COM
19
8 PASSOS
IMPORTANTES
PARA ENTRAR
NESSE MERCADO
_
8 PASSOS IMPORTANTES PARA ENTRAR NESSE MERCADO
Para quem está em transição de carreira, é comum ouvir sobre a necessidade de “dar um passo de cada vez”. O problema, em geral, é entender
com clareza quais são esses passos. Esse é seu
caso?
Para ajudar, criamos um pequeno guia de 8 passos para trabalhar com desenvolvimento full stack. Acompanhe as dicas de experts da Tera.
SOMOSTERA.COM
21
_
8 PASSOS IMPORTANTES PARA ENTRAR NESSE MERCADO
PASSO 1
DESENVOLVER RACIOCÍNIO
LÓGICO E LÓGICA DE
PROGRAMAÇÃO
Em programação, o raciocínio lógico é essencial.
Para as tarefas dessa área, você precisará de
uma mentalidade focada em resolver problemas,
em criar fluxos e encadeamentos lógicos e em
compreender operações lógicas básicas, como
“e” e “ou”.
Esse raciocínio que estrutura ideias em sequências, com uma forte ligação de causa-consequência e organização de pontos de decisão, é a base
para tudo. Nesse contexto, destaca-se a própria
noção de algoritmo como um conjunto de etapas
encadeadas e uma receita para construir algo.
Com isso, chegamos também à lógica de programação, outro conhecimento base que você precisa começar a desenvolver desde agora.
SOMOSTERA.COM
22
_
8 PASSOS IMPORTANTES PARA ENTRAR NESSE MERCADO
“Independente de ferramentas,
algumas habilidades são essenciais para
qualquer profissional de tecnologia
independente da posição e função que
atue. Para quem segue o caminho do
desenvolvimento de software, a lógica de
programação, independente da linguagem,
é fundamental para se desenvolver e
fortalecer cada vez mais.”
MARCELO DE SIMONI
Software Development
Project Leader no Mercado Livre
Antes mesmo de se aprofundar em uma linguagem como JavaScript ou Python, é importante reforçar bastante a lógica de programação,
aprender os conceitos mais relevantes e entender a sintaxe de cada uma das linguagens.
O ponto interessante sobre aprender lógica é que
ela se aplica a qualquer tecnologia de programação. Assim, com uma boa base em lógica, você
será capaz de se aventurar por outras linguagens
e resolver problemas de forma mais simples.
SOMOSTERA.COM
23
_
8 PASSOS IMPORTANTES PARA ENTRAR NESSE MERCADO
PASSO 2
APRENDER LINGUAGENS
DE PROGRAMAÇÃO
Depois de entender a lógica de programação,
você pode começar a explorar as linguagens de
programação. Como você viu nas stacks, cada
área usa linguagens diferentes, de acordo com
a necessidade do trabalho. Linguagens como
JavaScript e HTML, por exemplo, são bons pontos
de partida.
Para chegar a full stack, você pode começar
aprendendo linguagens front-end. Ou seja, é preciso saber como construir uma estrutura principal em HTML, como personalizar o estilo com CSS
e como desenvolver uma lógica para as páginas
com o JavaScript. É necessário ir além dos conhecimentos básicos e saber solucionar problemas
com eficiência a partir do uso dessas tecnologias.
O Google criou o aplicativo Grasshopper
para iniciantes aprenderem programação em
JavaScript. Ele é gratuito e tem uma versão em
português, basta procurar na loja de aplicativos
do seu celular.
SOMOSTERA.COM
24
_
8 PASSOS IMPORTANTES PARA ENTRAR NESSE MERCADO
Já na stack back-end, você pode aprender PHP,
Python, Java, C++, C# e até mesmo JavaScript
para usar na construção de infraestruturas.
Claro, para cada projeto, você escolherá uma
delas, mas pode aprender mais de uma para
ter uma boa noção e poder explorar outras
possibilidades.
É preciso saber como aplicar os conceitos dessas linguagens para web especificamente, com
autenticação e validação de informações, APIs,
controle de bancos de dados e outros. Da mesma forma, é fundamental também conhecer os
frameworks e as bibliotecas específicas para o
back-end.
SOMOSTERA.COM
25
_
8 PASSOS IMPORTANTES PARA ENTRAR NESSE MERCADO
PASSO 3
CRIAR UM OLHAR
VOLTADO PARA O USUÁRIO
Para além dos códigos, é essencial ter uma visão
humanizada e centrada na pessoa que vai usar o
site ou aplicativo que você desenvolver. Por isso,
conceitos como usabilidade e mobile first precisam fazer parte do seu vocabulário.
A usabilidade pode ser considerada como parte
do front-end, então, também faz parte do universo full stack. A pessoa programadora que se
dedica a essa área deve, portanto, saber desenhar telas de acordo com os requisitos definidos,
sempre prezando pela melhor experiência de uso
e por agilidade e eficiência. É necessário ter a habilidade de construir interfaces agradáveis, modernas e sólidas.
SOMOSTERA.COM
26
_
8 PASSOS IMPORTANTES PARA ENTRAR NESSE MERCADO
“Existe um imaginário cultural de que,
quando você trabalha com tecnologia, você
trabalha exclusivamente com ferramentas,
softwares, aparelhos e o fator humano
não está presente. Mas, na prática,
quando a gente vê o quanto o mercado se
transformou e as necessidades do mercado
digital, pensar no usuário deixa de ser uma
opção e passa a ser a principal motivação
daquilo que a gente está construindo.
Então, como pessoa desenvolvedora,
quando a gente mexe com códigos, é
importante lembrar que escrevemos
códigos para pessoas e não para máquinas.
Apesar de um código precisar conversar
com uma máquina de maneira bem
sucedida, a máquina não é o nosso foco,
ela é um meio. ”
PAULA ALLEMAND
Desenvolvedora de Software
e expert na Tera
SOMOSTERA.COM
27
_
8 PASSOS IMPORTANTES PARA ENTRAR NESSE MERCADO
Além de saber desenvolver boas interfaces, devs
full stack precisam também saber adaptar suas
telas para o mobile, o que inclui smartphones e
tablets. É importante, sobretudo, pensar primeiro
no mobile, com a criação de telas que já priorizem
essa adaptabilidade desde o começo dos projetos.
Desse modo, tudo é feito com as melhores práticas.
SOMOSTERA.COM
28
_
8 PASSOS IMPORTANTES PARA ENTRAR NESSE MERCADO
PASSO 4
DESENVOLVER COMPETÊNCIAS
SOCIOEMOCIONAIS
No seu percurso de desenvolvimento, não esqueça das soft skills, ou seja, as competências socioemocionais. Elas serão grandes diferenciais tanto
na hora da entrevista de emprego quanto no dia a
dia de interação com as equipes.
A colaboração e a comunicação são duas competências importantes no currículo da pessoa
full stack. Isso porque você trabalhará muito em
equipe. Grandes empresas e startups contam
com times com várias pessoas desenvolvedoras,
que precisam trocar experiências e informações
sobre o processo de produção.
Além disso, é preciso também ter uma boa comunicação com outros times e compreender
demandas apresentadas por pessoas de outros
setores. Conseguir tornar seu conhecimento na
área acessível para quem não tem intimidade com
esse universo e saber como se adaptar ao linguajar de outros setores vai ser um trunfo na carreira.
SOMOSTERA.COM
29
_
8 PASSOS IMPORTANTES PARA ENTRAR NESSE MERCADO
“É preciso ser uma pessoa que tem uma
comunicação assertiva, que passa uma
mensagem clara para quem trabalha
com você e para líderes — isso é algo
fundamental. Além disso, desenvolver
empatia e saber se colocar no lugar das
outras pessoas, trabalhar em equipe e
colaborar é extremamente necessário.”
MARCELO DE SIMONI
Software Development
Project Leader no Mercado Livre
Outras skills comportamentais também chamam
a atenção no contexto do desenvolvimento full
stack. Um dos exemplos é a postura de curiosidade, que sempre deseja se atualizar com relação
a novas tendências. Assim, a pessoa desenvolvedora usufrui do melhor do que está disponível no
mercado e alcança melhores resultados.
Paula Allemand, que é desenvolvedora de software, aponta mais algumas soft skills que contribuem positivamente para o desempenho de uma
pessoa full stack: proatividade, compreensão do
modelo de negócio, escuta ativa e inteligência
emocional.
SOMOSTERA.COM
30
_
8 PASSOS IMPORTANTES PARA ENTRAR NESSE MERCADO
“Ser uma pessoa proativa envolve não
esperar um script pronto, mas conseguir
perceber as nuances de um problema e ir
atrás de conhecimentos. Com isso, você vai
conseguir trazer propostas inovadoras e
isso é muito benéfico dentro da tecnologia.
Além disso, duas outras skills importantes
são a escuta ativa e comunicação, que
vão te ajudar a ouvir e a expressar
suas ideias. A comunicação é uma soft
skill super importante pra uma pessoa
desenvolvedora, porque vai permitir que a
pessoa desenvolvedora consiga “traduzir
o tecniquês” e conversar com pessoas de
outros cargos. É importante salientar que
as necessidades de soft skills podem variar
dependendo do perfil da empresa. Uma
empresa mais hierárquica pode buscar
competências diferentes de uma startup,
por exemplo. ”
PAULA ALLEMAND
Desenvolvedora de Software
e expert na Tera
SOMOSTERA.COM
31
_
8 PASSOS IMPORTANTES PARA ENTRAR NESSE MERCADO
PASSO 5
FAZER UM CURSO DE FULL STACK
Um curso de full stack vai fornecer a base que
você precisa para construir suas habilidades da
melhor maneira possível. Um bom curso ensinará os princípios mais básicos do funcionamento
da web primeiro, depois estabelecerá os conceitos mais complexos, com uma boa divisão entre
front-end e back-end.
Além disso, um curso completo vai permitir que
estudantes tenham uma visão completa do
processo de criação de um site ou aplicação
web.
SOMOSTERA.COM
32
_
8 PASSOS IMPORTANTES PARA ENTRAR NESSE MERCADO
“O mais importante na hora de escolher
um curso para entrar na área de
desenvolvimento de software é considerar
se é uma formação completa, que
considera desde conceitos fundamentais
- para ter uma base sólida - até os
conceitos técnicos mais modernos e
avançados que são usados no mercado,
passando sempre pelas soft skills habilidades comportamentais. Além
disso, se seu objetivo for entrar nessa
área, é importante que o curso apoie
de maneira próxima nessa jornada de
empregabilidade.”
CÉSAR MARTINS
Engenheiro de Computação e
desenvolvedor de novos produtos na Tera
SOMOSTERA.COM
33
_
8 PASSOS IMPORTANTES PARA ENTRAR NESSE MERCADO
SOMOSTERA.COM
34
_
8 PASSOS IMPORTANTES PARA ENTRAR NESSE MERCADO
PASSO 6
CRIAR CURRÍCULO
E PORTFÓLIO
Mais um passo importante antes de conquistar
sua primeira vaga como full stack é ter um currículo e um portfólio adaptados para esse mercado.
Programação é uma atividade que requer prática
para que as pessoas consigam aprender e evoluir. Por isso, é sempre muito pertinente se envolver em projetos práticos, problemas clássicos
e desafios para colocar na tela o que você tem
aprendido. A partir disso, estudantes vão se tornando mais fluentes nos idiomas específicos da
programação.
Nesse quesito, cabe a você escolher: projetos
pessoais com o intuito de treinar, projetos individuais ou em grupo feitos em cursos da área, projetos de outras pessoas no GitHub ou projetos e
desafios que determinados sites como o Frontend
Mentor oferecem. A vantagem dos três primeiros
é poder publicar em seu portfólio e mostrar em
entrevistas.
SOMOSTERA.COM
35
_
8 PASSOS IMPORTANTES PARA ENTRAR NESSE MERCADO
DICA
O GitHub é uma plataforma de armazenamento de código, gestão de projetos e também uma
rede social para profissionais de desenvolvimento de software. É muito conhecido pela maioria das pessoas de tecnologia, principalmente
por sua facilidade de uso e suas vantagens.
Já no currículo, é essencial constar suas certificações e estudos na área, bem como experiências profissionais. Ah, e lembre-se que ter seu
perfil atualizado no LinkedIn e em outras plataformas de vagas é fundamental para aumentar as
chances de garantir uma oportunidade. Isso porque muitas empresas estão buscando talentos
diretamente nesses espaços.
Se você tiver dúvidas sobre os melhores perfis de
empresas para começar a se candidatar como full
stack, aproveite a dica do expert César Martins:
SOMOSTERA.COM
36
_
8 PASSOS IMPORTANTES PARA ENTRAR NESSE MERCADO
“O melhor tipo de empresa para
começar são empresas que entendem
que profissionais em início de carreira
precisam de um suporte para evolução.
É importante que seja um ambiente que
propicie essa troca, essa evolução da
pessoa através da troca com profissionais
mais experientes dentro da empresa.
Empresas de tecnologia tendem a ter
esse perfil, assim como startups mais
consolidadas e empresas como fábricas
de softwares. É importante que quem
se candidata para uma empresa se
sinta confortável e sinta que possa se
desenvolver lá.”
CÉSAR MARTINS
Engenheiro de Computação e
desenvolvedor de novos produtos na Tera
SOMOSTERA.COM
37
_
8 PASSOS IMPORTANTES PARA ENTRAR NESSE MERCADO
PASSO 7
SE ADEQUAR AO MODELO
DE NEGÓCIO DA EMPRESA
Uma pessoa fluente em desenvolvimento full stack é alguém que também conhece bem regras
de negócio e sabe transformá-las em código. Ou
seja, é alguém que entende e se adapta a diferentes modelos de empresas para resolver seus
problemas de maneira eficiente.
Isso requer conhecimento que vai além da programação e de questões técnicas de TI. Envolve
conhecimento de mundo e de conjunturas.
Entender sobre o modelo de negócio requer uma
visão mais ampla tanto sobre objetivos da empresa — seus alvos, seus produtos e indicadores de
sucesso — quanto sobre o público-alvo daqueles
produtos e/ou serviços.
Esse tipo de versatilidade e entendimento vai impactar na forma como a pessoa se comunica com
profissionais das outras áreas do negócio, assim
como ela se porta em entrevistas, mostrando interesse genuíno em participar do sucesso daquela organização.
SOMOSTERA.COM
38
_
8 PASSOS IMPORTANTES PARA ENTRAR NESSE MERCADO
“Na hora de participar de processos
seletivos, é super importante entender não
só o modelo de negócio de uma empresa,
mas também o propósito, a missão que
aquela empresa tem e que pratica no dia
a dia. Essas são informações de domínio
público e que empresas colocam nos sites
e redes sociais, são informações muito
bacanas para quem está almejando vagas
nessas companhias. São informações que
dizem muito sobre o que a empresa busca
e valoriza e vai ajudar a estar aderente a
aquela empresa.”
MARCELO DE SIMONI
Software Development
Project Leader no Mercado Livre
SOMOSTERA.COM
39
_
8 PASSOS IMPORTANTES PARA ENTRAR NESSE MERCADO
PASSO 8
CONTINUAR APRENDENDO
Continue sempre aprendendo. Mesmo que você
chegue a um nível muito bom em suas linguagens
escolhidas e consiga ótimos resultados em projetos como full stack, sempre se mantenha em
estado de aprendizado. Afinal, essa área muda
muito e requer, como já foi falado, que estudantes
e profissionais se mantenham sempre em contato com as atualizações.
Sabemos que a quantidade de conteúdos nessa
área pode assustar quem está iniciando na área.
No entanto, lembre-se que, em um cenário de
constante mudança, ninguém nunca saberá tudo
sobre todos os temas. Todos estão em processo
de desenvolvimento, até mesmo pessoas com
muitos anos de mercado. Focar em uma linguagem de cada vez é uma ótima alternativa para se
desenvolver.
SOMOSTERA.COM
40
_
8 PASSOS IMPORTANTES PARA ENTRAR NESSE MERCADO
“É um fato que tecnologia tem muita coisa
diferente e muita coisa que muda, então é
importante saber como você lida com isso.
Muita gente me pergunta como lidar com
a ansiedade e a sensação de que tem muita
coisa para ser estudada, mas é necessário
trabalhar nas causas dessa ansiedade
e conseguir tornar essas questões
em combustível para a motivação de
continuar aprendendo. Para uma pessoa
em início de carreira, uma boa iniciativa é
escolher uma coisa e focar naquilo já que,
quando você desenvolve sua habilidade
de lógica de programação e construção de
algoritmos e passa a se sentir confortável
ao desenvolver uma linguagem, a
tendência é que seja muito mais fácil
você experimentar outras linguagens e
entender outros frameworks. Por isso, o
foco pode ser uma ótima alternativa para
os primeiros passos.”
PAULA ALLEMAND
Desenvolvedora de Software
e expert na Tera
SOMOSTERA.COM
41
_
8 PASSOS IMPORTANTES PARA ENTRAR NESSE MERCADO
Segundo o HackerRank, estudo que já comentamos aqui, 60% de profissionais full stack tiveram que aprender um novo framework ou
uma nova plataforma no ano passado. É uma
porcentagem maior do que qualquer outra posição profissional. Isso se dá porque novas tecnologias surgem a todo tempo — frameworks de
JavaScript, por exemplo, são inúmeros e continuam crescendo.
É crucial desenvolver a curiosidade para ir atrás
de novas tecnologias, frameworks e padrões: programação é sempre estar buscando novas formas
de resolver problemas.
SOMOSTERA.COM
42
[BÔNUS]
GLOSSÁRIO DE
PROGRAMAÇÃO
_
[BÔNUS] GLOSSÁRIO DE PROGRAMAÇÃO
Que tal começar agora mesmo seus estudos? Um
bom ponto de partida é entender mais sobre alguns termos do universo de Desenvolvimento de
Software. Separamos alguns deles, com um breve
resumo de cada um, e você pode pesquisar e se
aprofundar em cada conceito.
SOMOSTERA.COM
44
_
[BÔNUS] GLOSSÁRIO DE PROGRAMAÇÃO
GLOSSÁRIO DE
PROGRAMAÇÃO
LINGUAGEM DE PROGRAMAÇÃO
Assim como os idiomas tradicionais de comunicação entre
humanos, as linguagens de programação são códigos que
permitem a comunicação entre dois agentes. No caso da
programação, um dos agentes é uma pessoa e o outro é
uma máquina.
REACT
O React é uma poderosa biblioteca para construção de interfaces visuais em JavaScript. Ou seja, é uma ferramenta
ideal para o desenvolvimento front-end.
GIT
Trata-se da tecnologia de controle de versão dos códigos
publicados e armazenados no site. Ou seja, é a ferramenta
que permite gerenciar o histórico de mudanças, recuperar
o sistema para uma versão estável, entre outras soluções.
GITHUB
O GitHub é uma plataforma de armazenamento de código,
gestão de projetos e também uma rede social para profissionais de desenvolvimento de software.
SOMOSTERA.COM
45
_
[BÔNUS] GLOSSÁRIO DE PROGRAMAÇÃO
VARIÁVEIS
Elas representam um espaço na memória disponível para
alocar um determinado valor. O objetivo é registrar uma informação importante para utilizá-la posteriormente.
FUNÇÕES
Funções são pedaços de código que executam alguma tarefa específica. Assim, toda vez que chamamos essa função,
obtemos a sua solução de forma simples e encapsulada.
CONDICIONAIS
As estruturas condicionais dividem o fluxo em uma lógica
similar a de uma árvore. Cada condição permite que o sistema vá para um lado ou para outro da ramificação. Um exemplo é o bloco “if-else”.
FRAMEWORKS
Em tecnologia, frameworks são padrões de bibliotecas e
classes que podem ser usados em diferentes projetos. Ou
seja, são uma espécie de código pronto que pode agilizar o
trabalho de programação.
SOMOSTERA.COM
46
_
[BÔNUS] GLOSSÁRIO DE PROGRAMAÇÃO
DOM
É a estrutura de elementos de uma página. O DOM significa
Modelo de Objeto Documentado e é o conjunto de tags do
HTML, dispostas em uma hierarquia no modelo de árvore.
IDE
Integrated Development Environment é uma plataforma
completa para desenvolvimento de aplicações em linguagens de programação.
API
É um código em comum que possibilita a comunicação entre dois sistemas.
DEPLOY
Deploy é o processo de finalização de um projeto, em que
se gera um código para exportar a aplicação para ser usada
por outras pessoas no dia a dia.
SOMOSTERA.COM
47
CONCLUSÃO
Ser full stack requer uma mudança de mentalidade por
parte das pessoas que se dedicam a programar para
web. Não é a tradicional divisão de saberes, em que
você apenas se preocupa com a sua parte, mas uma
aglutinação dos principais conhecimentos para obter
uma visão geral na hora de ajudar um negócio a oferecer boas soluções para usuários.
Se você está dando os primeiros passos nessa carreira,
esperamos que este e-book tenha trazido mais clareza sobre as possibilidades de atuação, o mercado e as
habilidades mais relevantes.
Sente que já é hora de avançar e entrar de vez nesse
universo? A Tera tem um curso completo de Full
Stack Development para te levar do zero até sua entrada no mercado. Acesse o site e descubra como os
projetos práticos, mentorias de carreira e bolsas estudantis vão te ajudar.
CONHEÇA O CURSO
SOMOSTERA.COM
48
SOBRE A TERA
Somos mais do que uma escola, somos uma comunidade de pessoas apaixonadas por educação e tecnologia.
Acreditamos que um mundo melhor nasce do trabalho
de pessoas conscientes, responsáveis e corajosas que
se apropriam da tecnologia para servir ao coletivo.
EQUIPE EDITORIAL
Redação
Gabriel Sacramento e Rebeca Nascimento
Revisão
Ana Paula Lafuente
Direção de arte
Tatiane Rocha
Diagramação
Marina Ferreira
Apoio de conteúdo
César Martins
SOMOSTERA.COM
SOMOSTERA.COM
51
Download