o papel e a carreira de um desenvolvedor de software

16
O papel e a carreira de um desenvolvedor de software Michel Graciano

Upload: michel-graciano

Post on 16-Apr-2017

70 views

Category:

Technology


1 download

TRANSCRIPT

O papel e a carreira de um desenvolvedor de software

Michel Graciano

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

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

Desafio: Entender as necessidades

Desafio: Entender as necessidades

▪ Gerencia as necessidades e os requisitos

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?

Carreira do desenvolvedor

▪ Como se tornar um bom desenvolvedor de software?

▪ Onde posso trabalhar?▪ Como lidar com novas tecnologias?▪ O que devo estudar hoje?

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

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 ☺

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!

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

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

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

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)

Trending

▪ Modelo RESTful e Reativos;▪ Microserviços (Sistemas distribuídos)

○ Não é algo simples, muito cuidado com a moda!

▪ IoT (Internet of Things)▪ Wearables

Obrigado!

github.com/mgraciano

@mgraciano

http://www.slideshare.net/mgraciano