SlideShare uma empresa Scribd logo
1 de 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}

Mais conteúdo relacionado

Mais procurados

Virtual Mouse using hand gesture recognition
Virtual Mouse using hand gesture recognitionVirtual Mouse using hand gesture recognition
Virtual Mouse using hand gesture recognitionMuktiKalsekar
 
CHAPTER 4.pptx
CHAPTER 4.pptxCHAPTER 4.pptx
CHAPTER 4.pptxttyu2
 
EDGE COMPUTING
EDGE COMPUTINGEDGE COMPUTING
EDGE COMPUTINGMosin A
 
iOS Development, with Swift and XCode
iOS Development, with Swift and XCodeiOS Development, with Swift and XCode
iOS Development, with Swift and XCodeWan Leung Wong
 
Building beautiful apps with Google flutter
Building beautiful apps with Google flutterBuilding beautiful apps with Google flutter
Building beautiful apps with Google flutterAhmed Abu Eldahab
 
Unified Middleware for Internet of Things
Unified Middleware for Internet of ThingsUnified Middleware for Internet of Things
Unified Middleware for Internet of ThingsHonbo Zhou
 
Electronics ESP processors
Electronics ESP processorsElectronics ESP processors
Electronics ESP processorsLeopoldo Armesto
 
presentation on Edge computing
presentation on Edge computingpresentation on Edge computing
presentation on Edge computingsairamgoud16
 
Building for the Internet of Things: Hardware, Sensors & the Cloud
Building for the Internet of Things: Hardware, Sensors & the CloudBuilding for the Internet of Things: Hardware, Sensors & the Cloud
Building for the Internet of Things: Hardware, Sensors & the CloudNick Landry
 
Blue Eyes Technology Abstract
Blue Eyes Technology AbstractBlue Eyes Technology Abstract
Blue Eyes Technology AbstractColloquium
 
Artificial intelligence powerpoint presentation
Artificial intelligence powerpoint presentationArtificial intelligence powerpoint presentation
Artificial intelligence powerpoint presentationmadhusrisanapathi2
 

Mais procurados (20)

Virtual Mouse using hand gesture recognition
Virtual Mouse using hand gesture recognitionVirtual Mouse using hand gesture recognition
Virtual Mouse using hand gesture recognition
 
CHAPTER 4.pptx
CHAPTER 4.pptxCHAPTER 4.pptx
CHAPTER 4.pptx
 
EDGE COMPUTING
EDGE COMPUTINGEDGE COMPUTING
EDGE COMPUTING
 
Felsefe suni intellekt
Felsefe suni intellektFelsefe suni intellekt
Felsefe suni intellekt
 
Porque flutter
Porque flutter Porque flutter
Porque flutter
 
Ch17
Ch17Ch17
Ch17
 
Autonomic Computing PPT
Autonomic Computing PPTAutonomic Computing PPT
Autonomic Computing PPT
 
iOS Development, with Swift and XCode
iOS Development, with Swift and XCodeiOS Development, with Swift and XCode
iOS Development, with Swift and XCode
 
Building beautiful apps with Google flutter
Building beautiful apps with Google flutterBuilding beautiful apps with Google flutter
Building beautiful apps with Google flutter
 
Unified Middleware for Internet of Things
Unified Middleware for Internet of ThingsUnified Middleware for Internet of Things
Unified Middleware for Internet of Things
 
Edge computing
Edge computingEdge computing
Edge computing
 
Roadmap to Development
Roadmap to DevelopmentRoadmap to Development
Roadmap to Development
 
Electronics ESP processors
Electronics ESP processorsElectronics ESP processors
Electronics ESP processors
 
Edge Computing
Edge ComputingEdge Computing
Edge Computing
 
presentation on Edge computing
presentation on Edge computingpresentation on Edge computing
presentation on Edge computing
 
Building for the Internet of Things: Hardware, Sensors & the Cloud
Building for the Internet of Things: Hardware, Sensors & the CloudBuilding for the Internet of Things: Hardware, Sensors & the Cloud
Building for the Internet of Things: Hardware, Sensors & the Cloud
 
Internet of Things
Internet of ThingsInternet of Things
Internet of Things
 
Flutter
FlutterFlutter
Flutter
 
Blue Eyes Technology Abstract
Blue Eyes Technology AbstractBlue Eyes Technology Abstract
Blue Eyes Technology Abstract
 
Artificial intelligence powerpoint presentation
Artificial intelligence powerpoint presentationArtificial intelligence powerpoint presentation
Artificial intelligence powerpoint presentation
 

Destaque

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
 

Destaque (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
 

Semelhante a Desenvolvedor: carreira, tecnologias e mercado de trabalho

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
 

Semelhante a Desenvolvedor: carreira, tecnologias e mercado de trabalho (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...
 

Mais de 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
 

Mais de 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
 

Desenvolvedor: carreira, tecnologias e mercado de trabalho

  • 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}