Ir para conteúdo

throwaway1983

Members
  • Total de itens

    1
  • Registro em

  • Última visita

Reputação

0 Comum

Sobre throwaway1983

  1. throwaway1983

    Ambiente de trabalho difícil. Desisto? Continuo?

    Disclaimer: Eu não achei uma categoria melhor pra colocar isso, vou tentar manter breve. Eu preciso de algum tipo de orientação de alguém que sabe do que tô falando aqui. Se existir algum outro fórum/comunidade onde eu posso colocar isso, me indiquem por favor. Eu só tenho costume de usar SO, mas esse tipo de conteúdo não é muito benvindo por lá. E eu não posso dar muitos detalhes específicos, assinei um NDA junto com o contrato, então... E é textão. Alguém com tempo, por favor me dê uma ajuda. Primeira vez trabalhando como PJ, e primeira vez trabalhando em time - sempre fiz tudo sozinho, até alguns projetos "grandinhos". Esse projeto aparentemente é massivo, e depende de muitos dados de fontes diferentes, contando com diversos módulos que devem ser entregues dentro de certos prazos. No "time" estamos eu (desenvolvedor fullstack - júnior seria a denominação, não ficou claro), um líder técnico a quem eu respondo, e 2 consultores não técnicos mas que possuem domínio do negócio do cliente. Eu achei que mais pessoas participariam, e eles dizem que vão trazer mais programadores, não sei como anda isso. Comecei no dia 19/10/2020. Há um prazo pra entregar o primeiro módulo no dia 07/11/2020 (já estourou, não foi entregue, vou explicar o motivo), e logo no primeiro dia o líder disse que teríamos a ajuda de um cara temporário, um desenvolvedor feroz que faria toda a estrutura inicial, e nós depois só lidaríamos com os módulos individualmente. Então ele me pediu pra estudar uma certa lib pra me aclimatar com os componentes (lib baseada em React, nosso frontend). Na entrevista me pareceu tudo ótimo - frontend com react, backend com mongo/express. Até aí estava tudo dentro do combinado. Pensei que já existiria uma base de código, e que tudo estaria encaminhado com os especialistas que já teriam a base de dados necessária pros CRUDs acontecerem, e que uma metodologia seria empregada pra tudo andar bonitinho.... Engano meu: Minha primeira tarefa de fato seria o login e criação de usuários. Simpes, eu pensei. Eu já havia feito isso antes, usaria JWT pra criação de tokens e armazenamento inicial em session, não sei como eles gostariam que fosse. Mas a atividade me foi passada assim, por chat, bem rápido, sem muitas instruções. Não existia um repositório. Nenhum código havia sido feito. Com 3 semanas pra entrega do primeiro módulo.... Então criei uma organização privada no github e criei os projetos separados, backend e frontend, dentro dela. Adicionei o líder do projeto à organização... com uma conta que ele aparentemente tinha acabado de criar no github. Perguntei a ele como seria o deploy. Ele só me informou "Azure", então eu não detalhei muito, achei que ele saberia como fazer pra tirar do repo pra colocar em prod. Porém ele me pediu pra colocar online em algum lugar, pra ver como ficaria. Isso é normal, então usei heroku como backend pra API e netlify pro frontend, porque nos dois é questão de dar push e já publicar. Okay. Criei o modelo padrão de usuário com as informações que me foram mostradas em uma tela do Figma: cpf, perfil, etc. O modelo e esse módulo de login (e TODA a estrutura que não existia, como o layout e menu placeholder) estavam online pra verificarem, porém eu não implementei testes (nenhum, unitário, e2e, nada) porque eles queriam algo RÁPIDO, protótipozão mesmo. Mas ficou bonito, adequado, manualmente testável. Aparentemente o líder ficou tão satisfeito que resolveu não usar o outro desenvolvedor que teriam que contratar só pra esse módulo, ele acha que somente esse time daria conta... E eu ainda aguardando algum tipo de implementação de metodologia. Alguma estrutura pra dar andamento no projeto... Mas tava claro que esse é o tipo de projeto estilo "VAMO FAZENDO E VER O QUE DÁ". Então eu vi as telas sugeridas (via Figma) para o módulo, e os dados necessários. E começou a confusão: múltiplos dados de múltiplas coleções (ou "tabelas", como diria o líder, que claramente não entende os casos de uso de MongoDB e acha que é uma DB SQL diferente e só) interagindo num formulário com filtros redundantes/circulares, elementos (componentes da lib de componentes React que estamos usando) utilizados mais pela estética do que pela funcionalidade, falta de dados pra estabelecer uma funcionalidade simples. E o melhor estava por vir: o líder me pergunta se no MongoDB Atlas existe a funcionalidade de se criar "tabelas" pra preencher depois... E eu não tive a coragem de tentar explicar Modelos pra um cara que é líder tecnológico de um projeto desse tamanho. Eu só disse que seria melhor criar modelos e abastecer as coleções através dele pra ter consistência.... Mas o time tem..... PLANILHAS DE EXCEL! Eles pasasram os últimos 3 dias (isso bem depois do prazo inicial, nem sei se há uma extensão) juntando e migrando e formatando planilhas... pra transformar em JSON... e injetar diretamente em coleções, sem passar por modelos. E fizeram da pior forma possível, como se fosse uma base de dados SQL. Uma "tabela" pra listar anos. Anos. Uma sequência de anos, de 2018 até 2022. Em uma coleção própria. Com IDs. Coisas assim, pra serem usadas em um DropDown no frontend.... Eu tô pulando várias coisas menores, pra tentar manter o conto um pouco menor. Coisas como o líder não saber do que tô falando quando me refiro ao state dos componentes, ou state geral da aplicação; não entender componentes funcionais de React; não entender os hooks básicos (useState, useEffect); achar que eu iria consultar o MongoDB diretamente do React, sem passar pela API... Eu não sou dev Senior, nem Pleno; estou lonnnnnnnnnnnnnnnnnnnge disso, mas pô! Eu preciso de alguém que verifique o código e entenda o que tá acontecendo e que me direcione a fazer a coisa de acordo com um certo padrão já existente, mas... Não há padrão! Não há divisão de trabalho no código porque ele ainda não deu nenhum pull, pelo que entendi. As "tabelas" estão incompletas, mas eles querem que frontend funcione.... mas não há como obter funcionalidade e relação entre componentes que precisam de certos dados SEM OS DADOS! Ugh, eu sempre imaginei que trabalhar num time seria um pouco mais intenso que trabalhar sozinho, mas parece que eu simplesmente tô trabalhando sozinho com uma mão amarrada nas costas! É sempre assim? Ou seria esse time em particular? Ou será que EU não sirvo pra trabalhar em time? Eu fico lendo quase diariamente o meu contrato assinado confirmando que existe a cláusula de encerramento mediante aviso prévio; e já tenho o modelo pronto aqui, bastando alterar a data pra bater com o dia correto. TL;DR: Devo entregar a notificação de Rescisão de Contrato de Prestação de Serviços? Ou devo perseverar e aguardar? Obrigado.
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.