Ao menos por um tempo, todo programador deveria ser autônomo. Essa é uma teoria antiga minha e vou explicar o motivo.
Marketing e negociação
Se você for autônomo, talvez terá que fazer um cartão de visita pessoal, dizendo que é desenvolvedor ou coisa do tipo. Isso já te dá uma noção mínima de marketing.
Logo alguém irá aparecer querendo fazer um “sisteminha de caixa” ou “controle de estoque”. Mesmo existindo milhares de softwares deste tipo, inclusive online e gratuitos, as pessoas cismam em fazer o próprio sistema porque pensam que fazem caixa ou estoque de forma diferente de todas as outras. Talvez este venha a ser seu primeiro projeto independente! Mas atualmente é bem provável que alguém te procure querendo fazer um aplicativo mobile…. se vira no híbrido!
Uma vez que o possível cliente está interessado, você terá que calcular o valor e fazer uma proposta. Neste momento você estará exercitando sua visão do projeto. Quantas horas gastará nisso? Qualquer que seja o preço apresentando, certamente o futuro cliente irá pedir um desconto ou simplesmente achar caro. Nesta hora você aprenderá a fazer concessões.
Projeto aceito e pagamento combinado, é hora de partir pro código. Diferente de uma fábrica de software, agora você terá que fazer 100% do projeto sozinho. Terá que fazer a análise, programar, entregar e dar suporte.
Análise do problema a ser resolvido
Na análise, sendo sozinho, você tende a querer apenas entender o que o cliente diz e já começar a codar. Você não vai fazer documentação disso. Dai acontecerá um dos erros mais clássicos; o cliente mudará o projeto ao longo do caminho, adicionando novas telas, relatórios, interações. Como nada foi escrito ele pensa “que está dentro”, certamente ele dirá “achei que você tinha entendido que tinha isso, que estava subentendido”. Mas, para o(s) primeiro(s) projeto(s) isso acontece mesmo.. e você terá que lidar com isso.
Desenvolvimento
Enquanto programa sendo autônomo, você não terá com quem discutir a estratégia de desenvolvimento, não terá para quem perguntar suas duvidas e com isso você irá se virar por completo. O bom é que te força a entender tudo o que precisa ser feito e pensar em uma proposta de solução só sua. Ou seja, se der certo o mérito é todo seu, se o projeto ficar um lixo a culpa é só sua também.
Em uma fábrica ou equipe maior, raramente você poderia decidir (ou até opinar) na estrutura do projeto; qual linguagem usar, ter um framework ou não, qual seria o banco de dados, como serão organizadas as classes, etc. Você certamente receberia uma micro tarefa, que é uma parte, de uma classe, de um módulo.
Deploy, publicação
Publicar ou “botar online” não deveria ser um problema seu em uma fábrica. Mas sendo autônomo quem fará isso é você. Isso dependerá muito da linguagem e tipo de projeto; é um sistema web, desktop, mobile? Se for rodar online você poderá ser precavido e colocar em um servidor “todo pronto” que apenas recebe seu sistema e mantém funcionando, ou então, se for mais ousado, optar por um servidor próprio onde terá que “dar seus pulos” pra mante-lo atualizado e funcionando.
Treinamento e suporte
Além de tudo isso… terá que dar um treinamento inicial ao cliente e aos usuários. Nesta hora você percebe que o sistema não está tão bom quanto você imaginava, dá muito trabalho para o usuário incluir dados, a pesquisa não é tão boa e dai o sujeito perde muito tempo usando… dão alguns erros aqui e ali fazendo dele um sistema instável.
Quanta coisa!
Percebe? Se você conhece um pouco de uma fábrica de software maior, sabe que cada coisa destas tem um departamento, um responsável para fazê-lo.
Fazendo sozinho, tudo isso é experiência que você ganha! Não é brincadeira, não é fácil, mas é um caminho. Para algumas pessoas, ter que lidar com tanta coisa é um absurdo! Outros que agora estão lendo este post (os empreendedores) estão adorando a ideia, querendo logo começar a pegar projetos, para atender melhor os clientes e propor soluções ainda melhores.
Enfim, a coisa de trabalhar sozinho pode ser temporária, para você ganhar experiência ou só para levantar uma grana rápida. A verdade é que isso forma profissionais bem mais completos.
Se você é ou já foi autonomo/freelancer, compartilhe sua experiência conosco comentando abaixo.