Executando verificação de segurança...
1

É errado pré-desenvolver um projeto antes de fechar contrato com um cliente?

Olá, olá! Gostaria de saber a opinião da comunidade sobre algo que tenho pensado em relação ao trabalho como freelancer: é errado pré-desenvolver um projeto antes mesmo de fechar contrato com um cliente? Deixe-me eu explicar minha situação.

Como citado no meu primeiro post aqui, trabalho como desenvolvedor web há mais de 3 anos na mesma empresa. Recentemente, decidi explorar o mercado de freelancing para ter uma renda extra, só que a maior parte da minha experiência vem do meu emprego atual. Isso me deixa um pouco inseguro sobre minha capacidade de lidar com tipos diferentes de projetos.

Por isso, pensei em criar "projetos-teste" como prática. Aqui está a ideia:

  • Não tenho intenção de impressionar os clientes ou cobrar mais fingindo que terminei o projeto mais rápido;
  • Esses projetos não farão parte do meu portfólio nem serão usados para ganhar dinheiro;
  • Eles serviriam apenas para aprendizado — eu praticaria, ganharia conhecimento e depois os excluiria;
  • Meu objetivo é testar minha capacidade de desenvolver projetos semelhantes sem correr o risco de deixar um cliente insatisfeito ou de não conseguir entregar o que foi pedido.

Gostaria muito de saber o que vocês acham! Essa abordagem parece razoável ou deveria lidar com isso de outra forma? Desde já, agradeço qualquer opinião! E desculpem se essa pergunta já foi feita antes — eu procurei, mas não encontrei nada parecido.

Carregando publicação patrocinada...
2

Desenvolver o projeto é errado, fazer um modelo e usar não é
O que mais tem é modelos prontos por aí e o pessoal só altera para o que o cliente quer, o cliente não precisa saber como foi feito, somente o resultado no final

Eu tenho um boilerplate com autenticação pronta, porque geralmente os sistemas precisam e isso já me poupa um bom tempo

1

É uma boa ideia.
Como mencionei acima, eu anotei pra fazer isso assim que terminar meu projeto atual.

Agradeço pela atenção e sugestão!

2

Você pode criar um boilerplate para agiliar sua vida quando aparecer um sistema pra fazer e com isso estudar.

Por exemplo, você pode criá-lo em Laravel e conter as seguintes features: Dashboard, controle de usuários, controle de acesso dos usuários, multi-tenancy, fluxo de autenticação e recuperação de senha... Coloque aqui todas as funcionalidades que são aplicáveis em qualquer sistema, ou até mesmo crie branchs diferentes para cada tipo de negócio, tipo uma branch com controle de produtos, categorias e vendas. Outra branch para agendamentos... O céu é o limite.

Aí você fez com Laravel 'comum', melhorou, otimizou, e ficou bom. Mas você não tem a reatividade. Que tal fazer tudo isso agora em Livewire?

Pronto! Apoś ter terminado, você terá um boilerplate com todas essas funcionalidades prontas e quando aparecer um sistema pra você fazer, basta dar um git clone e começar a desenvolver as funcionalidades específicas em cima dessa base.

Isso tornará a entrega do projeto mais rápida e com muita qualidade, que são coisas muito importates no freelancing.

1

Um bom ponto, gostei da ideia!
Não tinha pensado em modelos mais abrangentes, estava pensando em projetos específicos apenas.

Umas semanas atrás eu comecei um projeto com uma ideia semelhante porém sem uma exata ideia de usar para modelo. Consiste em 3 landing pages diferentes, uma para desktop apenas, outra para mobile apenas e outra responsiva. Cada uma para uma empresa fictícia diferente.
Minha ideia é escrever documentação, criar os designs no Figma e desenvolver as pages como se fossem de empresas mesmo, daí sim usaria como um portifólio sem clientes reais.

Vou deixar anotado sua sugestão.
Muito obrigado!

2

https://www.tabnews.com.br/maniero/faq-do-programador-perdidao

Só você pode responder isso para você, não existe resposta única para todos.

Para mim em situação semelhante eu faria sim, fiz muito. E esse foi um dos motivos que eu me desenvolvi. Errei muito e depois descobri que perdi muito tempo, mas era o que tinha. Hoje as pessoas têm as chance de errar bem menos, maesmo assim muitos não sabem como aproveitar, tente fazer o melhor no seu caso.

De fato, fazer algo antes pode lhe render dinheiro depois, pode se tornar um produto, quanto mais bem pensado, mais feito apara atender várias demandas é mais interessante.

Aqui cabe um assunto paralelo, que eu vejo muito as pessoas fazendo produtos para atender uma demanda e não pensam que esse produto pode atender várias outros. Por outro lado eu vej uma inexperi~encia e até mesmo capacidade básica de muita gente para fazer isso do jeito certo e ser algo melhor do que pior, porque dá mais trabalho inicial, tem que pensar mais, tem que saber que pode dar errado, pensar à frente não é fácil e frequentemente as pessoas erram até com muita experiência, você corre certos riscos.

Outro ponto que vejo muito as pessoas refazendo as mesmas coisas diversas vezes, por isso falta programador, se isso acabasse resolveria o problema, mas como quase ninguém é engenheiro na área o problema é só aumenta. Se vai fazer algo novo que já existe tem que ser para:

  • aprender (por isso provavelmente será simplificado)
  • ter um resultado claramente melhor em algum ponto
  • ser pensado para usar outras vezes, que no fundo se encaixa no item anterior.

Boilerplate é um antipattern que se tornou um pattern para muita gente. Por isso no primeiro vídeo do meu canal falarei sobras a péssima prática de seguir boas práticas, já que você não sabe de onde elas vieram e se são corretas ou se a pessoa tem credibilidade ou é fruto de hoax ou apenas uma mentira que foi tão repetida que "virou verdade". As pessoas não sabem porque estão defendendo aquilo, é por modinha, ela viu outras pessoas defendendo e faz o mesmo, sem pensar, sem ter o estudo necessário para decidir sobre aquilo. A defesa do boilerplate se deu por falta do fundamento, mas ele é indesejável e só deveria ser aceito em casos específicos (não necessariamente tão raro), mas o objetivo é eliminá-lo, é escondê-lo, é criar uma abstração para isso, já que quase todo boilerplate deveria ser um padrão de projeto, preferencialmente com mecanismo próprio e não só uma receita de bolo para copiar.

Por que o projeto não pode fazer parte do portfólio? Claro que devidamente demonstrado que nunca foi usado na prática, se for o caso.

Ótimo praticar, só cuidado para não praticar o erro. Projetos artificiais podem ajudar ou atrapalhar, projetos reais ensinam mais, inclusive os problemas que terá com pessoas.

Sem alguém muito experiente e que não aprendeu errado para te supervisionar, a experiência pode não ser tão positiva quanto gostaria, mas isso depende de uma série de fatores. Quando você faz essa pewrgunta é positivo porque mostra que você não acha que sabe tudo, que mina muito o aprendizado correto de muita gente, ao mesmo tempo mostra uma certa inexperiência (normal) e falta de confiança no que fazer. Achar o equilíbrio é dificílimo a vida toda, você nunca está na linha mais correta, mas tem que tentar ficar o mais perto dela possível.

A escolha dos projetos, a forma como vai fazer, eventualmente as ferramentais que vai usar, o quanto quer seguir modinhas ou não, como vai avaliar os resultados, corrigir rotas, aprender o certo e não só o que funciona é algo para pensar. E para isso precisa ter um objetivo mais claro e e específico.

Cuidado com conselhos de internet, cada vez mais as pessoas aprenderam com conselhos de internet, então oque antes eram poucos conselhos ruins, hoje é a maioria, parece até que os ruins é que são so bons de tão prevalente. E vai piorar.

One bad programmer can easily create two new jobs a year.

-- David Parnas

S2


Farei algo que muitos pedem para aprender a programar corretamente, gratuitamente (não vendo nada, é retribuição na minha aposentadoria) (links aqui no perfil também).

1
1

Sou freelancer faz um tempo, e realmente tenho a mania de desenvolver os projetos mesmo antes de fechar com o cliente kkkk tem os seus prós e contras

o bom é que vc já vai ter o projeto bem andado caso realmente feche com o cliente, e vai acabar demonstrando para ele agilidade na hora de fazer o serviço

agora o contra é você poder acabar gastando horas desenvolvendo algo que possivelmente não será utilizado ou vai retornar um lucro pra você, mas mesmo com isso você ainda pode estar adquirindo alguns conhecimentos então não é de todo ruim

1
1

tl;dr: Não, não é errado!

Não tenho certeza do que você está propondo. Como você está procurando projetos? Você pretende entrar em sites onde as pessoas pedem projetos e simplesmente desenvolvê-los? Vá em frente. Não apague. Apenas publique. Não há nada inerentemente errado com isso. Não é como se você estivesse roubando ou algo assim.

Mas por quê?

Veja, se você já é um desenvolvedor, construir projetos aleatórios apenas para praticar não te ensina as coisas mais importantes para um freelancer. Você já sabe como programar. O que você não sabe é que ser freelancer é como ser uma empresa. Você não é só um programador, você é o cara do marketing, o gerente de projetos, o financeiro, o suporte... Tudo! O que você realmente precisa praticar é todo este resto.

Então, enquanto construir coisas é sempre bom, se o seu objetivo é ser um freelancer, você precisa focar na parte do cliente. E "cliente" significa muito mais do que só entregar código. Significa gerenciar um negócio inteiro, mesmo que seja só você. É isso que você precisa praticar, não só código. Então, talvez publicar esses projetos práticos possa levar clientes reais a entrarem em contato com você, o que seria melhor do que apenas apagá-los. Mas o ponto principal é: pratique ser um negócio.