Além do desenvolvimento tradicional: Um olhar para o bem estar social
Este poderia ser mais um texto defendendo uma linguagem, um framework ou uma lib específica, mas não é. Já aviso de antemão que se você é uma pessoa que prefere somente leituras técnicas, leia esse texto. Isso é ironia? Não! Aprender mais e mais, melhorar tecnicamente é muito bom. Mas também precisamos olhar, nem que seja por um segundo, para a figura humana que somos e o que isso significa. Isso parece uma ladainha de quem vem de "humanas". Talvez seja. Porém ninguém é cem por cento do tempo de "exatas".
O desenvolvimento de aplicações e softwares possui sempre um objetivo final. Grande parte das vezes esse objetivo é algo comercial. Desenvolvemos, e estamos desenvolvendo, uma infinidade de produtos diariamente. E-commerce, jogos, aplicativos variados, todos que visam a, de uma forma ou de outra, obter lucros. Por outro lado, uma gama muito grande de excelentes desenvolvedores estão queimando seus preciosos neurônios nesses produtos. Obviamente, isso não é errado e esse texto não é para criticar a sociedade consumista da qual fazemos parte. E sim para, de alguma forma, te inserir em uma dimensão que talvez você não havia pensado em fazer parte (ainda!).
Agora olhe ao seu redor. Talvez a realidade que irá enxergar seja uma realidade boa. Sem pobreza nem miséria, sem violência, sem feminicídio e machismo, sem preconceitos, sem abandono. Uma boa, uma feliz realidade! Isso é ótimo, não? Não. Isso significa que você possui uma visão bastante limitada do mundo. Calma, isso é mais comum do que se imagina. Olhar para além da sua zona de conforto, ter maior sensibilidade para o que acontece no seu bairro, cidade, estado, país, mundo, é o primeiro e mais valoroso passo para o desenvolvimento voltado para o bem social. A lógica é a mesma de quando queremos lançar um produto ou serviço: identificar uma necessidade ainda não suprida ou não tão bem suprida.
A menor ideia é a melhor solução
De maneira geral, depois de identificar uma necessidade social da qual poderemos desenvolver uma solução via software é justamente nesse ponto - o mais crucial - onde desistimos. Porque a Síndrome do Impostor é algo tão enraizado que acabamos por achar nossa ideia simples demais, ridícula até. Mas, caro(a) amigo(a) é aí que estamos enganados. Os problemas sociais são tão diversos, de origens tão impensáveis, que esse problema identificado pode ser algo mais limitador e importante do que você pensa. É trabalhando em pequenas partes que se resolve uma equação inteira. E é assim que começamos a tornar o mundo um lugar melhor: fazendo pequenas mudanças nele.
Ok, mas vamos falar sobre tecnologia?
Saindo desse lado mais humano, temos que agora pensar em como pôr essa grande ideia em prática. A primeira coisa que devemos pensar é talvez a mais difícil de se decidir. Qual tecnologia (lê-se linguagem, framework ou lib) vou utilizar para desenvolver esse projeto? Para solucionar essa questão, comece fazendo uma lista de linguagens, frameworks e libs na qual os seus objetivos principais convergem com a finalidade da sua aplicação. É muito importante essa etapa de entender o que a linguagem se propõe a fazer para que, nesse primeiro momento, ela suporte com facilidade e agilidade o que o projeto necessita. Feita essa lista, comece eliminando tecnologias. Descarte principalmente as que a sua curva de aprendizado for grande. No final, você terá uma tecnologia que supre suas necessidades e que, de certo modo, o desenvolvimento será confortável.
Débora, CEO CTO CMO Dev Full-STACK Product Owner Project Manager and Fazedora de Cafezinho
Esse é meu atual cargo no Petit.meteorapp.com, projeto voltado para o bem social que estou desenvolvendo. E esse, muito provavelmente, também será o seu. Quando começamos um projeto assim, o budget disponível, em sua maioria, não são valores altos. Então é de praxe nos tornarmos multifuncionais. Lembra que falei sobre escolher uma tecnologia confortável para desenvolver? Esse é um dos grandes motivos: não ter verba para contratar alguém para lhe ajudar. Então, tenha em mente que todo o processo de planejamento e gerenciamento, desenvolvimento do Back e do front-end, banco de dados, infraestrutura, divulgação e conquista de apoio financeiro, será sua responsabilidade. É claro que pode ser que um amigo queira te ajudar, fazer parte. Mesmo assim vocês serão multifuncionais.
O melhor software é aquele que funciona!
É bastante difícil falar isso quando se é uma pessoa que preza pela qualidade do código. Dá uma dorzinha no coração. Mas, nesse caso, temos que pensar muito mais no tempo de desenvolvimento e na funcionalidade da aplicação do que na qualidade do código. Quando estamos trabalhando em um projeto desse estilo, quanto mais rápido a primeira versão mínima viável (minimal viable product) sair, melhor. Logo, ficar pensando muito na performance e fazer muita refatoração pode se tornar um fator negativo.
Sobre prazos...
Chegou a hora mais complicada na vida de um(a) desenvolvedor(a). Estabelecer um prazo para o lançamento. A parte positiva é que é você mesmo quem irá estabelecer esse prazo. Sendo assim, você tem um controle maior do seu ritmo para desenvolver. Faça uma planilha, um kanban, anote em um caderno todas as etapas e planeje bem o tempo que levará para cada uma. Só então estabeleça uma data final para o lançamento.
Lancei, e agora?
Sabemos que para todo projeto se manter vivo precisa-se de dinheiro (liberdade para pôr um emoji chorando de rir ). Mas como conseguir? Existem vários formatos de arrecadação de fundos, um deles é o chamado Crowdfunding, que nada mais é do que um sistema de doação onde pode-se oferecer recompensas pelas doações. Define-se um objetivo, uma meta de arrecadação e um prazo. Vou deixar aqui o link de duas plataformas de crowdfunding que eu conheço:
Esse processo pode não ser tão rápido e fácil. Então, planeje-se para manter a aplicação no ar durante um tempo, caso você lance antes de arrecadar fundos, ou para adiar o lançamento, caso queira arrecadar fundos para o lançamento.
O mais importante para desenvolver com o foco no bem social é saber que você deverá ter muito mais amor pela causa do que conhecimento técnico. É claro que é sempre bom evoluirmos tecnicamente, mas para ajudar uma causa, basta ter vontade.
Vou deixar aqui uma listinha de projetos lindos para apoiar (vou incluir o meu, mas sinta-se livre para apoiar o que quiser :)