O documento discute o papel e a carreira de um desenvolvedor de software. Ele explica que desenvolvedores precisam compreender requisitos de sistemas através de conversas com analistas e clientes. Também discute a importância de padrões de projeto, aprendizado contínuo e dominar o inglês para ter sucesso na carreira. Finalmente, lista algumas tecnologias em alta demanda como arquitetura de microsserviços, computação em nuvem e Internet das Coisas.
genesis - Acelerando o desenvolvimento de aplicações desktop
O papel e a carreira de um desenvolvedor de software
1. O papel e a carreira de um
desenvolvedor de software
Michel Graciano
2. Apresentação
▪ Instrutor na Código Efetivo e Arquiteto de
Sistemas para a Betha Sistemas
▪ Mais de 14 anos de experiência
▪ Membro do SouJava, GUJavaSC e colaborador em
projetos open source, como o NetBeans
▪ Palestrante em eventos como JavaOne USA e
Brasil, TDC Floripa e JustJava
▪ Sistemas de Informação pela UNISUL
3. O papel do desenvolvedor
▪ Compreender requisitos de sistemas
○ Conversa com analistas de requisitos
○ Conversa com clientes e usuários
○ Questionar responsáveis
▪ Desenvolver software com qualidade
○ Padrões de projeto
○ Software Craftsmanship Manifesto
○ Não existe superhero
6. Padrões de projeto
Os padrões de projeto, também conhecidos como
design patterns, surgem para descrever, capturar e
nomear técnicas para solução de problemas de
software. (Buschmann et al, 2007)
Grande bola de lama (Big Ball of Mud), conhecem
algum software assim?
7. Carreira do desenvolvedor
▪ Como se tornar um bom desenvolvedor de
software?
▪ Onde posso trabalhar?
▪ Como lidar com novas tecnologias?
▪ O que devo estudar hoje?
8. Como se tornar um bom
desenvolvedor de software?
▪ Traçar objetivos e metas atingíveis
– Aprender novas tecnologias
– Fazer certificações e cursos
– Participar de eventos
– Publicar artigos
9. Como se tornar um bom
desenvolvedor de software?
▪ Domínio do idioma inglês
– É a língua de facto na área de tecnologia
– Deve se ter uma ótima compreensão
– Todos os bons materiais são em língua inglesa
– Para se atualizar tem que conviver com inglês
– É mais fácil que Português ☺
10. Como se tornar um bom
desenvolvedor de software?
▪ Não ficar estagnado
– Hackear (no bom sentido)
– Participar de eventos e cursos
– Estudar outras disciplinas além do que você conhece
– Estudo eterno!
11. Como se tornar um bom
desenvolvedor de software?
▪ Ler bastante
– Livros de programação, padrões, arquitetura,
gerenciamento de projetos
– Artigos, Blogs, Twitter (apenas conteúdo relevante)
– Autores: Martin Fowler, Uncle Bob, Kent Back, GoF
“In theory, theory and practice are the same. In practice, they
are not.” ― Albert Einstein
12. Onde posso trabalhar como
desenvolvedor de software?
▪ Empresas locais e regionais
– Grandes empresas em Criciúma
– Polos tecnológicos em Florianópolis e Tubarão
▪ Empresas de grandes centros ou exterior
– Trabalho remoto (home office)
– Mudar-se para grandes centros ou exterior
▪ Sempre haverá lugar para um bom desenvolvedor
dentro de um time, é só questão de
amadurecimento
13. Como lidar com novas tecnologias?
▪ Avaliar os requisitos, a equipe, o negócio e o RoI
▪ Ficar atento a movimentação do mercado
▪ Participar e contribuir com comunidades Open
Source (devlists, GitHub)
▪ Selecionar a tecnologia de forma responsável
14. O que devo estudar hoje?
▪ Arquitetura de sistemas distribuídos
○ Modelos RESTful
○ Modelos Reativos
▪ Linguagens Java, JavaScript, Scala, Go, Rust, etc
○ Plataforma Java EE, Spring, Akka, NodeJS, etc
▪ Frameworks Client-Side (AngularJS, ReactJS, etc)
▪ Banco de dados relacionais e NoSQL
▪ Desenvolvimento mobile
▪ Computação em nuvem (Cloud computing)
15. Trending
▪ Modelo RESTful e Reativos;
▪ Microserviços (Sistemas distribuídos)
○ Não é algo simples, muito cuidado com a moda!
▪ IoT (Internet of Things)
▪ Wearables