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

Como salvei uma microempresa como programador

Boas pessoal,

Hoje trago uma experiência que tive como programador lá no início dos meus estudos e encorajar quem também está no início da carreira ou estudando.

Durante a pandemia, enquanto ainda estudava, meu tio me chamou para trabalhar no negócio dele como atendente, um estabelecimento que vende carne assada, tipicamente nomeado como assadão. Eu trabalhava apenas aos domingos, onde era o dia de mais movimento e por ser pandemia parecia que havia dobrado a carteira de clientes.

De início senti uma enorme dificuldade em trabalhar, porque era tudo manual e escrito a caneta e isso é contra o desenvolvedor (ironia)

Mas o maior problema logo de cara, era realmente papel e caneta, porque o sistema de trabalho desse estabelecimento era diferente dos demais da cidade, pois o meu tio ele aceitava reservas. Imagina só, um estabelecimento, que tinha em media 50-80 clientes dentro de 2 horas (das 10:30 às 12:30), aceitava reserva de carne, vendia no balcão, tinha delivery, possuia uma quantidade média de 30% de tudo à venda em reservas e ainda continuava a reservar mesmo em horário de pico (sim, aqui também o pessoal reservava em cima da hora). Era humanamente impossível ter controle desse estoque todo, porque havia 2 atendente no balcão para vender pelo telefone e WhatsApp e 3 para atender o pessoal no balcão.

Diante dessa loucura toda, nós acabavamos vendendo sem querer mercadoria que estava na reserva, deixando o cliente sem o almoço de domingo, isso era muito constrangedor para todo mundo, inclusive para eu que estava na linha de frente do atendimento também.

Surgiram algumas ideias para solucionar esse problema, como limitar as reservas, limitar os horários de reservas, uma forma de carimbar ou contar em papelzinho os itens a venda e ir descartando por vendas e entre mil outras ideias. Mas meu tio, botava sempre em primeiro lugar o cliente e as vendas e na cabeça dele, aquele sistema de venda dele era ideal porque era diferente de todos os concorrentes da cidade, e por sinal, existia muita concorrência, então nenhuma ideia deu certo. E eu entendo o ponto de vista dele, porque se sobrar algo do estoque é desperdício, porque estamos falando de alimento que é muito mais saboroso fresco.

Após 2 meses trabalhando insanamente nesse assadao, tendo crises, me sentimento um lixo toda vez que um cliente chegava la e tinhamos sem querer vendido a reserva dele pra um cliente aleatório, ligar para o cliente que havia pedido para entrega e dar notícia que não havia mais o ítem que ele solicitou e ele me guspir palavras de baixo calão, então cheguei no meu tio e propus eu fazer um sistema para controlar tudo, incluindo estoque, reservas, cadastro de clientes e etc.

Então, iniciei o meu primeiro projeto que seria usado na prática, sem ser apenas localhost.

Como estudava desenvolvimento android, eu fiz o front em android mesmo, o back-end fiz usando oque aprendi na faculdade, springboot.

Foram alguns meses desenvolvendo, lapidando, melhorando, testando na prática durante o movimento insano e o aplicativo deixando de funcionar, não imprimindo comandas e atrasando as entregas, não contabilizando o estoque e vendendo de novo as reservas ou contabilizou errado e acabou sobrando no final do dia produtos e entre outros bugs. MAS ENFIM CHEGOU, o primeiro domingo onde tudo funcionou perfeitamente o essencial e o propósito daquilo que havia dedicado o meu tempo durante semanas. O primeiro dia onde conseguimos ter controle de tudo, tudo havia sido vendido e todos os que fizeram reservas tinham levado para casa aquilo que de fato reservaram.

Hoje, depois de 3 anos, o sistema ainda funciona e quebra muito o galho para controlar reservas e o estoque disponível.

Com esse projeto tive muitos aprendizados que ficaria uma lista muito grande aqui até para escrever, mas o mais importante é que EU RESOLVI UM PROBLEMA e provavelmente eu desencadiei outras melhorias como experiência do cliente, dados mais precisos e com historico para saber a quantidade necessária que o meu tio deveria preparar para venda.

Queria deixar até um parágrafo destacado para a experiência do cliente. A experiência começa no início do atendimento, pois com os dados básicos consegui desentupir a fila de atendimento pelo whatsapp, porque eu ja tinha o endereço do cliente no sistema caso fosse entrega, então eu só precisava apenas do produto que ele gostaria e poupava de perguntar informações que eu ja havia coletado, fazendo assim um atendimento mais rápido. Para reserva, consegui fazer com que o cliente recebesse um número de reserva, que facilitava o encontro da sua reserva no balcão e já iniciarmos a separação, aliviando o tempo de espera na fila.

Vendiamos oque tinhamos em tempo real, informações precisas, se um ítem estava esgotando, já tinhamos informação e já estavamos preparando o encerramento desse ítem nas plataformas de delivery (ifood) e passamos a ganhar melhores avaliações.

E entre outras melhorias que acho que nem preciso contar com mais detalhes.

Me orgulho por ter me dedicado a resolver esse problema. Meu tio, todo encontro de família sempre fala desse sistema que resolveu a vida dele.

Queria deixar esse relato para dizer que qualquer problema é um estudo de caso para botar a mão em código e esse foi o meu portfólio para conseguir o meu primeiro estágio como dev e dou graças a ele por abrir as portas para que eu conseguisse entrar no mercado de trabalho.

Muito obrigado para quem leu até aqui.

Carregando publicação patrocinada...
4

Que relato sensacional, muito inspirador o que você fez, meus parabens de verdade.
Eu também tenho um projeto para ser feito de uma empresa onde trabalhei e tudo la é anotado na mão, e lendo o seu relato eu também sinto que estou no caminho certo.
Mais uma vez, parabéns.

2

Muito obrigado.

É isso, negócio é fazer algo que possa ganhar velocidade para a empresa, isso agrega muito para todos os envolvidos, inclusive clientes. Quando finalizado, testado e implementado, você vai ver que o seu sistema será crucial para a empresa.

3

Você já se sentia confiante como desenvolvedor? ou foi aprendendo boa parte durante o processo?
Estou na faculdade e estudando bastante, mas sei que não sei tanto ainda, estou desenvolvendo um sistema para a empresa que trabalho e muitas vezes sinto que não estou pronto para isso ainda.

Gostei bastante história, parabéns!

2

Muito obrigado.

Eu fui confiante sim, mas perdia as vezes 2 dias em problemas bestas.

Fui aprendendo muuuito durante o desenvolvimento, aprendi muita coisa mesmo, sai do básico de ficar criando telinha e um simples crud para um sistema que tinha objetivo.

Mas o código não era o dos melhores e também não tinha muita noção, sabia o básico do básoco. Um exemplo que me ocorreu: Com a falta de experiência, enviava muito dado sujo para api, por exemplo enviar o body completo do cliente que já estava cadastrado sendo que eu precisava apenas do ID pra poder salvar no banco relacional.

Mas, mesmo com essa baixaria toda, funcionou, hoje em dia uma ou outra sujeira como essa ainda continua, mas eu aprendi e dei manutenção em algumas coisas pra poder me atualizar assim como o projeto também.

2

Parabéns. Obrigado pelo relato. Me pergunto quantos "tios" ainda existem por aí NECESSITANDO de soluções como a sua, mas sem saber que elas existem.

1
2

Show de bola cara... muito inspirado o seu progresso.

Cara, quando vc decidiu fazer este software, qual stack decidiu usar?
Ja tinha algo em mente, ou pesquisou oq seria melhor?
Por acaso, começou e parou algumas vezes, ou foi diretão?

kkkkk sei q são muitas perguntas, mas de fato tenho estas duvidas.

Um abraço!

1

boas amigo,

Fui na stack que conhecia, springboot com java e android usando kotlin.

Em nenhum momento pensei em desistir, estava desempregado mesmo, então tinha todo tempo do mundo pra focar no desafio.

Única coisa que eu tinha em mente era resolver o problema e toda as regras do negócio na cabeça kkkkk

2

Muito massa! E como foi lidar com a pressão e cobrança nos primeiros meses, onde encontrou bugs nos controles de estoque, impressão de comandas?

3

Boas amigo,

As pressões antes do desenvolvimento eram piores, sabendo que o problema enquanto eu desenvolvia ja estava mapeado eu me sentia tranquilo, até porque, na faculdade sempre ressaltavam que o custo de um sistema sempre é mais caro na parte de manutenção, então não seria diferente do meu próprio sistema, sendo corrigindo um bug quanto desenvolvendo a próxima feature importante que não havia ainda desenvolvido.

Bug no controle de estoque eram específicas, normalmente falha de cálculo, juntando subtração dentro de dados específicos em um aninhado de objetos (orientação a objetos), acabou dando um certo trabalho em chegar numa lógica que funcionasse bem. Hoje em dia eu fiz uma v2 para ser mais simples toda essa lógica, porque na época eu não tinha experiência e noção como hoje.

Você perguntou sobre o bug de impressora, onde eu sou muito apaixonado nessa feature, de transformar algo digital em físico, ou seja, imprimir um dado. Na verdade, no início eu não implementei nenhuma conexão com a impressora térmica, foi usando um app terceiro que eu simplesmente abria via intent passando parâmetros de texto e esse aplicativo imprimia, aliviando muito o processo de desenvolvimento nessa parte. Mas, havia alguns motivos que mais tarde eu descobri o porque de nao imprimir, como configuração da linguagem a ser imprimida, configuração de imagens ou QR-CODE na nota que por algum motivo a impressora não imprimia nada e o pior, o cabo de ethernet simplificado parou de funcionar. Mas, após muita dor de cabeça fui descobrindo item por item e fui melhorando a configuração para simplesmente imprimir uma nota com os dados mais básicos e necessários.

2

Impressão é chato mesmo. Mas usando um app de terceiro a coisa fica mais simples.
Tenho 2 sistemas que usam impressora térmica e ambos usam o rawbt. Eu tinha, inclusive, feito a integração mas o rawbt é mais simples. uma coisa ja testada por milhões de desenvolvedores no mundo todo com certeza é melhor que uma que você fez manualmente.

1

Sim, eu tenho na verdade a implementação de uma biblioteca que faz a impressão como alternativa se caso algum erro ocorre quando esse app terceiro deixa de funcionar, mas realmente, esse rawbt, por exemplo, facilita de mais e adianta muito o lado de quem deseja imprimir algo na impressora térmica. Eu costumo utilizar o quickprinter, ele tem muita configuração que me agrada, inclusive imprimir uma nota em múltiplas impressoras, é ótimo.

1

Que história fantástica. Obrigado por compartilhar e parabéns pelo resultado.

Voce poderia crisr uma versão web e oferecer para outros empresarios do ramo.