Profissão:
Desenvolvedor
por Daniel Brandão
Me apresentando
Daniel Brandão
◇Na Informática desde 2002.
◇Desenvolvedor Web desde 2005
◇Professor pelo SENAI (2011-2014), pela
Faculdade AVEC(2013), pelo IFPB e UNIPÊ
(2015)
◇Graduado em SPI (2008)
◇Especialista em Aplicações Web(2015)
O que veremos?
 Breve introdução (senta que lá vem história)
 Evolução na Programação
 Programação Orientada a Objetos (POO)
 Design Patterns (Padrões de Projetos)
 Frameworks
 Mercado de Trabalho para Desenvolvedores
Por onde comecei
Meus primeiros passos
1
1998 – Meu primeiro PC
2002 – Digitador
2003 – Universidade
2004 – Estagiário
2005 – Programador
2009 – Gerente de projetos
2011 – Professor
“
A arte de programar consiste na arte
de organizar e dominar a complexidade.
Edsger Dijkstra
Primeira Experiência
◇Front-end: HTML e CSS.
◇Criação de sites simples e estáticos
◇Sem complexidades e sem Banco de dados.
A evolução2
Sistemas
◇Criação de sites Dinâmicos
■ Flash
■ PHP
■ MySQL
■ …
“
Qualquer um pode escrever um código
que o computador entenda. Bons
programadores escrevem códigos que
os humanos entendam.
Martin Fowler
POO2
Programação Orientada a Objetos
P.O.O.
◇Programação Orientada a Objetos
■ O que é?
■ Porque programar OO?
■ Quais as vantagens?
P.O.O.
◇Programação Orientada a Objetos
■ O que é?
É um conceito que esta relacionado com a ideia de
classificar, organizar e abstrair coisas.
O termo orientação a objetos significa organizar o
mundo real como uma coleção de objetos que
incorporam estrutura de dados e um conjunto de
operações que manipulam estes dados.
P.O.O.
◇Programação Orientada a Objetos
■ O que é?
■ Porque programar OO?
■ Quais as vantagens?
P.O.O.
◇Programação Orientada a Objetos
■ Porque?
- POO é um padrão de desenvolvimento que é seguido
por muitas linguagens, como C#, Java, PHP;
- É mais fácil pensar em objetos do que em funções /
procedimentos pois objetos estão mais próximos ao
mundo real;
- Se bem programado, torna-se mais prática a
manutenção do programa.
P.O.O.
◇Programação Orientada a Objetos
■ O que é?
■ Porque programar OO?
■ Quais as vantagens?
P.O.O.
◇Programação Orientada a Objetos
■ Vantagens?
- Facilidade na manutenção do código;
- Trás vários recursos para produzir componentes
independentes intercambiáveis (encapsulamento,
interfaces, polimorfismo, etc);
- Criação de bibliotecas e utilização de bibliotecas
próprias da linguagem;
Design Patterns
◇O que é isso?
◇Porque MVC?
◇Modelos utilizados
Design Patterns
◇O que é isso?
- Padrão de projeto de software é uma solução geral
reutilizável para um problema que ocorre com
frequência dentro de um determinado contexto no
projeto de software;
- Normalmente mostram relacionamentos e interações
entre classes ou objetos, sem especificar as classes ou
objetos da aplicação final que estão envolvidas.
- MVC – Padrão bastante utilizado em linguagens OO
Design Patterns
◇O que é isso?
◇Porque MVC?
◇Modelos utilizados
Design Patterns
◇MVC
- Model-view-controller (MVC), em português modelo-
visão-controlador, é um padrão de arquitetura de
software (design pattern) que separa a
representação de informação da interação do
usuário com ele;
- Ele divide basicamente em três partes o projeto,
facilitando a manutenção de código e a segurança
no acesso aos dados.
Design Patterns
◇MVC
- O modelo (model) consiste nos dados da aplicação,
regras de negócios, lógica e funções.
- Uma visão (view) pode ser qualquer saída de
representação dos dados, como uma tabela ou um
diagrama. É possível ter várias visões do mesmo dado;
- O controlador (controller) faz a mediação da entrada,
convertendo-a em comandos para o modelo ou visão.
As ideias centrais por trás do MVC são a reusabilidade
de código e separação de conceitos.
Design Patterns
◇O que é isso?
◇Porque MVC?
◇Modelos utilizados
Design Patterns
◇Modelos utilizados (Frameworks)
◇Java
■Apache Struts
■Click Framework
■JSF
■Spring MVC
■Vraptor
■PrimeFaces
◇.NET
■ ASP.NET MVC - oficial da Microsoft
■ C♯ - oficial da Microsoft
Design Patterns
◇Modelos utilizados (Frameworks)
◇PHP
■CakePHP
■CodeIgniter
■Laravel
■Symfony
■Zend Framework
◇Python
■ Django
■ Zope
Design Patterns
◇CMS´s (Content Manager System)
■ CMS é a sigla para Content Management System, ou
em bom português, Sistema Gerenciador de Conteúdo.
Um CMS tem como objetivo facilitar a criação, edição,
publicação e distribuição de informação.
■ Voltado para a Web, são muito utilizados em
linguagens como PHP, Python e Ruby.
O que uma
empresa
Espera de mim?
O que uma
empresa
Espera de mim?
◇Atitude
◇Vontade de aprender
◇Proatividade
◇Bom relacionamento em grupo
◇Caixa de ferramentas
Frameworks
Usar ou Criar?
◇ Criação
◇ Utilização
3. Carreira: Por
onde começar?
Carreira
Dicas úteis
◇ Não pule etapas
◇ Almeje um objetivo
◇ Invista em você mesmo
◇ Aproveite as oportunidades
◇ Não pise nos outros para crescer
◇ Compartilhe o conhecimento
Como alçar
vôos
Mais altos?
Ter um bom
network
Segredos da carreira de
Desenvolvedor
Manter-se
atualizado
Nunca achar
que sabe tudo
Perguntas?
Obrigado!Você pode me achar por aqui:
◇DanielBrandao.com.br
◇Twitter @daniel85br
◇FB.me/danielbrandao.com.br
◇professor@danielbrandao.com.br
“
"Inovação é o que distingue um líder de
um seguidor."
{Steve Jobs}

Palestra - Profissão: Desenvolvedor

  • 1.
  • 2.
    Me apresentando Daniel Brandão ◇NaInformática desde 2002. ◇Desenvolvedor Web desde 2005 ◇Professor pelo SENAI (2011-2014), pela Faculdade AVEC(2013), pelo IFPB e UNIPÊ (2015) ◇Graduado em SPI (2008) ◇Especialista em Aplicações Web(2015)
  • 3.
    O que veremos? Breve introdução (senta que lá vem história)  Evolução na Programação  Programação Orientada a Objetos (POO)  Design Patterns (Padrões de Projetos)  Frameworks  Mercado de Trabalho para Desenvolvedores
  • 4.
    Por onde comecei Meusprimeiros passos 1
  • 5.
    1998 – Meuprimeiro PC 2002 – Digitador 2003 – Universidade 2004 – Estagiário 2005 – Programador 2009 – Gerente de projetos 2011 – Professor
  • 6.
    “ A arte deprogramar consiste na arte de organizar e dominar a complexidade. Edsger Dijkstra
  • 7.
    Primeira Experiência ◇Front-end: HTMLe CSS. ◇Criação de sites simples e estáticos ◇Sem complexidades e sem Banco de dados.
  • 8.
  • 9.
    Sistemas ◇Criação de sitesDinâmicos ■ Flash ■ PHP ■ MySQL ■ …
  • 10.
    “ Qualquer um podeescrever um código que o computador entenda. Bons programadores escrevem códigos que os humanos entendam. Martin Fowler
  • 11.
  • 12.
    P.O.O. ◇Programação Orientada aObjetos ■ O que é? ■ Porque programar OO? ■ Quais as vantagens?
  • 13.
    P.O.O. ◇Programação Orientada aObjetos ■ O que é? É um conceito que esta relacionado com a ideia de classificar, organizar e abstrair coisas. O termo orientação a objetos significa organizar o mundo real como uma coleção de objetos que incorporam estrutura de dados e um conjunto de operações que manipulam estes dados.
  • 14.
    P.O.O. ◇Programação Orientada aObjetos ■ O que é? ■ Porque programar OO? ■ Quais as vantagens?
  • 15.
    P.O.O. ◇Programação Orientada aObjetos ■ Porque? - POO é um padrão de desenvolvimento que é seguido por muitas linguagens, como C#, Java, PHP; - É mais fácil pensar em objetos do que em funções / procedimentos pois objetos estão mais próximos ao mundo real; - Se bem programado, torna-se mais prática a manutenção do programa.
  • 16.
    P.O.O. ◇Programação Orientada aObjetos ■ O que é? ■ Porque programar OO? ■ Quais as vantagens?
  • 17.
    P.O.O. ◇Programação Orientada aObjetos ■ Vantagens? - Facilidade na manutenção do código; - Trás vários recursos para produzir componentes independentes intercambiáveis (encapsulamento, interfaces, polimorfismo, etc); - Criação de bibliotecas e utilização de bibliotecas próprias da linguagem;
  • 18.
    Design Patterns ◇O queé isso? ◇Porque MVC? ◇Modelos utilizados
  • 19.
    Design Patterns ◇O queé isso? - Padrão de projeto de software é uma solução geral reutilizável para um problema que ocorre com frequência dentro de um determinado contexto no projeto de software; - Normalmente mostram relacionamentos e interações entre classes ou objetos, sem especificar as classes ou objetos da aplicação final que estão envolvidas. - MVC – Padrão bastante utilizado em linguagens OO
  • 20.
    Design Patterns ◇O queé isso? ◇Porque MVC? ◇Modelos utilizados
  • 21.
    Design Patterns ◇MVC - Model-view-controller(MVC), em português modelo- visão-controlador, é um padrão de arquitetura de software (design pattern) que separa a representação de informação da interação do usuário com ele; - Ele divide basicamente em três partes o projeto, facilitando a manutenção de código e a segurança no acesso aos dados.
  • 22.
    Design Patterns ◇MVC - Omodelo (model) consiste nos dados da aplicação, regras de negócios, lógica e funções. - Uma visão (view) pode ser qualquer saída de representação dos dados, como uma tabela ou um diagrama. É possível ter várias visões do mesmo dado; - O controlador (controller) faz a mediação da entrada, convertendo-a em comandos para o modelo ou visão. As ideias centrais por trás do MVC são a reusabilidade de código e separação de conceitos.
  • 23.
    Design Patterns ◇O queé isso? ◇Porque MVC? ◇Modelos utilizados
  • 24.
    Design Patterns ◇Modelos utilizados(Frameworks) ◇Java ■Apache Struts ■Click Framework ■JSF ■Spring MVC ■Vraptor ■PrimeFaces ◇.NET ■ ASP.NET MVC - oficial da Microsoft ■ C♯ - oficial da Microsoft
  • 25.
    Design Patterns ◇Modelos utilizados(Frameworks) ◇PHP ■CakePHP ■CodeIgniter ■Laravel ■Symfony ■Zend Framework ◇Python ■ Django ■ Zope
  • 26.
    Design Patterns ◇CMS´s (ContentManager System) ■ CMS é a sigla para Content Management System, ou em bom português, Sistema Gerenciador de Conteúdo. Um CMS tem como objetivo facilitar a criação, edição, publicação e distribuição de informação. ■ Voltado para a Web, são muito utilizados em linguagens como PHP, Python e Ruby.
  • 27.
  • 28.
    O que uma empresa Esperade mim? ◇Atitude ◇Vontade de aprender ◇Proatividade ◇Bom relacionamento em grupo ◇Caixa de ferramentas
  • 29.
    Frameworks Usar ou Criar? ◇Criação ◇ Utilização
  • 30.
  • 31.
    Carreira Dicas úteis ◇ Nãopule etapas ◇ Almeje um objetivo ◇ Invista em você mesmo ◇ Aproveite as oportunidades ◇ Não pise nos outros para crescer ◇ Compartilhe o conhecimento
  • 32.
  • 33.
    Ter um bom network Segredosda carreira de Desenvolvedor Manter-se atualizado Nunca achar que sabe tudo
  • 34.
  • 35.
    Obrigado!Você pode meachar por aqui: ◇DanielBrandao.com.br ◇Twitter @daniel85br ◇FB.me/danielbrandao.com.br ◇professor@danielbrandao.com.br
  • 36.
    “ "Inovação é oque distingue um líder de um seguidor." {Steve Jobs}