O documento fornece uma visão geral do mercado de desenvolvimento web, discutindo seu crescimento, salários, e as principais áreas e tecnologias envolvidas, como front-end, back-end, design, banco de dados, nuvem, metodologias ágeis e mais. Oferece dicas para iniciantes começarem na área, como escolher um cargo em alta demanda, aprender HTML, CSS, JavaScript e uma linguagem back-end como Python.
3. 3
Crescimento
Crescimento de 24% de vagas na
próxima década.
Alta demanda
Desenvolvimento de Software
Fonte: U.S. Department of Labor, Occupational Outlook Haandbook, Software Developers.
https://www.bls.gov/ooh/computer-and-information-technology/software-developers.htm
1.4M+ de vagas
sobrando até 2020
Salário médio
$106k por ano
4. 4
Desenvolvimento Web na frente!
Fonte: Stack Overflow Survey 2019. https://insights.stackoverflow.com/survey/2019#developer-roles
7. 7
A
CB
Concept Planning & Design
Maior entendimento do usuário
Mais utilização de Inteligência Artificial e
dados históricos
Práticas de Design separadas por
objetivo
Cargos: UI Designer, UX Designer,
Machine Learning Developer, Big Data
Developer, Data Scientist.
9. 9
A
B
Modelo Cliente Servidor
Cliente requisita informações (HTML, CSS, Javascript, etc)
Servidor valida a requisição através de lógica de negócio,
consulta banco de dados, e devolve resposta ao cliente.
10. 10
A
B
Coding
Responsável por todas as
tecnologias que entregam o
HTML, estilos (CSS) e scripts
(Javascript) para o usuário
Responsável por todas as tecnologias
que mantém um servidor do site,
respondendo às requisições dos
usuários de forma escalável, resiliente e
com o menor downtime possível
FULL STACK DEVELOPMENT: FRONT-END + BACK-END
Obs: Também existe Mobile!
11. 11
Tecnologias de Front-end
Fonte: The Front-End Spectrum, Jeff Pelletier. https://medium.com/@withinsight1/the-front-end-spectrum-c0f30998c9f0
12. 12
Tecnologias de Back-end
Fonte: Web Developer Roadmap 2019. https://github.com/kamranahmedse/developer-roadmap
- Linguagem de Programação Back-end (Python, Ruby,
node.js, …)
- Gerenciamento de pacotes: pip, npm, yarn
- Testes: Unit testing, TDD
- Frameworks para a linguagem
- Bancos relacionais e não-relacionais: MongoDB, Redis,
Memcached
- Autenticação: OAuth, Basic Authentication, Token
Authentication
- Servidores: Apache, Nginx
- Docker
- …
13. 13
A
CB
Quality Guarantee and Deploy
- Preocupação com qualidade antes, durante e após o
deploy!
- QA Engineer: pessoa que testa funcionalidades,
performance, escalabilidade, etc
- Software Security Engineer: faz uma análise de
possíveis brechas de segurança e dá recomendações
para mitigá-las.
- Devops: "dev" + “ops”. Retira do desenvolvedor o
trabalho operacional nos deploys.
- SRE engineer: Metodologia com foco na
escalabilidade e resiliência de aplicações, retirando o
Cargos: Administrador de sistemas (Sysadmin), Administrador
de banco de dados (DBA), Quality Assurance (QA) Engineer,
SRE Engineer e Devops Engineer.
14. 14
A
CB
Em meio a isso tudo…
- Mudanças na Infraestrutura: Infraestrutura e serviços na nuvem:
Cloud Computing
- Infrastructure as a Service (IaaS):
- Infraestrutura flexível
- Pagamento pelo uso
- Distribuição geográfica
- Escalável
- Outras termos comuns: Platform as a Service (PaaS) e Software as a Service
(SaaS).
Cargos: Cloug Computing Engineer, AWS Engineer.
15. 15
A
CB
Em meio a isso tudo…
- Desenvolvimento ágil ao
invés de Waterfall
- Metodologias típicas: Scrum e
Kanban.
Fonte: Moving from Waterfall to Agile with Kanban. https://www.digite.com/
blog/waterfall-to-agile-with-kanban/
Cargos: Scrum Master (SM),
Product Owner (PO), Agile
Coach.
18. 18
É muita coisa!
Fonte da Imagem: https://simpleprogrammer.com/technical-skills-software-developer/
19. 19
Como iniciar na carreira
Escolha um cargo em alta:
Fonte: Stack Overflow Survey 2019. https://insights.stackoverflow.com/survey/2019#developer-roles
20. 20
O que é necessário aprender?
O realmente necessário é o seguinte:
Front-end:
Back-end:
- HTML
- CSS
- Javascript
- Uma linguagem (recomendo Python e/ou Javascript)
- Como a web funciona (Redes básico, Protocolos
HTTP, DNS, APIs.
- Uso básico de terminal
21. 21
E depois?
- Recomendo seguir o Web Development Roadmap (https://
github.com/kamranahmedse/developer-roadmap)
- Praticar através de pequenos projetos
- Depois de construir uma base sólida, é preciso ficar atento às
tendências. Tudo pode mudar em 5 anos!
22. 22
Sobrevivendo na carreira
- Aceite: você está sempre aprendendo;
- Aceite: você não vai aprender tudo de uma vez;
- Utilize a regra de Pareto: 80/20
“80% dos seus resultados vem de 20% dos seus esforços”
- Pesquise sobre a área, mercado, cargos, tecnologias. Depois, crie
um plano de estudos. Onde você quer estar daqui a 5 anos?
23. 23
Encontrando motivação
- Faça o bem enquanto desenvolve sua carreira;
“Code for social good”
- Contribua para o Open Source
- Não fique sozinho: procure apoio, conecte-se com as pessoas.
Eventos, Meetups, grupos no Facebook, Twitter
Pessoas de grupos de diversidade (LBGTQ, mulheres, negros,
deficientes, pessoas mais velhas), existem meetups com públicos
parecidos. Se não, faça seu próprio meetup!
- Separe tempo para lazer
24. 24
Outras dicas importantes
- Desista do que está dando errado
- Cuide da sua saúde
Faça exercícios, durma bem, cuide da sua ergonomia, coluna. Se
alimente bem.
- Desenvolva sua inteligência emocional
O que me faz feliz? O que me faz triste, produtivo, focado, desfocado?
- Aprenda a aprender, aprenda a memorizar.
Procure por spaced repetition
- Você não é só um aprendiz: ensine!
25. 25
Obrigado!
Quer trabalhar na globo.com? Temos vagas: https://talentos.globo.com
Quer falar comigo? https://www.linkedin.com/in/hectornieva/ ou
hectornmelo@gmail.com
Perguntas?