Como aprender a programar e lançar uma ideia em 6 passos – tal como os founders do Tumblr e Whatsapp

Muitos empreendedores esperam anos por um co-founder técnico perfeito, mas grande parte do que significa ser um criador é o espírito self-taught, DIY. Para quê esperar quando se pode tornar num programador em 3-5 meses e lançar um produto no mercado?

O primeiro pensamento que nos pode saltar à cabeça quando pensamos em empresas gigantes com a Google e o Facebook são algoritmos complexos, milhões de linhas de código e equipas de 100 engenheiros de software a trabalhar. Mas a verdade é que o Facebook lançou a primeira versão com uma única pessoa a programar e, em poucos meses, uma versão claramente funcional com várias features, atraindo milhares de pessoas.

O primeiro produto ou MVP na grande maioria dos casos não é rocket science. Essa versão inicial vai ter as features essenciais e vai ser utilizado para testar o mercado com utilizadores reais.

Depois dessa validação e tração inicial, após investimento ou crescimento orgânico ocorrerá um processo natural tem complexificação e contratação de developers / engenheiros mais capazes de desenvolver aspetos mais complexos da tecnologia e escalar o software.

Devido às suas skills em programação os founders poderão realizar um vetting mais eficaz no recrutamento de developers no crescimento da startup, enquanto eles próprios também conseguem evoluir as suas skills técnicas neste processo de crescimento.

1. Motivação - case studies

Wolf

É possível.

A primeira etapa deste processo é ter a motivação e essa é facilmente alcançável sabendo que o objetivo final é possível de ser realizado, tal como foi para centenas de pessoas.

Nos últimos anos a quantidade de recursos de qualidade online e offline para se aprender a desenvolver tecnologia cresceu exponencialmente. Cursos dados por os melhores profissionais, onde qualquer pessoa pode aprender visto serem intuitivos e pedagogicamente evoluídos.

Se por exemplo tens formação em áreas com business, marketing (ou outro) e já tens outras skills, é a altura perfeita de as complementar e tornares-te um profissional ou empreendedor completo da atualidade.

David Karp – founder do Tumblr

Criou o Tumblr que mais tarde foi vendido por 1,4 mil milhões de dólares ao Yahoo. Nunca ingressou na faculdade e era admirado pelas suas coding skills (sabe mais aqui).

Jan Koum – co founder do Whatsapp

Vivia numa pequena aldeia na Ucrânia numa casa sem eletricidade e começou a aprender por livros. Depois de emigrar para os Estados Unidos e desistir da faculdade, fundou o Whatsapp que viria a ser vendido ao Facebook por 16 mil milhões.

Centenas de apps são lançadas todos os anos por self-taught developers.

2. Aprender de forma gratuita alguma teoria da computação na internet

C50

Não se trata de ler 10 livros de 500 páginas, mas sim de aprender alguns conceitos chave que vão ser úteis nas próximas etapas, contextualizando a futura aprendizagem. Aqui irás aprender conceitos básicos de computação, algoritmos, computadores e redes.

Tempo estimado: 6-10 horas.

Alguns exemplos de recursos:

1. Harvard C50
2. Khan Academy intro to Computer Science
3. Crash Course - computer science

3. Aprende de forma gratuita a programar com programas intuitivos

Coding

Neste 3º passo está na hora de colocar mãos à obra e começar a programar. Existem variados cursos grátis online bastante fáceis e intuitivos indicados para iniciantes, justamente criados para ser o primeiro contacto com a programação. Recomendamos começar pela linguagem javascript, visto ser uma das mais premissivas e livres.

Tempo estimado: 1-2 semanas trabalhando 1 hora por dia em média.

Alguns exemplos que recomendamos (não é preciso instalar ou saber nada, é só chegar ao site e começar a programar):

1. Khan academy 2. Codeacademy 3. FreeCodeCamp

4. Conceitos chave sobre arquitetura de aplicações

arch

Já sabes sabes o básico sobre como funciona a internet e os computadores e já programaste em javascript. Está na altura de perceberes com várias linguagens de programação se juntam para criar uma aplicação final.

Nesta etapa é importante perder alguns minutos a aprender algumas noções de como uma aplicação funciona e com as diferentes peças se juntam. Um exemplo de um conceito chave é a diferença entre front-end e back-end.

Tempo estimado: 2-3 horas.

Alguns recursos:

Front-end vs Back-end:

1. What's the Difference Between the Front-End and Back-End?
2. Three Web Dev Careers Decoded: Front-End vs Back-End vs Full Stack

App architecture:

1. How Web Apps Work
2. App Architecture - Understanding Frontend, Backend and Web Servers
3. Frontend And Backend - Fast Tech Skills
4. Basics Of Server Side Programming

5. Está na hora de nos tornarmos mais sérios

valley

Agora que passaram umas semanas e já tens uns conceitos importantes de teoria e já sabes na pratica programar, este é o momento indicado para dar o salto e juntar as peças todas, tornando-te um verdadeiro developer, iniciando um curso completo. Se optares por esta opção, as etapas número 2, 3, e 4 podem ser ignoradas visto que esta (5) as contém, ainda que seja sempre útil passar por essa experiência.
Poucos cursos grátis tem o que é preciso para se programar aplicações, isto porque não juntam as peças todas ensinando apenas linguagens soltas. Há varias opções, que podem custar entre 10 e 6000 euros, online, presencial ou misto, full-time ou part-time, etc.

1. Cursos online pagos

Cursos online pagos como Udemy, OneMonth, Treehouse, Lynda, SkillShare, etc - podem apresentar algumas soluções de maior qualidade e mais completas. Alguns contém todas as componentes para se ter uma perspetiva completa na construção de aplicações.

Consegue-se preços muito acessíveis em muito casos (entre 10-80 euros por exemplo). O único contra é a evolução lenta para iniciantes, visto ser uma fonte estática de conhecimento, não tendo a eficiência de um professor que rapidamente transmite informação e calibra a aprendizagem em tempo-real.

2. Bootcamps tradicionais

Bootcamps presenciais como Academia de código, Le Wagon, Up Academy ou TheNewDigitalSchool são um opção muito robusta para quem se quer tornar um developer ou lançar um produto (mais Le Wagon neste caso).

Programas muito completos como vários professores experientes. Os grandes contras são o preço (6000€) e o facto de maior parte serem full-time (não é possível compatibilizar com outras responsabilidades académicas ou profissionais) ou requerem um contrato profissional numa empresa.

3. Bootcamp da Eddisrupt

Com um preço mais acessível de 320 euros por mês durante 8 meses, poderás realizar um percurso formativo de +800 horas pós-laboral, sendo possível compatibilizar com compromissos académicos ou laborais, totalmente remote. São ensinadas várias linguagens focadas em Front-end, que permitem uma maior especialização e foco em te tornares um fron-end developer.

-> Clica aqui para veres o programa

6. É apenas o início

rocket

Embora não seja o foco deste artigo nunca é de mais relembrar que programar um MVP é apenas o início. É necessária toda uma caixa de ferramentas para lançar uma startup ou qualquer tipo de projeto que vai de marketing a user experience.

Alguns recursos:

1. How to build a Startup - Udacity
2. Y Combinator's How to Start a Startup. Todas as lectures aqui.
3. Lessons Learned blog by Eric Ries.
4. Tim Ferris blog.

and more.