DISCLAIMER: meu teclado tem o layout americano entao nao tem os acentos nem cedilha.
Cara, vou te falar que nao tenho muita experiencia (2 anos) mas ja passei por um projeto parecido com o que vc mencionou acima. Foi num framework fullstack que nunca tinha trabalhado na vida chamado MeteorJS. O codigo era uma bagunca total, eu n sabia oq tava rodando no backend e oq tava rodando no front (framework full stack e foda pprt), fazer uma feature que nao quebrasse o resto do sistema era quase impossivel, as paradas eram muito acopladas.
Esses momentos da vida realmente sao complicados, eu normalmente tento ser o mais franco possivel comigo mesmo, pq se nao for creio que nao vou ser realizado profissionalmente.
Algumas perguntas que eu faria se estivesse na sua posicao:
Eu gosto do q eu faco ?
progamar por diversao ? estudar conceitos ? patterns ? estrutura de dados...
tenho interesse novidades da area ? (linguagens novas, frameworks, etc ..)
Minha vida financeira ta tranquila ?
Tasks que ja nascem atrasadas eh uma parada extremamente comum na nossa area, gente ruim existe em todo lugar, e isso eh uma coisa que vc nao controla. Oq vc pode controlar eh como vc enxerga sua empresa e seu trabalho.
Acho q o mais importante eh nao ser refem da sua empresa financeiramente falando. Ter uma vida financeiramente saudavel eh essencial pra ter saude mental.
Dito isso, vc tem uma reserva de emergencia guardada ? no meu caso em especifico, 1 ano de custo de vida guardado rendendo pelo menos 100% do CDI na minha opiniao eh o minimo pra q eu tenha o minimo de saude mental.
Pq eu digo isso ? Pq se me mandam fazer uma task impossivel de ser feita em X tempo, eu vou fazer oq eu posso, mas nao vou ficar me matando pela empresa pq um gestor ou alguem de produto fez besteira e tirou do c# algum prazo maluco, e eu so consigo ter esse mindset pq eu estou relativamente 'confortavel' financeiramente falando.
Estou dando transparencia do meu trabalho para meu time, gestor direto, etc ... ?
Aqui acho q ce tem q ser o mais franco possivel com vc mesmo, sobre o pq vc fica travado nas taks. Eh skill issue ? Ou o time pontuou mal a tarefa ? Pontuar horas/dias numa tarefa realmente faz sentido ? (normalmente pontua-se complexidade)
Caso seja problemas de hard skills, o que falta pra que consiga entregar no tempo estimado ?
Caso seja um problema de estimativa, eu procuro sempre deixar claro pro time todos os problemas que tive e o porque a task foi mal estimada, vale ate documentar no card da task se for possivel, esse nivel de transparencia deixa todo mundo a par da situacao, e na minha opiniao diminui bastante as chances de vc ser demitido injustamente.
A empresa q eu trabalho e uma m#rda ?
O time vc ja falou q eh bom, mas e a empresa num geral ? Vale a pena procurar outro emprego na situacao atual ? pelo q vi ta bem + dificil achar vaga, principalmente pra "frontend only"
Finalizando
Esses sao os pensamentos inicias que eu teria pra racionalizar e deixar o problema mais "palpavel". Caso vc ainda goste doq vc faz, indicaria estudar muito os pontos que vc citou que esta pecando, pq o mercado de hoje em dia eh bem diferente do mercado de 3 anos atras. De resto eh com vc, boa sorte man, espero que esse comentario de algum caminho pra alguem que esteja passando por algo parecido