Conhecimento superficial é melhor que nenhum conhecimento.
Como meu sogro diz, “Conhecimento não ocupa espaço”, não sei dizer a origem dessa frase, mas é com ela que quero começar o artigo.
Continuando a série de artigos voltados para os idealizadores de startups que não tem tanto conhecimento técnico, quero passar a seguinte mensagem.
Como pode você liderar uma startup de tecnologia e não ter nenhum conhecimento em tecnologia? Sei que é possível, mas não acha que isso é um fator que dificulta a comunicação entre você e a área técnica?
Conheço algumas startups em que é necessário uma terceira pessoa para intermediar a conversa entre um(a) Desenvolvedor(a) e uma pessoa de Negócios, por que fica difícil a comunicação entre ambos, parece que um fala alemão e o outro mandarim.
Não é necessário que amanhã você se matricule em um curso de PHP da vida, ou se aprofunde em SQL, mas já facilitaria muito a comunicação com a área de tecnologia, se você soubesse por exemplo, o que é uma API, e que ela é necessária para que o aplicativo móvel se comunique com o sistema.
“Saiba pelo menos diferenciar o que é um cachorro e o que é um gato.”
Seria muito interessante se você soubesse o que é um Kanban, SCRUM, Agile, Levantamento de requisitos e principalmente o que é um MVP (Mínimo produto viável), isso quem sabe já evitaria algumas coisas como:
- Criar funcionalidades desnecessárias;
- Perda de tempo e dinheiro;
- Produzir um produto de um cliente só;
- Prazos não cumpridos;
- E principalmente, criar um produto que ninguém usa. Isso é simplesmente a morte.
Você está entrando em uma “nova área”, então tem que buscar o máximo possível de informação sobre ela, o Carlos, CEO da Estuda.com, sempre fala isso, que ele e o Vitor não são pedagogos e que tiveram que buscar muita informação sobre, para conseguir conversar e entender os clientes, é a mesma lógica, só foi aplicado em outra área.
Buscar esse conhecimento em tecnologia só pode lhe trazer benefícios. Como exemplo vou citar algumas informações sobre o software WordPress:
- 30% dos sites da web é feito em WordPress;
- O WordPress é feito em PHP, o PHP é uma das dez linguagens mais utilizadas, sendo assim, temos uma grande oferta programadores em PHP e em WordPress;
- Ele é fortemente usado por pequenas agências para criação de sites institucionais.
Você consegue perceber que são conhecimentos estratégicos, mas não necessariamente tão técnicos que você não possa entender?
Nesse ponto quero fazer uma pequena analogia, para reforçar a importância sobre a busca de conhecimento sobre tecnologia.
Imagine abrir um pequena padaria, mas você não será o padeiro, provavelmente precisará entender os seguintes itens para a fabricação do pão:
- Quais são os ingredientes e suas proporções;
- Que precisará de ferramentas, maquinários, pessoas em determinadas funções para todo processo na fabricação do pão;
- O processo de fabricação. (Ingredientes, Pesagem, Preparo da massa, Divisão, Fermentação e Forneamento).
Você consegue perceber que mesmo que não faça o pão, você precisa conhecer sobre o processo da fabricação e os elementos que o envolve?
É preciso buscar esses conhecimentos, para facilitar a comunicação com seu sócio desenvolver ou equipe que irá te ajudar na construção do produto.
Irei listar alguns itens, para lhe dar um norte no começo das suas pesquisas. Procure entender o que é, para que serve e como se aplica.
Domínio e registro
Basicamente é o nome que você acessa o seu site. Você pode registrar seu domínio .com.br, .net.br,.. pela Registro.br ou .com, .net,… pela GoDaddy.
Hospedagem
De forma simples, entenda que onde os arquivos do seu sistema ou site estarão. Existem diversas empresas que oferecem esse tipo de serviço, como: Digital Ocean, AWS, Hostgator, Hostseries e etc, vai desde hospedagem compartilhada, VPS até Servidores dedicados.
Linguagem de programação
Esse item é imprescindível conhecer. Para a Web, acredito que a linguagem mais utilizada é o PHP, o Javascript, nos últimos anos vem ganhando muita força por causa do NodeJS, Aplicativos híbridos como Cordova, Ionic e React Native e os Frameworks de Frontend como React, Vue.JS e Angular, mas também acho que vale a pena conhecer o ecossistema do Ruby e o famoso framework Ruby on Rails, a queridinha das startups, confesso que são os meus preferidos. Com relação a esse item gostaria de destacar alguns pontos:
- Verifique a mão de obra disponível para a linguagem escolhida, por exemplo, provavelmente você irá encontrar mais programadores de PHP do que de Java, Python ou Ruby;
- Utilize um framework! Imagine que é uma caixa de ferramentas, onde oferece ao programador uma série de itens para facilitar o trabalho.
Nada de criar o próprio framework ou fazer na “mão”, acaba por dar muito trabalho e é bem provável que o projeto tenha pouco padrão e documentação escassa, verifique quais frameworks são mais utilizados. Assim vai facilitar na consistência do projeto e para encontrar programadores qualificados.
Banco de dados
Amigo esse item é básico para a estrutura, basicamente, sem banco não tem onde salvar os dados. Como dica o que posso dizer, comece simples, não resolva problemas que ainda não tem, sendo assim, para projetos iniciantes prefiro começar com bancos relacionais como: PostreSQL (Preferido) ou MySQL, mas procure saber o que são os bancos não relacionais (os famosos NoSQL, como: MongoDb, Redis e CouchDb), como funciona, estudos de casos e em que situações foram aplicados. O que tem que se entender, é que para cada problema existe uma solução diferente, não adianta usar uma chave de fenda em parafuso philips.
API
Entenda que é uma camada que permite que seu aplicativo mobile ou outros sistemas interajam com sua aplicação. Por favor, as interações faça com o formato JSON e no padrão REST. Procure entender melhor sobre isso, quando começar pode ser que encontre assuntos relacionados a React e Vue.JS, pode deixar para depois, mas se quiser saber o que é, pode valer a pena.
Testes automatizados
Esse assunto também é um pouco técnico, mas é de suma importância para a qualidade do software, basicamente é código testando código, existe uma série de benefícios, procure entender o que é o TDD e o que o BDD, e as ferramentas utilizadas dentro do ecossistema da sua linguagem.
Metodologias ágeis de desenvolvimento
- Leia o livro “ Lean Startup (Startup Enxuta)”do Eric Ries, fala bastante sobre MVP, validação e como construir o software de forma enxuta.
- Leia o livro “Scrum: a arte de fazer o dobro do trabalho na metade do tempo” do Jeff Sutherland (inventor do Scrum), fala sobre a metodologia e como eles aumentaram a velocidade do desenvolvimento, pode ser que não utilize na integra, mas acho que você pode acabar adotando algumas ferramentas.
- Leia sobre o manifesto ágil, você pode encontrar informações no site http://www.manifestoagil.com.br/.
Sei que as vezes parece muita coisa para aprender, mas é assim mesmo, na área de tecnologia a informação não para, mas como meu amigo Gabriel Pedro fala, “Fé no Pai que o inimigo cai”.
Mas quero deixar claro que minha intenção não é pôr na conta das pessoas ligadas a área de negócios, acredito que os desenvolvedores tem muito a ganhar entendendo um pouco mais sobre assuntos relacionados a “negócios” também.
Então é isso. Até a próxima!