Você está na página 1de 41

1

Como Aprender A Programar Do Absoluto Zero

CelsoKitamura.com.br
Capa
Licenciado para - Gabriel Alves Gonçalves de Assis - Protegido por Eduzz.com
Licenciado para - Gabriel Alves Gonçalves de Assis - Protegido por Eduzz.com

Como Aprender A Programar Do Absoluto Zero

Índice

Pra Começar................................................................................. 4
Mas Antes... O Que Faz Um App Dev? .................... 6
Sobre Celso Kitamura ............................................................ 9
Capítulo 1 – Escolha Uma Linguagem ...................... 12
Capítulo 2 – Não Ignore Os Fundamentos ............ 15
Lógica de Programação ................................................... 15
Fundamentos Da Linguagem ..................................... 17
Capítulo 3 – Aprenda Na Prática ................................. 20
Capítulo 4 - Treine Muito .................................................. 24
Capítulo 5 – Encontre Um Mentor ..............................28
Capítulo Bônus – Metodologias de
Desenvolvimento .................................................................... 32
Gestão de Requisitos ......................................................... 33
Manutenibilidade................................................................ 34
Gestão de Configuração ................................................. 35
Um Último Recado ................................................................ 37

2 CelsoKitamura.com.br
Licenciado para - Gabriel Alves Gonçalves de Assis - Protegido por Eduzz.com

Como Aprender A Programar Do Absoluto Zero

Imagem para comecar

CelsoKitamura.com.br 3
Licenciado para - Gabriel Alves Gonçalves de Assis - Protegido por Eduzz.com

Como Aprender A Programar Do Absoluto Zero

Pra Começar

Várias pessoas possuem o desejo de


aprender a programar e trabalhar com
softwares, mas não fazem ideia de
como começar.

E pelos mais diferentes motivos...

• Para desenvolver um aplicativo que


possibilite um novo modelo de negócios como o
Waze, Uber e muitos outros;
• Por conta do mercado de trabalho, onde
existem muitas vagas não preenchidas por falta
de qualificação dos candidatos e porque esta
área sempre sofre beeem menos em tempos de
crise.
• Ou pelo simples desafio de resolver
problemas complexos (e bota complexo nisso),

E você, por qual destes motivos quer se tornar


um programador?
4 CelsoKitamura.com.br
Licenciado para - Gabriel Alves Gonçalves de Assis - Protegido por Eduzz.com

Como Aprender A Programar Do Absoluto Zero

Pois neste pequeno e-book vou mostrar os 5


principais pontos para que você possa se tornar
um desenvolvedor, os passos essenciais para
você começar a programar com o pé direito!

CelsoKitamura.com.br 5
Licenciado para - Gabriel Alves Gonçalves de Assis - Protegido por Eduzz.com

Como Aprender A Programar Do Absoluto Zero

Mas Antes... O Que Faz Um App Dev?

O desenvolvedor de aplicativos é o profissional


que transforma pizza e café em software.

Falando sério...

O desenvolvedor de aplicativos é o profissional


responsável por construir softwares, inclusive
alguns que você usa diariamente com certeza:
WhatsApp, Instagram e muitos outros.

6 CelsoKitamura.com.br
Licenciado para - Gabriel Alves Gonçalves de Assis - Protegido por Eduzz.com

Como Aprender A Programar Do Absoluto Zero

Ele escreve e testa códigos para construir as


aplicações e tem um alto nível de conhecimento
técnico. Inclui-se também as atividades de
manutenção dos sistemas, entre correções e
pequenas evoluções.

O verdadeiro App Dev é muito mais que um


programador. Além da linguagem de
programação, ele conhece também todas as
fases do desenvolvimento, ferramentas,
bibliotecas, etc.

O Desenvolvedor de Software tem seu capital


intelectual como ferramenta de trabalho.

CelsoKitamura.com.br 7
Licenciado para - Gabriel Alves Gonçalves de Assis - Protegido por Eduzz.com

Como Aprender A Programar Do Absoluto Zero

Imagem Sobre Celso Kitamura

8 CelsoKitamura.com.br
Licenciado para - Gabriel Alves Gonçalves de Assis - Protegido por Eduzz.com

Como Aprender A Programar Do Absoluto Zero

Sobre Celso Kitamura

Celso Kitamura é Engenheiro de Computação


de formação.

Aprendeu a programar com a linguagem Basic


aos 14 anos, depois do pai comprar um
computador Expert da Gradiente, que utilizava o
sistema MSX.

Começou profissionalmente na área de


desenvolvimento de softwares em 2000 como

CelsoKitamura.com.br 9
Licenciado para - Gabriel Alves Gonçalves de Assis - Protegido por Eduzz.com

Como Aprender A Programar Do Absoluto Zero

programador, quando ingressou em uma


consultoria e participou de projetos para os mais
diferentes segmentos utilizando ferramentas
Microsoft.

Cursou pós em Engenharia de Software e desde


então continua estudando metodologias e
ferramentas que possam aperfeiçoar a arte de
fazer software.

Casado com a confeiteira Jeanne Novais, pai do


Yuki e fã de Transformers.

10 CelsoKitamura.com.br
Licenciado para - Gabriel Alves Gonçalves de Assis - Protegido por Eduzz.com

Como Aprender A Programar Do Absoluto Zero

Imagem passo 1

CelsoKitamura.com.br 11
Licenciado para - Gabriel Alves Gonçalves de Assis - Protegido por Eduzz.com

Como Aprender A Programar Do Absoluto Zero

Capítulo 1 – Escolha Uma


Linguagem

Depois que você decide aprender programação,


começa o dilema: que linguagem vou
aprender?

A minha dica neste assunto é: escolha uma


linguagem de acordo com seu objetivo.

Vai criar aplicativos para Android? Aprenda Java.

12 CelsoKitamura.com.br
Licenciado para - Gabriel Alves Gonçalves de Assis - Protegido por Eduzz.com

Como Aprender A Programar Do Absoluto Zero

Quer trabalhar com sistemas corporativos?


Aprenda C# ou Java.

Quer embarcar na revolução da voz, criando


skills para Alexa? Vá de Javascript ou Python, as
linguagens suportadas pelas skills tipo Alexa
Hosted.

CelsoKitamura.com.br 13
Licenciado para - Gabriel Alves Gonçalves de Assis - Protegido por Eduzz.com

Como Aprender A Programar Do Absoluto Zero

Imagem passo 2

14 CelsoKitamura.com.br
Licenciado para - Gabriel Alves Gonçalves de Assis - Protegido por Eduzz.com

Como Aprender A Programar Do Absoluto Zero

Capítulo 2 – Não Ignore Os


Fundamentos

Lógica de Programação

Antes de cair de cabeça nos estudos de uma


linguagem, estude bem lógica de programação.

É o início de tudo e sabendo muito bem lógica


você será capaz de entender qualquer
linguagem de programação. Pois o que difere

CelsoKitamura.com.br 15
Licenciado para - Gabriel Alves Gonçalves de Assis - Protegido por Eduzz.com

Como Aprender A Programar Do Absoluto Zero

uma linguagem da outra é a sintaxe e algumas


estruturas.

Muita gente acha que programar é difícil.

Antes de mais nada você deve quebrar esse


paradigma em sua cabeça.

Programar é como brincar com blocos


de montar. Você utiliza peças
(algumas pequenas, outras nem
tanto) para criar um objeto maior.

As estruturas são os blocos básicos e as


bibliotecas são como os blocos com formatos
mais específicos que utilizamos para montar o
aplicativo.

16 CelsoKitamura.com.br
Licenciado para - Gabriel Alves Gonçalves de Assis - Protegido por Eduzz.com

Como Aprender A Programar Do Absoluto Zero

Fundamentos Da Linguagem

Os fundamentos, conceitos e melhores práticas


da linguagem são muito importantes no
desenvolvimento de um software. Portanto
precisamos estudá-los muito bem.

Sem isso você produzirá

• Código desnecessário (fazer operações


sem necessidade, por exemplo),
• Ilegível (outro desenvolvedor não
consegue entender o que você quis fazer) e/ou
CelsoKitamura.com.br 17
Licenciado para - Gabriel Alves Gonçalves de Assis - Protegido por Eduzz.com

Como Aprender A Programar Do Absoluto Zero

• Difícil de manter (fazer uma alteração ou


correção leva muito mais tempo que deveria).

Perdi a conta de quantas vezes abri um código


para dar manutenção e vi muitos problemas de
conceitos... trinta linhas de código que poderiam
ser substituídos por três! E o pior de tudo é que
ainda tinha erro nele.

18 CelsoKitamura.com.br
19
Como Aprender A Programar Do Absoluto Zero

CelsoKitamura.com.br
Licenciado para - Gabriel Alves Gonçalves de Assis - Protegido por Eduzz.com
Licenciado para - Gabriel Alves Gonçalves de Assis - Protegido por Eduzz.com

Como Aprender A Programar Do Absoluto Zero

Capítulo 3 – Aprenda Na Prática

Nos seus primeiros projetos, você mesmo pode


ser o cliente.

Imagine um aplicativo que resolveria um


problema seu.

Descreva as funcionalidades que gostaria de ver


neste aplicativo. Faça um esboço das telas.
Estude a navegação entre elas.

20 CelsoKitamura.com.br
Licenciado para - Gabriel Alves Gonçalves de Assis - Protegido por Eduzz.com

Como Aprender A Programar Do Absoluto Zero

Na época que comecei, por exemplo, fiz um


programa de catalogação de CDs. Listei as
funcionalidades que gostaria em um software
deste tipo, desenhei as telas de cadastro,
listagem, alguns relatórios, etc.

Desenvolvi e testei todas as telas de acordo com


que tinha desenhado. Fiz algumas modificações
pois no papel achei que seria possível fazer
algumas coisas e na hora de desenvolver não
consegui.

Quando comecei a utilizar o software encontrei


mais alguns bugs, alterei algumas
funcionalidades que não ficaram tão bons
quanto pareciam, até que ele ficou estável e
consegui usar ele por um bom tempo sem
encontrar mais nenhum problema.

Hoje em dia poderia ser um aplicativo de


controle de lista de supermercado, onde você
cadastra os produtos que irá comprar e no
mercado colocaria o preço dos produtos. E nas
CelsoKitamura.com.br 21
Licenciado para - Gabriel Alves Gonçalves de Assis - Protegido por Eduzz.com

Como Aprender A Programar Do Absoluto Zero

próximas compras poderia comparar quanto


pagou no mês passado, a média de preços, etc.

22 CelsoKitamura.com.br
23
Como Aprender A Programar Do Absoluto Zero

CelsoKitamura.com.br
Licenciado para - Gabriel Alves Gonçalves de Assis - Protegido por Eduzz.com
Licenciado para - Gabriel Alves Gonçalves de Assis - Protegido por Eduzz.com

Como Aprender A Programar Do Absoluto Zero

Capítulo 4 - Treine Muito

Um corredor de 100 metros rasos precisa treinar


diariamente se quiser ser um atleta profissional.
E se quiser ganhar uma medalha olímpica, tem
que treinar muito mais!

Com desenvolvimento de software é a mesma


coisa.

Quanto mais você programar, mais


problemas resolver, melhor você fica.

24 CelsoKitamura.com.br
Licenciado para - Gabriel Alves Gonçalves de Assis - Protegido por Eduzz.com

Como Aprender A Programar Do Absoluto Zero

Sua visão se abre a outros assuntos que te


ajudam a ser um programador melhor.

Apesar de ser um desenvolvedor, já aprendi


muita coisa de configuração de redes e
servidores no momento de colocar um sistema
em produção. Isso não me faz um especialista
em infraestrutura (longe disso), mas me ajuda
bastante quando estou programando. Consigo
antecipar alguns problemas que poderiam
surgir somente no momento de implantar o
sistema.

E eu digo treinar não no sentido de estudar, ficar


lendo a documentação da linguagem... Treinar
fazendo projetos de aplicativos completos.
Aplicativos funcionais que façam algo de valor,
não apenas ficar imprimindo frases para o
usuário (isso é muito importante para fixar os
conceitos, mas não é tudo).

E treine projetos completos, desde o


levantamento de requisitos, prototipação,
CelsoKitamura.com.br 25
Licenciado para - Gabriel Alves Gonçalves de Assis - Protegido por Eduzz.com

Como Aprender A Programar Do Absoluto Zero

arquitetura, desenvolvimento, testes,


implantação/instalação até o controle de
versões.

26 CelsoKitamura.com.br
Licenciado para - Gabriel Alves Gonçalves de Assis - Protegido por Eduzz.com

Como Aprender A Programar Do Absoluto Zero

Imagem passo 4

CelsoKitamura.com.br 27
Licenciado para - Gabriel Alves Gonçalves de Assis - Protegido por Eduzz.com

Como Aprender A Programar Do Absoluto Zero

Capítulo 5 – Encontre Um
Mentor

Um mentor é aquela pessoa que já trilhou um


caminho semelhante ao que planejamos para
nós e pode nos auxiliar dividindo seus
conhecimentos.

Ele conhece todos ou quase todos os obstáculos


e desafios que podem surgir ao longo desta
jornada.
28 CelsoKitamura.com.br
Licenciado para - Gabriel Alves Gonçalves de Assis - Protegido por Eduzz.com

Como Aprender A Programar Do Absoluto Zero

Então... É possível aprender a programar


sozinho?

Sim, é possível. Eu inclusive aprendi sozinho,


apenas lendo o manual Basic do meu velho e
querido Expert MSX.

Mas naquela época eu não estava pensando em


desenvolvimento de software como profissão, só
queria fazer o computador desenhar na tela da
TV, utilizando sua paleta de incríveis 16 cores.

E qual é a diferença de aprender sozinho e com


um mentor?

Com a ajuda de um mentor seu aprendizado é


muito mais rápido.

Ainda mais nos dias de hoje, onde encontramos


uma overdose de informação através da
internet.

CelsoKitamura.com.br 29
Licenciado para - Gabriel Alves Gonçalves de Assis - Protegido por Eduzz.com

Como Aprender A Programar Do Absoluto Zero

O papel do mentor é muito importante para


filtrar aquilo que é essencial para seu
aprendizado naquele momento da sua jornada.

30 CelsoKitamura.com.br
31
Como Aprender A Programar Do Absoluto Zero

CelsoKitamura.com.br
Licenciado para - Gabriel Alves Gonçalves de Assis - Protegido por Eduzz.com
Licenciado para - Gabriel Alves Gonçalves de Assis - Protegido por Eduzz.com

Como Aprender A Programar Do Absoluto Zero

Capítulo Bônus – Metodologias


de Desenvolvimento

Muito mais que programar, o


desenvolvedor deve saber como
funciona o processo de
desenvolvimento de software.

Para desenvolver softwares profissionalmente,


temos que pensar muito além do código. Temos
que ter em mente todo o ciclo de vida da
aplicação.

32 CelsoKitamura.com.br
Licenciado para - Gabriel Alves Gonçalves de Assis - Protegido por Eduzz.com

Como Aprender A Programar Do Absoluto Zero

Veja alguns exemplos de aspectos muito


importantes no desenvolvimento de softwares
além da programação:

Gestão de Requisitos

Quais técnicas e ferramentas podemos utilizar


para conseguir extrair o que o usuário quer no
software? E o mais importante: como saber
quais funcionalidades são essenciais e quais são
pura "perfumaria"? Na maioria das vezes nem o
usuário sabe...

Uma das técnicas é o MVP (Minimum Viable


Product - Mínimo Produto Viável), que é
definido como "versão de um novo produto que
permite a uma equipe coletar o máximo de
aprendizado validado sobre clientes com o
mínimo de esforço". Em resumo, qual é o
mínimo de software que eu preciso desenvolver
para poder validar meu negócio?

CelsoKitamura.com.br 33
Licenciado para - Gabriel Alves Gonçalves de Assis - Protegido por Eduzz.com

Como Aprender A Programar Do Absoluto Zero

Manutenibilidade

Manutenibilidade se refere a facilidade de um


software ser modificado. E essa modificação
pode ser por algum destes motivos:

• Corrigir erros (os famosos bugs);


• Novos requisitos (um software não é
estático, ele deve ser atualizado
constantemente seguindo a evolução do
negócio);
• Aumentar a suportabilidade (facilidade de
detectar erros que o cliente reporta, facilidade
de instalação, etc.);
• Adequação a um ambiente novo
(mudança de tecnologia).

Ou seja, quanto o código que estou escrevendo


é passível de manutenção sem maiores
traumas? Ou ele é uma salada só e se eu mexer
numa linha do código posso "derrubar" todo o
sistema?

34 CelsoKitamura.com.br
Licenciado para - Gabriel Alves Gonçalves de Assis - Protegido por Eduzz.com

Como Aprender A Programar Do Absoluto Zero

Gestão de Configuração

Nem vou falar da importância de se ter cuidado


com o código fonte do nosso aplicativo. É o
básico do básico guardá-lo num lugar seguro,
com backup, etc.

Mas e o resto? A gestão de configuração vai


muito além do controle do código fonte.

Qual IDE e qual a versão do utilizada para


desenvolver o aplicativo? Se utilizarmos
ferramentas/bibliotecas de terceiros, sabemos
que versão foi utilizada? Temos a licença de
todos os softwares utilizados?

E para que tudo isso? Vamos supor que por


qualquer motivo precisaremos configurar do
zero uma máquina de desenvolvimento com
tudo que for necessário para atuarmos em uma
manutenção no código. Onde estão os
instaladores e licenças de todos os softwares?
Que versão instalar?

CelsoKitamura.com.br 35
Licenciado para - Gabriel Alves Gonçalves de Assis - Protegido por Eduzz.com

Como Aprender A Programar Do Absoluto Zero

imagem ultimo recado

36 CelsoKitamura.com.br
Licenciado para - Gabriel Alves Gonçalves de Assis - Protegido por Eduzz.com

Como Aprender A Programar Do Absoluto Zero

Um Último Recado

Se você conseguiu chegar até aqui, parabéns!

Já deu para perceber que ser um App Dev


qualificado é muito mais que comprar uma
máquina cara e saber as estruturas básicas da
programação.

É muito estudo, treino e dedicação para que


consigamos resolver problemas através de um
sistema do modo mais eficiente.

CelsoKitamura.com.br 37
Licenciado para - Gabriel Alves Gonçalves de Assis - Protegido por Eduzz.com

Como Aprender A Programar Do Absoluto Zero

Programadores encontramos as pencas por aí.

Mas desenvolvedores, aqueles que conhecem


além da programação, são poucos. E para estes
desenvolvedores completos, que programam e
ainda tem uma visão de todo o processo de
desenvolvimento, existem muitas
oportunidades no mercado.

É trabalhoso? Sim, mas é muito


gratificante também!

Quando você vê um sistema no ar funcionando


corretamente, mudando a dinâmica de uma
empresa, fornecendo informações rapidamente,
enfim, fazendo ela trabalhar melhor, dá um
orgulho danado do caminho que escolhemos
seguir: ser um desenvolvedor de sistemas, ser
um App Dev.

E convido você a embarcar nessa, a se juntar ao


time de desenvolvedores que mudarão o
mundo com seus aplicativos e revolucionarão a
38 CelsoKitamura.com.br
Licenciado para - Gabriel Alves Gonçalves de Assis - Protegido por Eduzz.com

Como Aprender A Programar Do Absoluto Zero

humanidade quebrando paradigmas que


pareciam impossíveis!

O início desta jornada comigo é o treinamento


Profissão App Dev: Ignite.

Um curso onde você vai ver um pouco das 3


coisas mais importantes que um App Dev deve
saber: Lógica de Programação, Linguagem e
Processo de Desenvolvimento.

Nada de pseudo linguagem, linguagens fakes


ou portugol. Vamos aprender a desenvolver
softwares a partir de requisitos definidos.

Aprender fazendo software ao invés de


exercícios sem contexto.

Por isso este curso está disponível em 2 versões:


Javascript ou Python, para que você possa
escolher a linguagem inicial desta longa estrada
tecnológica.

CelsoKitamura.com.br 39
Licenciado para - Gabriel Alves Gonçalves de Assis - Protegido por Eduzz.com

Como Aprender A Programar Do Absoluto Zero

Clique aqui para saber mais sobre o Profissão


App Dev: Ignite.

Bora criar um app e transformar o


mundo?

40 CelsoKitamura.com.br
41
Como Aprender A Programar Do Absoluto Zero

CelsoKitamura.com.br
4.a capa
Licenciado para - Gabriel Alves Gonçalves de Assis - Protegido por Eduzz.com

Você também pode gostar