SlideShare ist ein Scribd-Unternehmen logo
1 von 36
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}

Weitere ähnliche Inhalte

Was ist angesagt?

Questões de Informática para Concurso
Questões de Informática para ConcursoQuestões de Informática para Concurso
Questões de Informática para Concursofranciscovalmir
 
Lógica de Programação - Algoritmos
Lógica de Programação - AlgoritmosLógica de Programação - Algoritmos
Lógica de Programação - AlgoritmosRoney Sousa
 
Introdução à Arquitetura de Computadores
Introdução à Arquitetura de ComputadoresIntrodução à Arquitetura de Computadores
Introdução à Arquitetura de ComputadoresMauro Pereira
 
Sistemas Operacionais - Aula 05 (Concorrência)
Sistemas Operacionais - Aula 05 (Concorrência)Sistemas Operacionais - Aula 05 (Concorrência)
Sistemas Operacionais - Aula 05 (Concorrência)Leinylson Fontinele
 
Material Algoritmos e Estruturas de Dados - 1º Bimestre
Material Algoritmos e Estruturas de Dados - 1º BimestreMaterial Algoritmos e Estruturas de Dados - 1º Bimestre
Material Algoritmos e Estruturas de Dados - 1º BimestreElaine Cecília Gatto
 
Aulas 1 e 2 - Hardware
Aulas 1 e 2 - HardwareAulas 1 e 2 - Hardware
Aulas 1 e 2 - HardwareJocelma Rios
 
Sistemas Operacionais - Aula 02 (Visão geral de sistemas operacionais)
Sistemas Operacionais - Aula 02 (Visão geral de sistemas operacionais)Sistemas Operacionais - Aula 02 (Visão geral de sistemas operacionais)
Sistemas Operacionais - Aula 02 (Visão geral de sistemas operacionais)Leinylson Fontinele
 
Apostila Aplicativos informatizados
Apostila Aplicativos informatizadosApostila Aplicativos informatizados
Apostila Aplicativos informatizadosAndréia Santos
 
Sistemas operacionais
Sistemas operacionaisSistemas operacionais
Sistemas operacionaisvini_campos
 
Aula 04 coneitos de auditoria de sistemas
Aula 04   coneitos de auditoria de sistemasAula 04   coneitos de auditoria de sistemas
Aula 04 coneitos de auditoria de sistemassorayaNadja
 
Aspectos basicos da ergonomia
Aspectos basicos da ergonomiaAspectos basicos da ergonomia
Aspectos basicos da ergonomiaLeandro Sales
 
Aula 12 - Escalonamento
Aula 12 - EscalonamentoAula 12 - Escalonamento
Aula 12 - Escalonamentocamila_seixas
 
Sistemas Operacionais Windows e Linux
Sistemas Operacionais Windows e LinuxSistemas Operacionais Windows e Linux
Sistemas Operacionais Windows e LinuxFelipe Cesar Costa
 
Aula 01 - História da Computação
Aula 01 - História da ComputaçãoAula 01 - História da Computação
Aula 01 - História da ComputaçãoSuzana Viana Mota
 
Exercicios de computador e computação
Exercicios de computador e computaçãoExercicios de computador e computação
Exercicios de computador e computaçãogastaovalle
 

Was ist angesagt? (20)

Questões de Informática para Concurso
Questões de Informática para ConcursoQuestões de Informática para Concurso
Questões de Informática para Concurso
 
Lógica de Programação - Algoritmos
Lógica de Programação - AlgoritmosLógica de Programação - Algoritmos
Lógica de Programação - Algoritmos
 
Introdução à Arquitetura de Computadores
Introdução à Arquitetura de ComputadoresIntrodução à Arquitetura de Computadores
Introdução à Arquitetura de Computadores
 
Sistemas Operacionais - Aula 05 (Concorrência)
Sistemas Operacionais - Aula 05 (Concorrência)Sistemas Operacionais - Aula 05 (Concorrência)
Sistemas Operacionais - Aula 05 (Concorrência)
 
Material Algoritmos e Estruturas de Dados - 1º Bimestre
Material Algoritmos e Estruturas de Dados - 1º BimestreMaterial Algoritmos e Estruturas de Dados - 1º Bimestre
Material Algoritmos e Estruturas de Dados - 1º Bimestre
 
Interface Homem Computador - Aula02 - Principios de design em IHC
Interface Homem Computador - Aula02 - Principios de design em IHCInterface Homem Computador - Aula02 - Principios de design em IHC
Interface Homem Computador - Aula02 - Principios de design em IHC
 
Informatica Aplicada
Informatica AplicadaInformatica Aplicada
Informatica Aplicada
 
Aulas 1 e 2 - Hardware
Aulas 1 e 2 - HardwareAulas 1 e 2 - Hardware
Aulas 1 e 2 - Hardware
 
Analise de Requisitos Software
Analise de Requisitos SoftwareAnalise de Requisitos Software
Analise de Requisitos Software
 
Sistemas Operacionais - Aula 02 (Visão geral de sistemas operacionais)
Sistemas Operacionais - Aula 02 (Visão geral de sistemas operacionais)Sistemas Operacionais - Aula 02 (Visão geral de sistemas operacionais)
Sistemas Operacionais - Aula 02 (Visão geral de sistemas operacionais)
 
Apostila Aplicativos informatizados
Apostila Aplicativos informatizadosApostila Aplicativos informatizados
Apostila Aplicativos informatizados
 
Sistemas operacionais
Sistemas operacionaisSistemas operacionais
Sistemas operacionais
 
Aula 04 coneitos de auditoria de sistemas
Aula 04   coneitos de auditoria de sistemasAula 04   coneitos de auditoria de sistemas
Aula 04 coneitos de auditoria de sistemas
 
Aspectos basicos da ergonomia
Aspectos basicos da ergonomiaAspectos basicos da ergonomia
Aspectos basicos da ergonomia
 
Sistemas Operacionais
Sistemas OperacionaisSistemas Operacionais
Sistemas Operacionais
 
Aula 12 - Escalonamento
Aula 12 - EscalonamentoAula 12 - Escalonamento
Aula 12 - Escalonamento
 
Sistemas Operacionais Windows e Linux
Sistemas Operacionais Windows e LinuxSistemas Operacionais Windows e Linux
Sistemas Operacionais Windows e Linux
 
Gestão de Processos de Negócio (BPM)
Gestão de Processos de Negócio (BPM)Gestão de Processos de Negócio (BPM)
Gestão de Processos de Negócio (BPM)
 
Aula 01 - História da Computação
Aula 01 - História da ComputaçãoAula 01 - História da Computação
Aula 01 - História da Computação
 
Exercicios de computador e computação
Exercicios de computador e computaçãoExercicios de computador e computação
Exercicios de computador e computação
 

Andere mochten auch

Aula 1 - Programação Dinâmica para Web
Aula 1 - Programação Dinâmica para WebAula 1 - Programação Dinâmica para Web
Aula 1 - Programação Dinâmica para WebDaniel Brandão
 
Aula 02 - Introdução ao PHP
Aula 02 - Introdução ao PHPAula 02 - Introdução ao PHP
Aula 02 - Introdução ao PHPDaniel Brandão
 
PHP Aula 05 - E-mails, Cookies e Sessoes
PHP Aula 05 - E-mails, Cookies e SessoesPHP Aula 05 - E-mails, Cookies e Sessoes
PHP Aula 05 - E-mails, Cookies e SessoesDaniel Brandão
 
Aula03 PHP - Estruturas Condicionais
Aula03 PHP - Estruturas CondicionaisAula03 PHP - Estruturas Condicionais
Aula03 PHP - Estruturas CondicionaisDaniel Brandão
 
Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)Daniel Brandão
 
PHP Aula 06 - Include, Require e Querystring
PHP Aula 06 - Include, Require e QuerystringPHP Aula 06 - Include, Require e Querystring
PHP Aula 06 - Include, Require e QuerystringDaniel Brandão
 
Arrays (vetores) em Java
Arrays (vetores) em JavaArrays (vetores) em Java
Arrays (vetores) em JavaDaniel Brandão
 
Introdução à informática
Introdução à informáticaIntrodução à informática
Introdução à informáticaDaniel Brandão
 
Aula 02 - Sistemas, Dados, Informação
Aula 02 - Sistemas, Dados, InformaçãoAula 02 - Sistemas, Dados, Informação
Aula 02 - Sistemas, Dados, InformaçãoDaniel Brandão
 
Aula 04 Sistema de Informação - Processo e Requisitos de Sistemas
Aula 04 Sistema de Informação - Processo e Requisitos de SistemasAula 04 Sistema de Informação - Processo e Requisitos de Sistemas
Aula 04 Sistema de Informação - Processo e Requisitos de SistemasDaniel Brandão
 
Encapsulamento em Orientação a Objetos
Encapsulamento em Orientação a ObjetosEncapsulamento em Orientação a Objetos
Encapsulamento em Orientação a ObjetosDaniel Brandão
 
Aula 03 - Definições da linguagem Java
Aula 03 - Definições da linguagem JavaAula 03 - Definições da linguagem Java
Aula 03 - Definições da linguagem JavaDaniel Brandão
 
Programação Orientação a Objetos - Herança
Programação Orientação a Objetos - HerançaProgramação Orientação a Objetos - Herança
Programação Orientação a Objetos - HerançaDaniel Brandão
 
Fórmulas Condicionais em Excel
Fórmulas Condicionais em ExcelFórmulas Condicionais em Excel
Fórmulas Condicionais em ExcelDaniel Brandão
 
PHP Aula07 - conexão Com Banco de Dados
PHP Aula07 - conexão Com Banco de DadosPHP Aula07 - conexão Com Banco de Dados
PHP Aula07 - conexão Com Banco de DadosDaniel Brandão
 
Aula 3 Sistemas de Informação - Tipos de SI
Aula 3 Sistemas de Informação - Tipos de SIAula 3 Sistemas de Informação - Tipos de SI
Aula 3 Sistemas de Informação - Tipos de SIDaniel Brandão
 
Excel - Fórmulas Básicas
Excel -  Fórmulas BásicasExcel -  Fórmulas Básicas
Excel - Fórmulas BásicasDaniel Brandão
 
Aula 01 - Introdução ao Sistema de Informação
Aula 01 - Introdução ao Sistema de InformaçãoAula 01 - Introdução ao Sistema de Informação
Aula 01 - Introdução ao Sistema de InformaçãoDaniel Brandão
 
Incluir para evoluir - Palestra
Incluir para evoluir - PalestraIncluir para evoluir - Palestra
Incluir para evoluir - PalestraDaniel Brandão
 
Aula 04 PHP - Utilizando Funções e Manipulando Arquivos
Aula 04 PHP - Utilizando Funções e Manipulando ArquivosAula 04 PHP - Utilizando Funções e Manipulando Arquivos
Aula 04 PHP - Utilizando Funções e Manipulando ArquivosDaniel Brandão
 

Andere mochten auch (20)

Aula 1 - Programação Dinâmica para Web
Aula 1 - Programação Dinâmica para WebAula 1 - Programação Dinâmica para Web
Aula 1 - Programação Dinâmica para Web
 
Aula 02 - Introdução ao PHP
Aula 02 - Introdução ao PHPAula 02 - Introdução ao PHP
Aula 02 - Introdução ao PHP
 
PHP Aula 05 - E-mails, Cookies e Sessoes
PHP Aula 05 - E-mails, Cookies e SessoesPHP Aula 05 - E-mails, Cookies e Sessoes
PHP Aula 05 - E-mails, Cookies e Sessoes
 
Aula03 PHP - Estruturas Condicionais
Aula03 PHP - Estruturas CondicionaisAula03 PHP - Estruturas Condicionais
Aula03 PHP - Estruturas Condicionais
 
Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)
 
PHP Aula 06 - Include, Require e Querystring
PHP Aula 06 - Include, Require e QuerystringPHP Aula 06 - Include, Require e Querystring
PHP Aula 06 - Include, Require e Querystring
 
Arrays (vetores) em Java
Arrays (vetores) em JavaArrays (vetores) em Java
Arrays (vetores) em Java
 
Introdução à informática
Introdução à informáticaIntrodução à informática
Introdução à informática
 
Aula 02 - Sistemas, Dados, Informação
Aula 02 - Sistemas, Dados, InformaçãoAula 02 - Sistemas, Dados, Informação
Aula 02 - Sistemas, Dados, Informação
 
Aula 04 Sistema de Informação - Processo e Requisitos de Sistemas
Aula 04 Sistema de Informação - Processo e Requisitos de SistemasAula 04 Sistema de Informação - Processo e Requisitos de Sistemas
Aula 04 Sistema de Informação - Processo e Requisitos de Sistemas
 
Encapsulamento em Orientação a Objetos
Encapsulamento em Orientação a ObjetosEncapsulamento em Orientação a Objetos
Encapsulamento em Orientação a Objetos
 
Aula 03 - Definições da linguagem Java
Aula 03 - Definições da linguagem JavaAula 03 - Definições da linguagem Java
Aula 03 - Definições da linguagem Java
 
Programação Orientação a Objetos - Herança
Programação Orientação a Objetos - HerançaProgramação Orientação a Objetos - Herança
Programação Orientação a Objetos - Herança
 
Fórmulas Condicionais em Excel
Fórmulas Condicionais em ExcelFórmulas Condicionais em Excel
Fórmulas Condicionais em Excel
 
PHP Aula07 - conexão Com Banco de Dados
PHP Aula07 - conexão Com Banco de DadosPHP Aula07 - conexão Com Banco de Dados
PHP Aula07 - conexão Com Banco de Dados
 
Aula 3 Sistemas de Informação - Tipos de SI
Aula 3 Sistemas de Informação - Tipos de SIAula 3 Sistemas de Informação - Tipos de SI
Aula 3 Sistemas de Informação - Tipos de SI
 
Excel - Fórmulas Básicas
Excel -  Fórmulas BásicasExcel -  Fórmulas Básicas
Excel - Fórmulas Básicas
 
Aula 01 - Introdução ao Sistema de Informação
Aula 01 - Introdução ao Sistema de InformaçãoAula 01 - Introdução ao Sistema de Informação
Aula 01 - Introdução ao Sistema de Informação
 
Incluir para evoluir - Palestra
Incluir para evoluir - PalestraIncluir para evoluir - Palestra
Incluir para evoluir - Palestra
 
Aula 04 PHP - Utilizando Funções e Manipulando Arquivos
Aula 04 PHP - Utilizando Funções e Manipulando ArquivosAula 04 PHP - Utilizando Funções e Manipulando Arquivos
Aula 04 PHP - Utilizando Funções e Manipulando Arquivos
 

Ähnlich wie Palestra - Profissão: Desenvolvedor

01 - Introdução a programação para internet v1.1
01 - Introdução a programação para internet v1.101 - Introdução a programação para internet v1.1
01 - Introdução a programação para internet v1.1César Augusto Pessôa
 
Geoprocessamento livre na web com openlayers e cake php
Geoprocessamento livre na web com openlayers e cake phpGeoprocessamento livre na web com openlayers e cake php
Geoprocessamento livre na web com openlayers e cake phpRafael Soto
 
Usando MVC para agilizar o desenvolvimento
Usando MVC para agilizar o desenvolvimentoUsando MVC para agilizar o desenvolvimento
Usando MVC para agilizar o desenvolvimentoAlexandre Andrade
 
Apresentação java
Apresentação javaApresentação java
Apresentação javamunosai
 
Frameworks de desenvolvimento web
Frameworks de desenvolvimento webFrameworks de desenvolvimento web
Frameworks de desenvolvimento webArlindo Santos
 
Introdução ao desenvolvimento front end usando bootstrap e angular js
Introdução ao desenvolvimento front end usando bootstrap e angular jsIntrodução ao desenvolvimento front end usando bootstrap e angular js
Introdução ao desenvolvimento front end usando bootstrap e angular jsCloves Moreira Junior
 
Criando Aplicações .NET com o TheWebMind
Criando Aplicações .NET com o TheWebMindCriando Aplicações .NET com o TheWebMind
Criando Aplicações .NET com o TheWebMindJaydson Gomes
 
Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3
Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3
Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3André Luiz Forchesatto
 
Arquitetura web para sistemas de negócio
Arquitetura web para sistemas de negócioArquitetura web para sistemas de negócio
Arquitetura web para sistemas de negócioRalph Rassweiler
 
TDC2011: Arquitetura de Software Enterprise
TDC2011: Arquitetura de Software EnterpriseTDC2011: Arquitetura de Software Enterprise
TDC2011: Arquitetura de Software EnterpriseDr. Spock
 
CakePHP - Aprendendo a fazer o primeiro bolo
CakePHP - Aprendendo a fazer o primeiro boloCakePHP - Aprendendo a fazer o primeiro bolo
CakePHP - Aprendendo a fazer o primeiro boloelliando dias
 
Deixando de ser moleque com PHP
Deixando de ser moleque com PHPDeixando de ser moleque com PHP
Deixando de ser moleque com PHPVinícius Krolow
 
Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...
Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...
Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...Rodrigo Branas
 

Ähnlich wie Palestra - Profissão: Desenvolvedor (20)

01 - Introdução a programação para internet v1.1
01 - Introdução a programação para internet v1.101 - Introdução a programação para internet v1.1
01 - Introdução a programação para internet v1.1
 
Geoprocessamento livre na web com openlayers e cake php
Geoprocessamento livre na web com openlayers e cake phpGeoprocessamento livre na web com openlayers e cake php
Geoprocessamento livre na web com openlayers e cake php
 
Usando MVC para agilizar o desenvolvimento
Usando MVC para agilizar o desenvolvimentoUsando MVC para agilizar o desenvolvimento
Usando MVC para agilizar o desenvolvimento
 
PHP: Como não programar em POG
PHP: Como não programar em POGPHP: Como não programar em POG
PHP: Como não programar em POG
 
Introdução C#
Introdução C#Introdução C#
Introdução C#
 
Apresentação java
Apresentação javaApresentação java
Apresentação java
 
CV Alexandre R. de Castro
CV Alexandre R. de CastroCV Alexandre R. de Castro
CV Alexandre R. de Castro
 
Frameworks de desenvolvimento web
Frameworks de desenvolvimento webFrameworks de desenvolvimento web
Frameworks de desenvolvimento web
 
Xamarin UI Test + BDD Specflow
Xamarin UI Test + BDD SpecflowXamarin UI Test + BDD Specflow
Xamarin UI Test + BDD Specflow
 
Introdução ao desenvolvimento front end usando bootstrap e angular js
Introdução ao desenvolvimento front end usando bootstrap e angular jsIntrodução ao desenvolvimento front end usando bootstrap e angular js
Introdução ao desenvolvimento front end usando bootstrap e angular js
 
ASP.NET 5, MVC 6 e além
ASP.NET 5, MVC 6 e alémASP.NET 5, MVC 6 e além
ASP.NET 5, MVC 6 e além
 
Django
DjangoDjango
Django
 
Criando Aplicações .NET com o TheWebMind
Criando Aplicações .NET com o TheWebMindCriando Aplicações .NET com o TheWebMind
Criando Aplicações .NET com o TheWebMind
 
Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3
Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3
Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3
 
Arquitetura web para sistemas de negócio
Arquitetura web para sistemas de negócioArquitetura web para sistemas de negócio
Arquitetura web para sistemas de negócio
 
TDC2011: Arquitetura de Software Enterprise
TDC2011: Arquitetura de Software EnterpriseTDC2011: Arquitetura de Software Enterprise
TDC2011: Arquitetura de Software Enterprise
 
CakePHP - Aprendendo a fazer o primeiro bolo
CakePHP - Aprendendo a fazer o primeiro boloCakePHP - Aprendendo a fazer o primeiro bolo
CakePHP - Aprendendo a fazer o primeiro bolo
 
Deixando de ser moleque com PHP
Deixando de ser moleque com PHPDeixando de ser moleque com PHP
Deixando de ser moleque com PHP
 
BDD com Xamarin UI Test e Specflow
BDD com Xamarin UI Test e SpecflowBDD com Xamarin UI Test e Specflow
BDD com Xamarin UI Test e Specflow
 
Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...
Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...
Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...
 

Mehr von Daniel Brandão

Aula 2 - POO: Fundamentos da linguagem Java
Aula 2 - POO: Fundamentos da linguagem JavaAula 2 - POO: Fundamentos da linguagem Java
Aula 2 - POO: Fundamentos da linguagem JavaDaniel Brandão
 
Aula 1 - Introdução a POO
Aula 1 -  Introdução a POOAula 1 -  Introdução a POO
Aula 1 - Introdução a POODaniel Brandão
 
Sapiens - Feedback de Prática Docente com Google Forms
Sapiens - Feedback de Prática Docente com Google FormsSapiens - Feedback de Prática Docente com Google Forms
Sapiens - Feedback de Prática Docente com Google FormsDaniel Brandão
 
{Palestra} Criação Web com Frameworks Front-end
{Palestra} Criação Web com Frameworks Front-end{Palestra} Criação Web com Frameworks Front-end
{Palestra} Criação Web com Frameworks Front-endDaniel Brandão
 
Criação Web com Bootstrap e Material Design
Criação Web com Bootstrap e Material DesignCriação Web com Bootstrap e Material Design
Criação Web com Bootstrap e Material DesignDaniel Brandão
 
Banco de dados - Aula 1 SQL
Banco de dados - Aula 1 SQLBanco de dados - Aula 1 SQL
Banco de dados - Aula 1 SQLDaniel Brandão
 
Banco de dados - Mapeamento MER - Relacional
Banco de dados - Mapeamento MER - RelacionalBanco de dados - Mapeamento MER - Relacional
Banco de dados - Mapeamento MER - RelacionalDaniel Brandão
 
Introdução a Informática
Introdução a InformáticaIntrodução a Informática
Introdução a InformáticaDaniel Brandão
 
Funções e Fórmulas em Excel 2010
Funções e Fórmulas em Excel 2010Funções e Fórmulas em Excel 2010
Funções e Fórmulas em Excel 2010Daniel Brandão
 
Heurística, Principios e Usabilidade na web
Heurística, Principios e Usabilidade na webHeurística, Principios e Usabilidade na web
Heurística, Principios e Usabilidade na webDaniel Brandão
 

Mehr von Daniel Brandão (11)

Aula 2 - POO: Fundamentos da linguagem Java
Aula 2 - POO: Fundamentos da linguagem JavaAula 2 - POO: Fundamentos da linguagem Java
Aula 2 - POO: Fundamentos da linguagem Java
 
Aula 1 - Introdução a POO
Aula 1 -  Introdução a POOAula 1 -  Introdução a POO
Aula 1 - Introdução a POO
 
Sapiens - Feedback de Prática Docente com Google Forms
Sapiens - Feedback de Prática Docente com Google FormsSapiens - Feedback de Prática Docente com Google Forms
Sapiens - Feedback de Prática Docente com Google Forms
 
{Palestra} Criação Web com Frameworks Front-end
{Palestra} Criação Web com Frameworks Front-end{Palestra} Criação Web com Frameworks Front-end
{Palestra} Criação Web com Frameworks Front-end
 
Criação Web com Bootstrap e Material Design
Criação Web com Bootstrap e Material DesignCriação Web com Bootstrap e Material Design
Criação Web com Bootstrap e Material Design
 
Banco de dados - Aula 1 SQL
Banco de dados - Aula 1 SQLBanco de dados - Aula 1 SQL
Banco de dados - Aula 1 SQL
 
Banco de dados - Mapeamento MER - Relacional
Banco de dados - Mapeamento MER - RelacionalBanco de dados - Mapeamento MER - Relacional
Banco de dados - Mapeamento MER - Relacional
 
Servlets e JSP
Servlets e JSPServlets e JSP
Servlets e JSP
 
Introdução a Informática
Introdução a InformáticaIntrodução a Informática
Introdução a Informática
 
Funções e Fórmulas em Excel 2010
Funções e Fórmulas em Excel 2010Funções e Fórmulas em Excel 2010
Funções e Fórmulas em Excel 2010
 
Heurística, Principios e Usabilidade na web
Heurística, Principios e Usabilidade na webHeurística, Principios e Usabilidade na web
Heurística, Principios e Usabilidade na web
 

Palestra - Profissão: Desenvolvedor

  • 2. 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)
  • 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 Meus primeiros passos 1
  • 5. 1998 – Meu primeiro PC 2002 – Digitador 2003 – Universidade 2004 – Estagiário 2005 – Programador 2009 – Gerente de projetos 2011 – Professor
  • 6. “ A arte de programar consiste na arte de organizar e dominar a complexidade. Edsger Dijkstra
  • 7. Primeira Experiência ◇Front-end: HTML e CSS. ◇Criação de sites simples e estáticos ◇Sem complexidades e sem Banco de dados.
  • 9. Sistemas ◇Criação de sites Dinâmicos ■ Flash ■ PHP ■ MySQL ■ …
  • 10. “ Qualquer um pode escrever um código que o computador entenda. Bons programadores escrevem códigos que os humanos entendam. Martin Fowler
  • 12. P.O.O. ◇Programação Orientada a Objetos ■ O que é? ■ Porque programar OO? ■ Quais as vantagens?
  • 13. 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.
  • 14. P.O.O. ◇Programação Orientada a Objetos ■ O que é? ■ Porque programar OO? ■ Quais as vantagens?
  • 15. 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.
  • 16. P.O.O. ◇Programação Orientada a Objetos ■ O que é? ■ Porque programar OO? ■ Quais as vantagens?
  • 17. 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;
  • 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 - 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.
  • 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 (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.
  • 28. O que uma empresa Espera de mim? ◇Atitude ◇Vontade de aprender ◇Proatividade ◇Bom relacionamento em grupo ◇Caixa de ferramentas
  • 29. Frameworks Usar ou Criar? ◇ Criação ◇ Utilização
  • 31. 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
  • 33. Ter um bom network Segredos da carreira de Desenvolvedor Manter-se atualizado Nunca achar que sabe tudo
  • 35. Obrigado!Você pode me achar por aqui: ◇DanielBrandao.com.br ◇Twitter @daniel85br ◇FB.me/danielbrandao.com.br ◇professor@danielbrandao.com.br
  • 36. “ "Inovação é o que distingue um líder de um seguidor." {Steve Jobs}