Alguma idéia de como posso superar esse bloqueio mental e garantir que meu aplicativo seja escalável?
O cerne da questão não é escalabilidade. O cerne da questão é pensar que você acertará na primeira vez .
Você deve se concentrar em escrever um código limpo. Porque o código limpo maximiza a conveniência quando você (inevitavelmente) precisa alterar algo no futuro. E esse é o objetivo real que você deveria ter.
O que você está tentando fazer agora é tentar pensar no código perfeito para escrever. Mas mesmo se você conseguir fazer isso, quem disse que os requisitos não serão alterados ou que você talvez tenha tomado suas decisões com base em informações incorretas ou falhas de comunicação?
Você não pode evitar cometer erros, mesmo que a culpa não seja sua. Concentre-se em escrever um código no qual é fácil alterar as coisas posteriormente, em vez de esperar escrever um código que você não precisará alterar no futuro.
Tendo se apegado ao projeto e ao código que eu já escrevi,
Eu absolutamente simpatizo com esse sentimento. Mas se apegar ao código que você escreveu é um problema.
A única coisa que deve ser uma constante é o seu desejo de resolver um problema específico . Como você resolve esse problema é apenas uma preocupação secundária.
Se amanhã for lançada uma nova ferramenta que reduz a base de código em 80%, você ficará chateado por não ter mais o código usado; ou você ficará feliz em saber que sua base de código se tornou menor e muito mais limpa / mais gerenciável?
Se o primeiro, você tem um problema: você não está vendo a solução para o código . Em outras palavras, você está focado no código e não está vendo a imagem maior (a solução que ele pretende fornecer).
Estou com medo de que todo o trabalho adicional que eu comprometa seja revertido em um futuro próximo, quando o aplicativo não for bem dimensionado à medida que a empresa crescer.
Esse é um problema diferente para um dia diferente.
Primeiro, você constrói algo que funciona. Em segundo lugar , você aprimora o código para corrigir quaisquer falhas que ainda possam aparecer. No momento, o que você está fazendo é reter a primeira tarefa por medo de ter que fazer a segunda tarefa.
Mas que outra opção existe? Você não pode dizer o futuro . Se você gastar seu tempo pensando em possibilidades futuras, acabará adivinhando de qualquer maneira. Um palpite é sempre propenso a estar completamente errado.
Em vez disso, crie o aplicativo e prove que realmente há um problema. E quando o problema estiver claro, você começará a resolvê-lo.
Dito de outra maneira: Henry Ford nunca construiu um carro em conformidade com os padrões / expectativas de 2018. Mas se ele não tivesse construído o Modelo T, um carro defeituoso para os padrões modernos, ninguém teria começado a usar carros, não haveria indústria automobilística e ninguém teria um carro que eles pudessem tentar melhorar.
Os empregadores questionaram minha escolha de não usar estruturas da web durante as entrevistas, o que só me levou a duvidar ainda mais do meu trabalho anterior.
A parte importante aqui não é qual estrutura você está usando (qualquer empregador que julgue você que não está fazendo o trabalho corretamente). A parte importante aqui é saber o que você está fazendo e por que está fazendo .
Por exemplo, você pode evitar a estrutura existente especificamente, porque deseja aprender por que uma estrutura é útil, fazendo da maneira mais difícil primeiro. Ou você pode estar tentando criar sua própria estrutura.
A única resposta ruim aqui é "não sei", pois mostra a falta de tomar decisões informadas. Essa é uma bandeira vermelha para um empregador.
Simplesmente não conheço nenhuma estrutura da Web e não sei qual começar a usar.
O mesmo problema surge aqui. A solução não é pensar mais, mas agir:
- Pare de pensar na resposta perfeita .
- Escolha uma estrutura. A menos que você tenha uma preferência, escolha uma aleatória. Use um alvo, jogue um dado, jogue uma moeda, escolha um cartão.
- Use-o.
- Você gostou de usá-lo? Havia algo que você achou irritante?
- Veja como evitar esses elementos ruins. Você abusou da estrutura, ou é assim que a estrutura deve funcionar?
- Depois de sentir que tem controle sobre a estrutura (independentemente de você gostar ou não), escolha uma nova estrutura e repita o ciclo.
Para ler mais sobre isso, leia A mentalidade do fazer> a mentalidade do pensamento . O autor explica melhor do que eu.
mas a pressão para terminar o aplicativo está aumentando, e estou pensando em abandoná-lo completamente e começar de novo
A menos que a base de código atual seja uma bagunça absolutamente insustentável; você está tomando a decisão oposta.
Os desenvolvedores geralmente pensam que jogar fora as coisas seria a melhor escolha. É um sentimento muito comum. Mas raramente é a escolha certa.
Jogar código fora e começar do zero é como ficar preso no trânsito a caminho do trabalho, preocupando-se em chegar atrasado ao trabalho (não cumpra o prazo) e, em vez disso, volte para casa e tente dirigir pela mesma estrada novamente. Isso não faz sentido. Você pode estar preso no trânsito, mas ainda está mais perto do trabalho do que quando estava em casa.