SlideShare a Scribd company logo
1 of 16
Download to read offline
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

More Related Content

What's hot

Carreira de desenvolvedor
Carreira de desenvolvedorCarreira de desenvolvedor
Carreira de desenvolvedorLucas Moura
 
Tecnologias & Desafios: a Vida de uma Front-ender na Europa
Tecnologias & Desafios: a Vida de uma Front-ender na EuropaTecnologias & Desafios: a Vida de uma Front-ender na Europa
Tecnologias & Desafios: a Vida de uma Front-ender na EuropaTatiane Aguirres Nogueira
 
Métodos Ágeis - UNIBH - Introdução
Métodos Ágeis - UNIBH - IntroduçãoMétodos Ágeis - UNIBH - Introdução
Métodos Ágeis - UNIBH - IntroduçãoJoaquim Lopes Júnior
 
Coding Dojo - Unreal Engine
Coding Dojo - Unreal EngineCoding Dojo - Unreal Engine
Coding Dojo - Unreal EngineAdolfo Neto
 
TDC2018SP | Trilha XP - Faca a diferenca com Code Review
TDC2018SP | Trilha XP - Faca a diferenca com Code ReviewTDC2018SP | Trilha XP - Faca a diferenca com Code Review
TDC2018SP | Trilha XP - Faca a diferenca com Code Reviewtdc-globalcode
 
TDC2016POA | Trilha PHP - Quero ser desenvolvedor PHP. Como me preparar para ...
TDC2016POA | Trilha PHP - Quero ser desenvolvedor PHP. Como me preparar para ...TDC2016POA | Trilha PHP - Quero ser desenvolvedor PHP. Como me preparar para ...
TDC2016POA | Trilha PHP - Quero ser desenvolvedor PHP. Como me preparar para ...tdc-globalcode
 
Palestra Programa Jovens Talentos no IFSul
Palestra Programa Jovens Talentos no IFSulPalestra Programa Jovens Talentos no IFSul
Palestra Programa Jovens Talentos no IFSulilegra
 
Além do código dicas de evolução profissional
Além do código   dicas de evolução profissionalAlém do código   dicas de evolução profissional
Além do código dicas de evolução profissionalRodrigo Kono
 
Previsibilidade em desenvolvimento de software
Previsibilidade em desenvolvimento de softwarePrevisibilidade em desenvolvimento de software
Previsibilidade em desenvolvimento de softwareDenis Ferrari
 
TDC2018SP | XP - O que nao e XP!
TDC2018SP | XP - O que nao e XP!TDC2018SP | XP - O que nao e XP!
TDC2018SP | XP - O que nao e XP!tdc-globalcode
 
Como influenciar outras pessoas a adotarem código limpo
Como influenciar outras pessoas a adotarem código limpoComo influenciar outras pessoas a adotarem código limpo
Como influenciar outras pessoas a adotarem código limpoMary Provinciatto
 
PHP Profissional - Ferramentas e Padrões
PHP Profissional - Ferramentas e PadrõesPHP Profissional - Ferramentas e Padrões
PHP Profissional - Ferramentas e PadrõesFlávio Lisboa
 
TDC2016POA | Trilha PHP - Por que utilizar o Laravel?
TDC2016POA | Trilha PHP - Por que utilizar o Laravel?TDC2016POA | Trilha PHP - Por que utilizar o Laravel?
TDC2016POA | Trilha PHP - Por que utilizar o Laravel?tdc-globalcode
 
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...tdc-globalcode
 
Aula 4 - O Profissional de TI
Aula 4 - O Profissional de TIAula 4 - O Profissional de TI
Aula 4 - O Profissional de TIFilipo Mór
 
Como se preparar para atuar em projetos internacionais?
Como se preparar para atuar em projetos internacionais?Como se preparar para atuar em projetos internacionais?
Como se preparar para atuar em projetos internacionais?João Carlos da Silva Junior
 
Universidade Positivo/PR - Paradigmas de Programação
Universidade Positivo/PR - Paradigmas de ProgramaçãoUniversidade Positivo/PR - Paradigmas de Programação
Universidade Positivo/PR - Paradigmas de ProgramaçãoRodrigo Pereira
 
SENID2016 - O LibreLogo como ferramenta para desenvolvimento do pensamento co...
SENID2016 - O LibreLogo como ferramenta para desenvolvimento do pensamento co...SENID2016 - O LibreLogo como ferramenta para desenvolvimento do pensamento co...
SENID2016 - O LibreLogo como ferramenta para desenvolvimento do pensamento co...Gilvan Vilarim
 

What's hot (20)

Carreira de desenvolvedor
Carreira de desenvolvedorCarreira de desenvolvedor
Carreira de desenvolvedor
 
Tecnologias & Desafios: a Vida de uma Front-ender na Europa
Tecnologias & Desafios: a Vida de uma Front-ender na EuropaTecnologias & Desafios: a Vida de uma Front-ender na Europa
Tecnologias & Desafios: a Vida de uma Front-ender na Europa
 
Condingdojo
CondingdojoCondingdojo
Condingdojo
 
Métodos Ágeis - UNIBH - Introdução
Métodos Ágeis - UNIBH - IntroduçãoMétodos Ágeis - UNIBH - Introdução
Métodos Ágeis - UNIBH - Introdução
 
Coding Dojo - Unreal Engine
Coding Dojo - Unreal EngineCoding Dojo - Unreal Engine
Coding Dojo - Unreal Engine
 
TDC2018SP | Trilha XP - Faca a diferenca com Code Review
TDC2018SP | Trilha XP - Faca a diferenca com Code ReviewTDC2018SP | Trilha XP - Faca a diferenca com Code Review
TDC2018SP | Trilha XP - Faca a diferenca com Code Review
 
TDC2016POA | Trilha PHP - Quero ser desenvolvedor PHP. Como me preparar para ...
TDC2016POA | Trilha PHP - Quero ser desenvolvedor PHP. Como me preparar para ...TDC2016POA | Trilha PHP - Quero ser desenvolvedor PHP. Como me preparar para ...
TDC2016POA | Trilha PHP - Quero ser desenvolvedor PHP. Como me preparar para ...
 
Palestra Programa Jovens Talentos no IFSul
Palestra Programa Jovens Talentos no IFSulPalestra Programa Jovens Talentos no IFSul
Palestra Programa Jovens Talentos no IFSul
 
Além do código dicas de evolução profissional
Além do código   dicas de evolução profissionalAlém do código   dicas de evolução profissional
Além do código dicas de evolução profissional
 
Previsibilidade em desenvolvimento de software
Previsibilidade em desenvolvimento de softwarePrevisibilidade em desenvolvimento de software
Previsibilidade em desenvolvimento de software
 
TDC2018SP | XP - O que nao e XP!
TDC2018SP | XP - O que nao e XP!TDC2018SP | XP - O que nao e XP!
TDC2018SP | XP - O que nao e XP!
 
Como influenciar outras pessoas a adotarem código limpo
Como influenciar outras pessoas a adotarem código limpoComo influenciar outras pessoas a adotarem código limpo
Como influenciar outras pessoas a adotarem código limpo
 
PHP Profissional - Ferramentas e Padrões
PHP Profissional - Ferramentas e PadrõesPHP Profissional - Ferramentas e Padrões
PHP Profissional - Ferramentas e Padrões
 
TDC2016POA | Trilha PHP - Por que utilizar o Laravel?
TDC2016POA | Trilha PHP - Por que utilizar o Laravel?TDC2016POA | Trilha PHP - Por que utilizar o Laravel?
TDC2016POA | Trilha PHP - Por que utilizar o Laravel?
 
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
 
Visita A Uma Empresa Web
Visita A Uma Empresa WebVisita A Uma Empresa Web
Visita A Uma Empresa Web
 
Aula 4 - O Profissional de TI
Aula 4 - O Profissional de TIAula 4 - O Profissional de TI
Aula 4 - O Profissional de TI
 
Como se preparar para atuar em projetos internacionais?
Como se preparar para atuar em projetos internacionais?Como se preparar para atuar em projetos internacionais?
Como se preparar para atuar em projetos internacionais?
 
Universidade Positivo/PR - Paradigmas de Programação
Universidade Positivo/PR - Paradigmas de ProgramaçãoUniversidade Positivo/PR - Paradigmas de Programação
Universidade Positivo/PR - Paradigmas de Programação
 
SENID2016 - O LibreLogo como ferramenta para desenvolvimento do pensamento co...
SENID2016 - O LibreLogo como ferramenta para desenvolvimento do pensamento co...SENID2016 - O LibreLogo como ferramenta para desenvolvimento do pensamento co...
SENID2016 - O LibreLogo como ferramenta para desenvolvimento do pensamento co...
 

Viewers also liked

O papel do Front-End na UX
O papel do Front-End na UXO papel do Front-End na UX
O papel do Front-End na UXEdu Agni
 
Desenvolvimento Java
 Desenvolvimento Java Desenvolvimento Java
Desenvolvimento JavaSerge Rehem
 
Carreira em Desenvolvimento de Software
Carreira em Desenvolvimento de SoftwareCarreira em Desenvolvimento de Software
Carreira em Desenvolvimento de SoftwareFlávio de Sousa
 
Carreira em desenvolvimento de software
Carreira em desenvolvimento de softwareCarreira em desenvolvimento de software
Carreira em desenvolvimento de softwareMarcos Ferreira
 
Palestra sobre Carreira Java / JavaEE - TDC2012 - Trlha Java
Palestra sobre Carreira Java / JavaEE - TDC2012 - Trlha JavaPalestra sobre Carreira Java / JavaEE - TDC2012 - Trlha Java
Palestra sobre Carreira Java / JavaEE - TDC2012 - Trlha JavaGlobalcode
 
Papéis em Teste e Qualidade de Software
Papéis em Teste e Qualidade de SoftwarePapéis em Teste e Qualidade de Software
Papéis em Teste e Qualidade de SoftwareCamilo Ribeiro
 

Viewers also liked (8)

O papel do Front-End na UX
O papel do Front-End na UXO papel do Front-End na UX
O papel do Front-End na UX
 
Desenvolvimento Java
 Desenvolvimento Java Desenvolvimento Java
Desenvolvimento Java
 
Carreira em Desenvolvimento de Software
Carreira em Desenvolvimento de SoftwareCarreira em Desenvolvimento de Software
Carreira em Desenvolvimento de Software
 
Construindo um currículo de peso com Open Source
Construindo um currículo de peso com Open SourceConstruindo um currículo de peso com Open Source
Construindo um currículo de peso com Open Source
 
De Padawan a Jedi - A Saga do Desenvolvedor Java
De Padawan a Jedi - A Saga do Desenvolvedor JavaDe Padawan a Jedi - A Saga do Desenvolvedor Java
De Padawan a Jedi - A Saga do Desenvolvedor Java
 
Carreira em desenvolvimento de software
Carreira em desenvolvimento de softwareCarreira em desenvolvimento de software
Carreira em desenvolvimento de software
 
Palestra sobre Carreira Java / JavaEE - TDC2012 - Trlha Java
Palestra sobre Carreira Java / JavaEE - TDC2012 - Trlha JavaPalestra sobre Carreira Java / JavaEE - TDC2012 - Trlha Java
Palestra sobre Carreira Java / JavaEE - TDC2012 - Trlha Java
 
Papéis em Teste e Qualidade de Software
Papéis em Teste e Qualidade de SoftwarePapéis em Teste e Qualidade de Software
Papéis em Teste e Qualidade de Software
 

Similar to O papel e a carreira de um desenvolvedor de software

O papel e a carreira do arquiteto de software
O papel e a carreira do arquiteto de softwareO papel e a carreira do arquiteto de software
O papel e a carreira do arquiteto de softwareLeonardo Zanivan
 
Como se tornar um desenvolvedor de software melhor
Como se tornar um desenvolvedor de software melhorComo se tornar um desenvolvedor de software melhor
Como se tornar um desenvolvedor de software melhorLeonardo Zanivan
 
Lidando com Equipes de Desenvolvimento
Lidando com Equipes de DesenvolvimentoLidando com Equipes de Desenvolvimento
Lidando com Equipes de Desenvolvimento4Soft
 
programming.success - carreira de programador
programming.success - carreira de programadorprogramming.success - carreira de programador
programming.success - carreira de programadorVinícius Krolow
 
Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...
Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...
Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...Marcio Miyamoto
 
A Carreira de Desenvolvedor: do Jr ao Sênior
A Carreira de Desenvolvedor: do Jr ao SêniorA Carreira de Desenvolvedor: do Jr ao Sênior
A Carreira de Desenvolvedor: do Jr ao SêniorMarcos Pereira
 
Utilizando BDD com Specflow e Selenium para testes Web MSP Tech Day Curitiba
Utilizando BDD com Specflow e Selenium para testes Web MSP Tech Day CuritibaUtilizando BDD com Specflow e Selenium para testes Web MSP Tech Day Curitiba
Utilizando BDD com Specflow e Selenium para testes Web MSP Tech Day CuritibaCleiton Felipe Moraes
 
Testes Automatizados e Especificação Por Exemplo - Unindo TI e Negócio atravé...
Testes Automatizados e Especificação Por Exemplo - Unindo TI e Negócio atravé...Testes Automatizados e Especificação Por Exemplo - Unindo TI e Negócio atravé...
Testes Automatizados e Especificação Por Exemplo - Unindo TI e Negócio atravé...Bruno Bemfica
 
O mercado de trabalho para a T.I.
O mercado de trabalho para a T.I.O mercado de trabalho para a T.I.
O mercado de trabalho para a T.I.Yan Magalhães
 
Global Software Development - O que pode ser aplicado?
Global Software Development - O que pode ser aplicado?Global Software Development - O que pode ser aplicado?
Global Software Development - O que pode ser aplicado?Rafael Glanzner
 
Agile br2011 lucabastos-prog10x-noiteagilcaelum
Agile br2011 lucabastos-prog10x-noiteagilcaelumAgile br2011 lucabastos-prog10x-noiteagilcaelum
Agile br2011 lucabastos-prog10x-noiteagilcaelumLuca Bastos
 
Meetup: Cultura de UX – Ladies That UX Florianópolis
Meetup: Cultura de UX – Ladies That UX FlorianópolisMeetup: Cultura de UX – Ladies That UX Florianópolis
Meetup: Cultura de UX – Ladies That UX FlorianópolisLadies That UX Florianópolis
 
Modelagem de usuários
Modelagem de usuáriosModelagem de usuários
Modelagem de usuáriosLuciana Nunes
 
"Mas eu não tenho experiência..." E daí??? - Como quebrar o ciclo vicioso de...
 "Mas eu não tenho experiência..." E daí??? - Como quebrar o ciclo vicioso de... "Mas eu não tenho experiência..." E daí??? - Como quebrar o ciclo vicioso de...
"Mas eu não tenho experiência..." E daí??? - Como quebrar o ciclo vicioso de...Julio Cesar Nunes de Souza
 
Apresentação do vídeo introdutório do workshop inception enxuta
Apresentação do vídeo introdutório do workshop inception enxutaApresentação do vídeo introdutório do workshop inception enxuta
Apresentação do vídeo introdutório do workshop inception enxutaMayra de Souza
 

Similar to O papel e a carreira de um desenvolvedor de software (20)

O papel e a carreira do arquiteto de software
O papel e a carreira do arquiteto de softwareO papel e a carreira do arquiteto de software
O papel e a carreira do arquiteto de software
 
Como se tornar um desenvolvedor de software melhor
Como se tornar um desenvolvedor de software melhorComo se tornar um desenvolvedor de software melhor
Como se tornar um desenvolvedor de software melhor
 
Carreira de dev
Carreira de devCarreira de dev
Carreira de dev
 
Lidando com Equipes de Desenvolvimento
Lidando com Equipes de DesenvolvimentoLidando com Equipes de Desenvolvimento
Lidando com Equipes de Desenvolvimento
 
Iniciando uma carreira de Tecnologia em 2023
Iniciando uma carreira de Tecnologia em 2023Iniciando uma carreira de Tecnologia em 2023
Iniciando uma carreira de Tecnologia em 2023
 
programming.success - carreira de programador
programming.success - carreira de programadorprogramming.success - carreira de programador
programming.success - carreira de programador
 
Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...
Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...
Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...
 
A Carreira de Desenvolvedor: do Jr ao Sênior
A Carreira de Desenvolvedor: do Jr ao SêniorA Carreira de Desenvolvedor: do Jr ao Sênior
A Carreira de Desenvolvedor: do Jr ao Sênior
 
Utilizando BDD com Specflow e Selenium para testes Web MSP Tech Day Curitiba
Utilizando BDD com Specflow e Selenium para testes Web MSP Tech Day CuritibaUtilizando BDD com Specflow e Selenium para testes Web MSP Tech Day Curitiba
Utilizando BDD com Specflow e Selenium para testes Web MSP Tech Day Curitiba
 
Testes Automatizados e Especificação Por Exemplo - Unindo TI e Negócio atravé...
Testes Automatizados e Especificação Por Exemplo - Unindo TI e Negócio atravé...Testes Automatizados e Especificação Por Exemplo - Unindo TI e Negócio atravé...
Testes Automatizados e Especificação Por Exemplo - Unindo TI e Negócio atravé...
 
O mercado de trabalho para a T.I.
O mercado de trabalho para a T.I.O mercado de trabalho para a T.I.
O mercado de trabalho para a T.I.
 
Global Software Development - O que pode ser aplicado?
Global Software Development - O que pode ser aplicado?Global Software Development - O que pode ser aplicado?
Global Software Development - O que pode ser aplicado?
 
Agile br2011 lucabastos-prog10x-noiteagilcaelum
Agile br2011 lucabastos-prog10x-noiteagilcaelumAgile br2011 lucabastos-prog10x-noiteagilcaelum
Agile br2011 lucabastos-prog10x-noiteagilcaelum
 
Meetup: Cultura de UX – Ladies That UX Florianópolis
Meetup: Cultura de UX – Ladies That UX FlorianópolisMeetup: Cultura de UX – Ladies That UX Florianópolis
Meetup: Cultura de UX – Ladies That UX Florianópolis
 
Negócios em FLOSS
Negócios em FLOSSNegócios em FLOSS
Negócios em FLOSS
 
Modelagem de usuários
Modelagem de usuáriosModelagem de usuários
Modelagem de usuários
 
"Mas eu não tenho experiência..." E daí??? - Como quebrar o ciclo vicioso de...
 "Mas eu não tenho experiência..." E daí??? - Como quebrar o ciclo vicioso de... "Mas eu não tenho experiência..." E daí??? - Como quebrar o ciclo vicioso de...
"Mas eu não tenho experiência..." E daí??? - Como quebrar o ciclo vicioso de...
 
Fórum - Carreiras do Administrador
Fórum - Carreiras do AdministradorFórum - Carreiras do Administrador
Fórum - Carreiras do Administrador
 
Apresentação do vídeo introdutório do workshop inception enxuta
Apresentação do vídeo introdutório do workshop inception enxutaApresentação do vídeo introdutório do workshop inception enxuta
Apresentação do vídeo introdutório do workshop inception enxuta
 
Clean Coder
Clean CoderClean Coder
Clean Coder
 

More from Michel Graciano

Aplicando CDI em aplicações Java
Aplicando CDI em aplicações JavaAplicando CDI em aplicações Java
Aplicando CDI em aplicações JavaMichel Graciano
 
Finalmente java sabe trabalhar com data e hora (gu java sc)
Finalmente java sabe trabalhar com data e hora (gu java sc)Finalmente java sabe trabalhar com data e hora (gu java sc)
Finalmente java sabe trabalhar com data e hora (gu java sc)Michel Graciano
 
CON6423: Scalable JavaScript applications with Project Nashorn
CON6423: Scalable JavaScript applications with Project NashornCON6423: Scalable JavaScript applications with Project Nashorn
CON6423: Scalable JavaScript applications with Project NashornMichel Graciano
 
Finalmente java sabe trabalhar com data e hora
Finalmente java sabe trabalhar com data e horaFinalmente java sabe trabalhar com data e hora
Finalmente java sabe trabalhar com data e horaMichel Graciano
 
Designing Java EE Applications in the Age of CDI
Designing Java EE Applications in the Age of CDIDesigning Java EE Applications in the Age of CDI
Designing Java EE Applications in the Age of CDIMichel Graciano
 
Introdução a CDI e como utilizá-la em aplicações reais
Introdução a CDI e como utilizá-la em aplicações reaisIntrodução a CDI e como utilizá-la em aplicações reais
Introdução a CDI e como utilizá-la em aplicações reaisMichel Graciano
 
genesis - Acelerando o desenvolvimento de aplicações desktop
genesis - Acelerando o desenvolvimento de aplicações desktopgenesis - Acelerando o desenvolvimento de aplicações desktop
genesis - Acelerando o desenvolvimento de aplicações desktopMichel Graciano
 

More from Michel Graciano (7)

Aplicando CDI em aplicações Java
Aplicando CDI em aplicações JavaAplicando CDI em aplicações Java
Aplicando CDI em aplicações Java
 
Finalmente java sabe trabalhar com data e hora (gu java sc)
Finalmente java sabe trabalhar com data e hora (gu java sc)Finalmente java sabe trabalhar com data e hora (gu java sc)
Finalmente java sabe trabalhar com data e hora (gu java sc)
 
CON6423: Scalable JavaScript applications with Project Nashorn
CON6423: Scalable JavaScript applications with Project NashornCON6423: Scalable JavaScript applications with Project Nashorn
CON6423: Scalable JavaScript applications with Project Nashorn
 
Finalmente java sabe trabalhar com data e hora
Finalmente java sabe trabalhar com data e horaFinalmente java sabe trabalhar com data e hora
Finalmente java sabe trabalhar com data e hora
 
Designing Java EE Applications in the Age of CDI
Designing Java EE Applications in the Age of CDIDesigning Java EE Applications in the Age of CDI
Designing Java EE Applications in the Age of CDI
 
Introdução a CDI e como utilizá-la em aplicações reais
Introdução a CDI e como utilizá-la em aplicações reaisIntrodução a CDI e como utilizá-la em aplicações reais
Introdução a CDI e como utilizá-la em aplicações reais
 
genesis - Acelerando o desenvolvimento de aplicações desktop
genesis - Acelerando o desenvolvimento de aplicações desktopgenesis - Acelerando o desenvolvimento de aplicações desktop
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
  • 4. Desafio: Entender as necessidades
  • 5. Desafio: Entender as necessidades ▪ Gerencia as necessidades e os requisitos
  • 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