SlideShare une entreprise Scribd logo
1  sur  60
Você decide aprender a programar,
então o primeiro passo que
você pensa é aprender uma
linguagem de programação...
Ok. Mas qual linguagem?
PHP
Objective-C
Java

Ruby

Python
Lua

C#

Pascal

C++

ASP
Fortran

JavaScript
Cobol

C

Object Pascal
E você vai programar
orientado a objetos?
E você conhece...
SQL

AJAX

Design Patterns
Apache

Framework

Interface

TDD
Sessão

MVC

Scrum

IDE

Refactory

CSS

Repositório

????

HTML

Kanban
Você quer levar a vida toda para
aprender a programar?
Não, né?
Ou vai desistir do conhecimento?
Também não, né?
... pois agora você vai aprender a ser um
programador de sucesso ...
... em 7 passos!

Passo 7
Passo 6
Passo 5
Passo 4
Passo 3
Passo 2
Passo 1
... em 7 passos!

Passo 7
Passo 6
Passo 5
Passo 4
Passo 3
Passo 2
Passo 1
... em 7 passos!

Passo 7
Passo 6
Passo 5
Passo 4
Passo 3
Passo 2
Passo 1
Os 7 passos não são 7
passos de mágica que fará
você ser programador da
noite para o dia...
... mas é um caminho a se
seguir, um guia, para que
você ganhe tempo e
aproveite melhor seus
estudos.
Lógica de Programação
Descobrindo uma nova forma de pensar
Lógica é o primeiro passo
porque é a base para
programação, sem ela,
nada é feito.
Lembre-se que a máquina é
burra, quem pensa é você!
E como toda base, quanto
mais firme, melhor vai ser a
sustentação para aguentar
todo o resto. Então invista seu
tempo estudando a lógica
para poder entender como a
programação funciona.
A maioria das pessoas que tentam
aprender a programar e desistem é
porque tentaram aprender uma
linguagem de programação sem antes
entender a lógica.
Não há problema em utilizar uma
linguagem para aprender a lógica, desde
que o foco do aprendizado seja a lógica,
e não a linguagem.
Depois que você estiver fera na lógica,
você pode avançar para o próximo passo.
Linguagem de Programação
Falando uma nova língua
Do mesmo jeito que você aprende a falar
a uma língua estrangeira, como inglês ou
espanhol, para se comunicar com um
estrangeiro, você precisa aprender uma
linguagem de programação para falar
com a máquina.
Apesar de existirem várias linguagens de
programação, a maioria baseada na
língua inglesa, todas servem para o
mesmo propósito: definir instruções que
o computador deve executar.
Como você já sabe a lógica, você
consegue aprender qualquer linguagem
de programação, pois a linguagem é
apenas uma ferramenta para você
colocar a lógica em prática.
Não se preocupe em escolher a linguagem ideal.

Um programador de sucesso não aprende apenas
uma linguagem, mas aprende várias. Então

futuramente você irá acabar tendo que aprender
outra linguagem mesmo.

A área de TI evolui muito rápido, é importante estar
sempre procurando aprender algo novo para não
ficar para trás.
Para começar, você pode escolher uma dessas
linguagens:

Java, PHP, Python ou Ruby.
Se você quer escolher outra linguagem, tudo bem,

mas é interessante que você conheça
pelo menos 1 dessas 4 linguagens.
Banco de Dados
Armazenando informações
Agora que você já sabe utilizar uma linguagem de

programação, é interessante você aprender a
arquivar um informação.

Através do banco de dados é possível
armazenar uma quantidade enorme

de informação para usar como
consulta a qualquer momento.
Assim como linguagem de programação,

banco de dados também possui uma
variedade de tecnologia diferente, e você

também não pode ficar preso a uma só.
A sugestão do Planeta Código é que você comece
por um desses:

MySQL ou SQLite.
Ambos são dois simples banco de dados de fácil

instalação e utilização, e como o próprio nome
entrega, ambos utilizam o SQL.
SQL é a linguagem mais utilizada para gravar

ou ler informações do banco de dados. Essa
linguagem é essencial para você utilizar todo

o potencial do banco de dados.
Com esses 3 passos já dá para fazer bastante coisa. Se seu
objetivo é fazer algo pessoal, até aqui é o suficiente.

Porém, você ainda não é um programador
profissional, ainda restam 4 passos para você se
tornar um programador de sucesso.
Passo 7
Passo 6
Passo 5

Passo 4
Linguagem

Lógica

Banco de
Dados
Padrões de Projeto
Ordem e Progresso
Agora que você já sabe o básico da

programação, você deve iniciar o estudo de
Padrões de Projetos.
É nessa hora que muitos programadores ruins
param de evoluir, pois acham que já sabem
de tudo. Então é aqui que começa a separar o
programador ruim do bom.
Programar por diversão, você pode fazer do jeito

que achar melhor. Mas se você pretender fazer algo
mais profissional, voltado para o mercado de

trabalho ou meio acadêmico, é importante você
desenvolver um código de qualidade.

Para isso foi criado o Design Patterns (Padrões de
Projeto), que define as melhores práticas para criar
um código de qualidade.
Cada padrão visa a melhor prática para resolver
determinados problemas da programação e trazer
alguns benefícios:
• Padronização
• Fácil leitura e entendimento
• Fácil manutenção
• Reutilização
• Entre outras vantagens
Mas antes de começar estudar Padrões de Projetos,

é importante estar dominando a Orientação a
Objetos, que é o paradigma de programação usado

para todos os padrões atualmente utilizados.
Aprender Orientação a Objetos e Padrões de
Projeto é um aprendizado avançado, então é

interessante começar através de um curso ou de
livros especializados no assunto para agilizar o

aprendizado, além de garantir que vai estar
aprendendo da maneira correta.
Framework
Armadura e Armas
Em uma guerra você pode lutar com as
mãos vazias, apenas com sua
habilidade de luta, assim como você

pode programar tudo com a linguagem
de programação apenas.
Mas é muito mais eficiente se você
for para guerra com armadura e
armas. Assim como você vai ser

muito mais eficiente ao programar
utilizando ferramentas já prontas.
Framework é um conjunto de códigos já pronto
para aumentar sua produtividade na programação.
Além do conjunto de bibliotecas para auxiliar o
desenvolvimento, ele define um modelo a se seguir.
Alguns exemplos de Framework Web para cada linguagem:
• PHP → Yii Framework
• Java → VRaptor
• Python → Django
• Ruby → Ruby On Rails

Cada linguagem possui um variedade de framework, não
importa qual você escolha, desde que escolha pelo menos
um para estudar e usar.
Desenvolvimento Ágil
Tempo é dinheiro
O processo de desenvolvimento é trabalhoso e leva

tempo, então não pode ser feito de qualquer
jeito, senão é desperdiçado muito tempo, além
comprometer a qualidade do resultado.
Para isso foi elaborado um conjunto de
metodologias de desenvolvimento de software.
Antigamente se utilizava o Gerenciamento de

Projetos como metodologia, apesar de ser uma
metodologia boa, não se aplicava ao
desenvolvimento de software, então surgiu uma
necessidade de criar uma metodologia que fosse
aplicável a esta área.
Assim surge o Agile (ágil) com metodologias

voltadas ao desenvolvimento de software.
As metodologias mais utilizadas são:
• Extreme Programming (XP)
• Scrum
• Kanban
Essas metodologias são apenas um guia com
melhores práticas, que visa obter o melhor
resultado nos processos de desenvolvimento de
software. Você não precisa seguir a risca a

metodologia, mas é importante que conheça o
máximo de cada uma delas, para poder tomar uma

melhor decisão.
Essas práticas são voltadas para

desenvolvimento em equipe, que é onde você
pode tirar o máximo de cada metodologia,

mas é possível usar a maioria dessas práticas
no desenvolvimento com uma pessoa só.
Chegamos ao último passo.

Arquitetura
A Arquitetura de Software de um sistema
consiste na definição dos componentes de
software, suas propriedades externas, e seus
relacionamentos com outros softwares.
Este passo é mais do que a arquitetura
propriamente dita, mas é toda a atenção que
você se dedica à qualidade do software que
você está criando ou mantendo.
É você se preocupar com a segurança, com a
performance, com a experiência do usuário,
com a usabilidade, com a reutilização de
módulos, com a documentação, entre tantos
outros aspectos que são importantes para o

resultado final do seu software.
E para conseguir realizar tudo isso, é simples:

estude bastante!
Não tem segredo ou fórmula secreta, quanto

mais você estudar, melhor vai ser o seu
desenvolvimento.
Resumo: 7 passos

Arquitetura
Framework

Linguagem
Lógica

Banco de
Dados

Padrões de
Projeto

Desenv.
Ágil
Planeta Código
www.planetacodigo.com.br

Contenu connexe

Tendances

5 meses de python o que aprendi
5 meses de python  o que aprendi5 meses de python  o que aprendi
5 meses de python o que aprendiVinta Software
 
10 dicas de carreira em PHP
10 dicas de carreira em PHP10 dicas de carreira em PHP
10 dicas de carreira em PHPElton Minetto
 
Desmistificando Design Patterns
Desmistificando Design PatternsDesmistificando Design Patterns
Desmistificando Design PatternsMaicon Heck
 
Paradigmas de Linguagens de Programação - Quatro Paradigmas + Ambientes de Pr...
Paradigmas de Linguagens de Programação - Quatro Paradigmas + Ambientes de Pr...Paradigmas de Linguagens de Programação - Quatro Paradigmas + Ambientes de Pr...
Paradigmas de Linguagens de Programação - Quatro Paradigmas + Ambientes de Pr...Adriano Teixeira de Souza
 
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
 
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
 
Boas praticas em_desenvolvimento_de_software
Boas praticas em_desenvolvimento_de_softwareBoas praticas em_desenvolvimento_de_software
Boas praticas em_desenvolvimento_de_softwareivanassisleal
 
Programe a eficácia do seu código
Programe a eficácia do seu códigoPrograme a eficácia do seu código
Programe a eficácia do seu códigoAna Claudia Nogueira
 
Aula de C para Linux
Aula de C para LinuxAula de C para Linux
Aula de C para LinuxChris x-MS
 
Coding Dojo - Funcionamento
Coding Dojo - FuncionamentoCoding Dojo - Funcionamento
Coding Dojo - Funcionamentothiagodp
 
Paradigmas de Linguagens de Programação - Classificações
Paradigmas de Linguagens de Programação - ClassificaçõesParadigmas de Linguagens de Programação - Classificações
Paradigmas de Linguagens de Programação - ClassificaçõesAdriano Teixeira de Souza
 
Dicas para sua carreira de Desenvolvedor PHP
Dicas para sua carreira de Desenvolvedor PHPDicas para sua carreira de Desenvolvedor PHP
Dicas para sua carreira de Desenvolvedor PHPDouglas V. Pasqua
 

Tendances (20)

TDC 2015 - Torne-se um programador melhor
TDC 2015 - Torne-se um  programador melhorTDC 2015 - Torne-se um  programador melhor
TDC 2015 - Torne-se um programador melhor
 
5 meses de python o que aprendi
5 meses de python  o que aprendi5 meses de python  o que aprendi
5 meses de python o que aprendi
 
Coding Dojo em 10 Minutos!
Coding Dojo em 10 Minutos!Coding Dojo em 10 Minutos!
Coding Dojo em 10 Minutos!
 
10 dicas de carreira em PHP
10 dicas de carreira em PHP10 dicas de carreira em PHP
10 dicas de carreira em PHP
 
Desmistificando Design Patterns
Desmistificando Design PatternsDesmistificando Design Patterns
Desmistificando Design Patterns
 
Paradigmas de Linguagens de Programação - Quatro Paradigmas + Ambientes de Pr...
Paradigmas de Linguagens de Programação - Quatro Paradigmas + Ambientes de Pr...Paradigmas de Linguagens de Programação - Quatro Paradigmas + Ambientes de Pr...
Paradigmas de Linguagens de Programação - Quatro Paradigmas + Ambientes de Pr...
 
A saga do desenvolvedor java
A saga do desenvolvedor javaA saga do desenvolvedor java
A saga do desenvolvedor java
 
How to Study: From Zero to Hero
How to Study:  From Zero to HeroHow to Study:  From Zero to Hero
How to Study: From Zero to Hero
 
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?
 
Paradigmas de programação
Paradigmas de programaçãoParadigmas de programação
Paradigmas de programação
 
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 ...
 
Boas praticas em_desenvolvimento_de_software
Boas praticas em_desenvolvimento_de_softwareBoas praticas em_desenvolvimento_de_software
Boas praticas em_desenvolvimento_de_software
 
Coding Dojo e TDD
Coding Dojo e TDDCoding Dojo e TDD
Coding Dojo e TDD
 
Programe a eficácia do seu código
Programe a eficácia do seu códigoPrograme a eficácia do seu código
Programe a eficácia do seu código
 
Aula de C para Linux
Aula de C para LinuxAula de C para Linux
Aula de C para Linux
 
Coding Dojo - Funcionamento
Coding Dojo - FuncionamentoCoding Dojo - Funcionamento
Coding Dojo - Funcionamento
 
Paradigmas de Linguagens de Programação - Classificações
Paradigmas de Linguagens de Programação - ClassificaçõesParadigmas de Linguagens de Programação - Classificações
Paradigmas de Linguagens de Programação - Classificações
 
Coding dojo
Coding dojoCoding dojo
Coding dojo
 
Dicas para sua carreira de Desenvolvedor PHP
Dicas para sua carreira de Desenvolvedor PHPDicas para sua carreira de Desenvolvedor PHP
Dicas para sua carreira de Desenvolvedor PHP
 
Por que Java?
Por que Java?Por que Java?
Por que Java?
 

En vedette

Componentes Transformers: Combinando o melhor de cada framework
Componentes Transformers: Combinando o melhor de cada frameworkComponentes Transformers: Combinando o melhor de cada framework
Componentes Transformers: Combinando o melhor de cada frameworkFlávio Lisboa
 
Sistemas operacionais e aplicativos
Sistemas operacionais e aplicativosSistemas operacionais e aplicativos
Sistemas operacionais e aplicativosguicabral6
 
O problema da utilização de CSS HACKS para garantia de resultados em diferent...
O problema da utilização de CSS HACKS para garantia de resultados em diferent...O problema da utilização de CSS HACKS para garantia de resultados em diferent...
O problema da utilização de CSS HACKS para garantia de resultados em diferent...Richard Duchatsch Johansen
 
NAVEGADORES
NAVEGADORESNAVEGADORES
NAVEGADORESshadyel
 
Sociologia – 2 ° ano
Sociologia – 2 ° anoSociologia – 2 ° ano
Sociologia – 2 ° anomyri2000
 
Aulas de sociologia ensino médio para o 2 ano em.
Aulas de sociologia ensino médio   para o 2 ano em.Aulas de sociologia ensino médio   para o 2 ano em.
Aulas de sociologia ensino médio para o 2 ano em.MARISE VON FRUHAUF HUBLARD
 
Apresentação Introdução Design Patterns
Apresentação Introdução Design PatternsApresentação Introdução Design Patterns
Apresentação Introdução Design PatternsLucas Simões Maistro
 
Introdução à análise orientada a objetos parte 1
Introdução à análise orientada a objetos parte 1Introdução à análise orientada a objetos parte 1
Introdução à análise orientada a objetos parte 1ariovaldodias
 
Introdução à análise orientada a objetos parte 6
Introdução à análise orientada a objetos parte 6Introdução à análise orientada a objetos parte 6
Introdução à análise orientada a objetos parte 6ariovaldodias
 
TDC 2013 SP | Arquitetura Java: Preciso de um Framework, mas qual usar?
TDC 2013 SP | Arquitetura Java: Preciso de um Framework, mas qual usar?TDC 2013 SP | Arquitetura Java: Preciso de um Framework, mas qual usar?
TDC 2013 SP | Arquitetura Java: Preciso de um Framework, mas qual usar?tdc-globalcode
 
Orientação a Objetos - Da Teoria a Pratica
Orientação a Objetos - Da Teoria a PraticaOrientação a Objetos - Da Teoria a Pratica
Orientação a Objetos - Da Teoria a Praticaelliando dias
 
Como escolher um framework web
Como escolher um framework webComo escolher um framework web
Como escolher um framework webRafael Carneiro
 
Como escolher o Framework Java para web?
Como escolher o Framework Java para web?Como escolher o Framework Java para web?
Como escolher o Framework Java para web?Anderson Araújo
 
Informática básica internet
Informática básica internetInformática básica internet
Informática básica internetMatheus França
 

En vedette (19)

Componentes Transformers: Combinando o melhor de cada framework
Componentes Transformers: Combinando o melhor de cada frameworkComponentes Transformers: Combinando o melhor de cada framework
Componentes Transformers: Combinando o melhor de cada framework
 
Sistemas operacionais e aplicativos
Sistemas operacionais e aplicativosSistemas operacionais e aplicativos
Sistemas operacionais e aplicativos
 
O problema da utilização de CSS HACKS para garantia de resultados em diferent...
O problema da utilização de CSS HACKS para garantia de resultados em diferent...O problema da utilização de CSS HACKS para garantia de resultados em diferent...
O problema da utilização de CSS HACKS para garantia de resultados em diferent...
 
NAVEGADORES
NAVEGADORESNAVEGADORES
NAVEGADORES
 
Sociologia – 2 ° ano
Sociologia – 2 ° anoSociologia – 2 ° ano
Sociologia – 2 ° ano
 
Aulas de sociologia ensino médio para o 2 ano em.
Aulas de sociologia ensino médio   para o 2 ano em.Aulas de sociologia ensino médio   para o 2 ano em.
Aulas de sociologia ensino médio para o 2 ano em.
 
Apresentação Introdução Design Patterns
Apresentação Introdução Design PatternsApresentação Introdução Design Patterns
Apresentação Introdução Design Patterns
 
4
44
4
 
Patterns
PatternsPatterns
Patterns
 
Framework
FrameworkFramework
Framework
 
Introdução à análise orientada a objetos parte 1
Introdução à análise orientada a objetos parte 1Introdução à análise orientada a objetos parte 1
Introdução à análise orientada a objetos parte 1
 
Introdução à análise orientada a objetos parte 6
Introdução à análise orientada a objetos parte 6Introdução à análise orientada a objetos parte 6
Introdução à análise orientada a objetos parte 6
 
Aulas 5 navegadores
Aulas 5 navegadoresAulas 5 navegadores
Aulas 5 navegadores
 
TDC 2013 SP | Arquitetura Java: Preciso de um Framework, mas qual usar?
TDC 2013 SP | Arquitetura Java: Preciso de um Framework, mas qual usar?TDC 2013 SP | Arquitetura Java: Preciso de um Framework, mas qual usar?
TDC 2013 SP | Arquitetura Java: Preciso de um Framework, mas qual usar?
 
Orientação a Objetos - Da Teoria a Pratica
Orientação a Objetos - Da Teoria a PraticaOrientação a Objetos - Da Teoria a Pratica
Orientação a Objetos - Da Teoria a Pratica
 
Black sabbath
Black sabbathBlack sabbath
Black sabbath
 
Como escolher um framework web
Como escolher um framework webComo escolher um framework web
Como escolher um framework web
 
Como escolher o Framework Java para web?
Como escolher o Framework Java para web?Como escolher o Framework Java para web?
Como escolher o Framework Java para web?
 
Informática básica internet
Informática básica internetInformática básica internet
Informática básica internet
 

Similaire à Como se tornar um programador de sucesso em 7 passos

Ebook logica-de-programacao-para-iniciantes
Ebook logica-de-programacao-para-iniciantesEbook logica-de-programacao-para-iniciantes
Ebook logica-de-programacao-para-iniciantesMarcio Lima
 
Formacao completa-java-web-alex-fernando-egidio
Formacao completa-java-web-alex-fernando-egidioFormacao completa-java-web-alex-fernando-egidio
Formacao completa-java-web-alex-fernando-egidioFlávio Lima
 
Coding Dojo - Unreal Engine
Coding Dojo - Unreal EngineCoding Dojo - Unreal Engine
Coding Dojo - Unreal EngineAdolfo Neto
 
Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...
Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...
Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...Developer Academy
 
Explorando O Potencial Das Linguagens De Programação Open Source
Explorando O Potencial Das Linguagens De Programação Open SourceExplorando O Potencial Das Linguagens De Programação Open Source
Explorando O Potencial Das Linguagens De Programação Open SourceRafael Jaques
 
Introdução a linguagem java
Introdução a linguagem javaIntrodução a linguagem java
Introdução a linguagem javaRosicleia Frasson
 
Pesquisa em Métodos Ágeis para o Desenvolvimento de Software
Pesquisa em Métodos Ágeis para o Desenvolvimento de SoftwarePesquisa em Métodos Ágeis para o Desenvolvimento de Software
Pesquisa em Métodos Ágeis para o Desenvolvimento de SoftwareAdolfo Neto
 
Profissao-programador-praticas-para-melhoria-continua-unimonte-outubro-2013
Profissao-programador-praticas-para-melhoria-continua-unimonte-outubro-2013Profissao-programador-praticas-para-melhoria-continua-unimonte-outubro-2013
Profissao-programador-praticas-para-melhoria-continua-unimonte-outubro-2013Gabriel Rubens
 
#DNAD15 - Diminuindo sofrimento com código legado de linguagens não mainstreams
#DNAD15  - Diminuindo sofrimento com código legado de linguagens não mainstreams#DNAD15  - Diminuindo sofrimento com código legado de linguagens não mainstreams
#DNAD15 - Diminuindo sofrimento com código legado de linguagens não mainstreamsJacqueline Abreu
 
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
 
LIVRO PROPRIETÁRIO - PROGRAMAÇÃO I
LIVRO PROPRIETÁRIO - PROGRAMAÇÃO ILIVRO PROPRIETÁRIO - PROGRAMAÇÃO I
LIVRO PROPRIETÁRIO - PROGRAMAÇÃO IOs Fantasmas !
 
Apostila lã³gica de programaã§ã£o
Apostila lã³gica de programaã§ã£oApostila lã³gica de programaã§ã£o
Apostila lã³gica de programaã§ã£oWELINGTON SILVA
 
PHP Turbinado com CodeIgniter - Conisli 2011
PHP Turbinado com CodeIgniter - Conisli 2011PHP Turbinado com CodeIgniter - Conisli 2011
PHP Turbinado com CodeIgniter - Conisli 2011Evaldo Junior
 
AULA 06 - REVISÃO DE CONCEITOS INICIAIS DE ALGORITMOS
AULA 06 - REVISÃO DE CONCEITOS INICIAIS DE ALGORITMOSAULA 06 - REVISÃO DE CONCEITOS INICIAIS DE ALGORITMOS
AULA 06 - REVISÃO DE CONCEITOS INICIAIS DE ALGORITMOSprofjotamarcosduarte
 
Não deixe seu projeto só nas mãos do framework
Não deixe seu projeto só nas mãos do frameworkNão deixe seu projeto só nas mãos do framework
Não deixe seu projeto só nas mãos do frameworkGiuseppe Lopes
 
Aprender a programar (Semana Academica da FACIN/PUCRS)
Aprender a programar (Semana Academica da FACIN/PUCRS)Aprender a programar (Semana Academica da FACIN/PUCRS)
Aprender a programar (Semana Academica da FACIN/PUCRS)Lucia Giraffa
 

Similaire à Como se tornar um programador de sucesso em 7 passos (20)

O que é ser um bom programador?
O que é ser um bom programador?O que é ser um bom programador?
O que é ser um bom programador?
 
Ebook logica-de-programacao-para-iniciantes
Ebook logica-de-programacao-para-iniciantesEbook logica-de-programacao-para-iniciantes
Ebook logica-de-programacao-para-iniciantes
 
Começando errado com php
Começando errado com phpComeçando errado com php
Começando errado com php
 
Formacao completa-java-web-alex-fernando-egidio
Formacao completa-java-web-alex-fernando-egidioFormacao completa-java-web-alex-fernando-egidio
Formacao completa-java-web-alex-fernando-egidio
 
Coding Dojo - Unreal Engine
Coding Dojo - Unreal EngineCoding Dojo - Unreal Engine
Coding Dojo - Unreal Engine
 
Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...
Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...
Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...
 
Explorando O Potencial Das Linguagens De Programação Open Source
Explorando O Potencial Das Linguagens De Programação Open SourceExplorando O Potencial Das Linguagens De Programação Open Source
Explorando O Potencial Das Linguagens De Programação Open Source
 
Introdução a linguagem java
Introdução a linguagem javaIntrodução a linguagem java
Introdução a linguagem java
 
Pesquisa em Métodos Ágeis para o Desenvolvimento de Software
Pesquisa em Métodos Ágeis para o Desenvolvimento de SoftwarePesquisa em Métodos Ágeis para o Desenvolvimento de Software
Pesquisa em Métodos Ágeis para o Desenvolvimento de Software
 
Profissao-programador-praticas-para-melhoria-continua-unimonte-outubro-2013
Profissao-programador-praticas-para-melhoria-continua-unimonte-outubro-2013Profissao-programador-praticas-para-melhoria-continua-unimonte-outubro-2013
Profissao-programador-praticas-para-melhoria-continua-unimonte-outubro-2013
 
#Moving br workshop
#Moving br workshop#Moving br workshop
#Moving br workshop
 
#DNAD15 - Diminuindo sofrimento com código legado de linguagens não mainstreams
#DNAD15  - Diminuindo sofrimento com código legado de linguagens não mainstreams#DNAD15  - Diminuindo sofrimento com código legado de linguagens não mainstreams
#DNAD15 - Diminuindo sofrimento com código legado de linguagens não mainstreams
 
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
 
LIVRO PROPRIETÁRIO - PROGRAMAÇÃO I
LIVRO PROPRIETÁRIO - PROGRAMAÇÃO ILIVRO PROPRIETÁRIO - PROGRAMAÇÃO I
LIVRO PROPRIETÁRIO - PROGRAMAÇÃO I
 
Apostila lã³gica de programaã§ã£o
Apostila lã³gica de programaã§ã£oApostila lã³gica de programaã§ã£o
Apostila lã³gica de programaã§ã£o
 
Test day 2012
Test day 2012Test day 2012
Test day 2012
 
PHP Turbinado com CodeIgniter - Conisli 2011
PHP Turbinado com CodeIgniter - Conisli 2011PHP Turbinado com CodeIgniter - Conisli 2011
PHP Turbinado com CodeIgniter - Conisli 2011
 
AULA 06 - REVISÃO DE CONCEITOS INICIAIS DE ALGORITMOS
AULA 06 - REVISÃO DE CONCEITOS INICIAIS DE ALGORITMOSAULA 06 - REVISÃO DE CONCEITOS INICIAIS DE ALGORITMOS
AULA 06 - REVISÃO DE CONCEITOS INICIAIS DE ALGORITMOS
 
Não deixe seu projeto só nas mãos do framework
Não deixe seu projeto só nas mãos do frameworkNão deixe seu projeto só nas mãos do framework
Não deixe seu projeto só nas mãos do framework
 
Aprender a programar (Semana Academica da FACIN/PUCRS)
Aprender a programar (Semana Academica da FACIN/PUCRS)Aprender a programar (Semana Academica da FACIN/PUCRS)
Aprender a programar (Semana Academica da FACIN/PUCRS)
 

Como se tornar um programador de sucesso em 7 passos

  • 1.
  • 2. Você decide aprender a programar, então o primeiro passo que você pensa é aprender uma linguagem de programação...
  • 3. Ok. Mas qual linguagem? PHP Objective-C Java Ruby Python Lua C# Pascal C++ ASP Fortran JavaScript Cobol C Object Pascal
  • 4.
  • 5. E você vai programar orientado a objetos?
  • 6.
  • 7. E você conhece... SQL AJAX Design Patterns Apache Framework Interface TDD Sessão MVC Scrum IDE Refactory CSS Repositório ???? HTML Kanban
  • 8.
  • 9.
  • 10. Você quer levar a vida toda para aprender a programar?
  • 12. Ou vai desistir do conhecimento?
  • 14. ... pois agora você vai aprender a ser um programador de sucesso ...
  • 15. ... em 7 passos! Passo 7 Passo 6 Passo 5 Passo 4 Passo 3 Passo 2 Passo 1
  • 16. ... em 7 passos! Passo 7 Passo 6 Passo 5 Passo 4 Passo 3 Passo 2 Passo 1
  • 17. ... em 7 passos! Passo 7 Passo 6 Passo 5 Passo 4 Passo 3 Passo 2 Passo 1
  • 18. Os 7 passos não são 7 passos de mágica que fará você ser programador da noite para o dia...
  • 19. ... mas é um caminho a se seguir, um guia, para que você ganhe tempo e aproveite melhor seus estudos.
  • 20. Lógica de Programação Descobrindo uma nova forma de pensar
  • 21. Lógica é o primeiro passo porque é a base para programação, sem ela, nada é feito. Lembre-se que a máquina é burra, quem pensa é você!
  • 22. E como toda base, quanto mais firme, melhor vai ser a sustentação para aguentar todo o resto. Então invista seu tempo estudando a lógica para poder entender como a programação funciona.
  • 23. A maioria das pessoas que tentam aprender a programar e desistem é porque tentaram aprender uma linguagem de programação sem antes entender a lógica. Não há problema em utilizar uma linguagem para aprender a lógica, desde que o foco do aprendizado seja a lógica, e não a linguagem.
  • 24. Depois que você estiver fera na lógica, você pode avançar para o próximo passo.
  • 26. Do mesmo jeito que você aprende a falar a uma língua estrangeira, como inglês ou espanhol, para se comunicar com um estrangeiro, você precisa aprender uma linguagem de programação para falar com a máquina.
  • 27. Apesar de existirem várias linguagens de programação, a maioria baseada na língua inglesa, todas servem para o mesmo propósito: definir instruções que o computador deve executar.
  • 28. Como você já sabe a lógica, você consegue aprender qualquer linguagem de programação, pois a linguagem é apenas uma ferramenta para você colocar a lógica em prática.
  • 29. Não se preocupe em escolher a linguagem ideal. Um programador de sucesso não aprende apenas uma linguagem, mas aprende várias. Então futuramente você irá acabar tendo que aprender outra linguagem mesmo. A área de TI evolui muito rápido, é importante estar sempre procurando aprender algo novo para não ficar para trás.
  • 30. Para começar, você pode escolher uma dessas linguagens: Java, PHP, Python ou Ruby. Se você quer escolher outra linguagem, tudo bem, mas é interessante que você conheça pelo menos 1 dessas 4 linguagens.
  • 31. Banco de Dados Armazenando informações
  • 32. Agora que você já sabe utilizar uma linguagem de programação, é interessante você aprender a arquivar um informação. Através do banco de dados é possível armazenar uma quantidade enorme de informação para usar como consulta a qualquer momento.
  • 33. Assim como linguagem de programação, banco de dados também possui uma variedade de tecnologia diferente, e você também não pode ficar preso a uma só.
  • 34. A sugestão do Planeta Código é que você comece por um desses: MySQL ou SQLite. Ambos são dois simples banco de dados de fácil instalação e utilização, e como o próprio nome entrega, ambos utilizam o SQL.
  • 35. SQL é a linguagem mais utilizada para gravar ou ler informações do banco de dados. Essa linguagem é essencial para você utilizar todo o potencial do banco de dados.
  • 36. Com esses 3 passos já dá para fazer bastante coisa. Se seu objetivo é fazer algo pessoal, até aqui é o suficiente. Porém, você ainda não é um programador profissional, ainda restam 4 passos para você se tornar um programador de sucesso. Passo 7 Passo 6 Passo 5 Passo 4 Linguagem Lógica Banco de Dados
  • 38. Agora que você já sabe o básico da programação, você deve iniciar o estudo de Padrões de Projetos. É nessa hora que muitos programadores ruins param de evoluir, pois acham que já sabem de tudo. Então é aqui que começa a separar o programador ruim do bom.
  • 39. Programar por diversão, você pode fazer do jeito que achar melhor. Mas se você pretender fazer algo mais profissional, voltado para o mercado de trabalho ou meio acadêmico, é importante você desenvolver um código de qualidade. Para isso foi criado o Design Patterns (Padrões de Projeto), que define as melhores práticas para criar um código de qualidade.
  • 40. Cada padrão visa a melhor prática para resolver determinados problemas da programação e trazer alguns benefícios: • Padronização • Fácil leitura e entendimento • Fácil manutenção • Reutilização • Entre outras vantagens
  • 41. Mas antes de começar estudar Padrões de Projetos, é importante estar dominando a Orientação a Objetos, que é o paradigma de programação usado para todos os padrões atualmente utilizados.
  • 42. Aprender Orientação a Objetos e Padrões de Projeto é um aprendizado avançado, então é interessante começar através de um curso ou de livros especializados no assunto para agilizar o aprendizado, além de garantir que vai estar aprendendo da maneira correta.
  • 44. Em uma guerra você pode lutar com as mãos vazias, apenas com sua habilidade de luta, assim como você pode programar tudo com a linguagem de programação apenas.
  • 45. Mas é muito mais eficiente se você for para guerra com armadura e armas. Assim como você vai ser muito mais eficiente ao programar utilizando ferramentas já prontas.
  • 46. Framework é um conjunto de códigos já pronto para aumentar sua produtividade na programação. Além do conjunto de bibliotecas para auxiliar o desenvolvimento, ele define um modelo a se seguir.
  • 47. Alguns exemplos de Framework Web para cada linguagem: • PHP → Yii Framework • Java → VRaptor • Python → Django • Ruby → Ruby On Rails Cada linguagem possui um variedade de framework, não importa qual você escolha, desde que escolha pelo menos um para estudar e usar.
  • 49. O processo de desenvolvimento é trabalhoso e leva tempo, então não pode ser feito de qualquer jeito, senão é desperdiçado muito tempo, além comprometer a qualidade do resultado. Para isso foi elaborado um conjunto de metodologias de desenvolvimento de software.
  • 50. Antigamente se utilizava o Gerenciamento de Projetos como metodologia, apesar de ser uma metodologia boa, não se aplicava ao desenvolvimento de software, então surgiu uma necessidade de criar uma metodologia que fosse aplicável a esta área.
  • 51. Assim surge o Agile (ágil) com metodologias voltadas ao desenvolvimento de software. As metodologias mais utilizadas são: • Extreme Programming (XP) • Scrum • Kanban
  • 52. Essas metodologias são apenas um guia com melhores práticas, que visa obter o melhor resultado nos processos de desenvolvimento de software. Você não precisa seguir a risca a metodologia, mas é importante que conheça o máximo de cada uma delas, para poder tomar uma melhor decisão.
  • 53. Essas práticas são voltadas para desenvolvimento em equipe, que é onde você pode tirar o máximo de cada metodologia, mas é possível usar a maioria dessas práticas no desenvolvimento com uma pessoa só.
  • 54. Chegamos ao último passo. Arquitetura
  • 55. A Arquitetura de Software de um sistema consiste na definição dos componentes de software, suas propriedades externas, e seus relacionamentos com outros softwares.
  • 56. Este passo é mais do que a arquitetura propriamente dita, mas é toda a atenção que você se dedica à qualidade do software que você está criando ou mantendo.
  • 57. É você se preocupar com a segurança, com a performance, com a experiência do usuário, com a usabilidade, com a reutilização de módulos, com a documentação, entre tantos outros aspectos que são importantes para o resultado final do seu software.
  • 58. E para conseguir realizar tudo isso, é simples: estude bastante! Não tem segredo ou fórmula secreta, quanto mais você estudar, melhor vai ser o seu desenvolvimento.
  • 59. Resumo: 7 passos Arquitetura Framework Linguagem Lógica Banco de Dados Padrões de Projeto Desenv. Ágil