Algumas coisas importantes que aprendi sobre desenvolvimento Web desde que eu comecei
Primeiramente, sou apenas um Junior, tenho cerca de 4 anos na área e já trabalhei em algumas empresas. Então apesar de eu estar compartilhando algumas coisas que eu considero serem importantes de aprender durante a jornada dos desenvolvedores, peço que complementem ou me corrijam caso algo esteja errado ou em falta.
Bom, vamos lá!
Use SQL como sua escolha principal
Muitos cursos e tutoriais escolhem o MongoDB para usar, é bom porque é simples de entender quando você está começando. Mas quando você está começando, você deve aprender sobre tabelas, relacionamentos e como escrever boas consultas SQL.
As pessoas costumam dizer que "Mongo é mais rápido que bancos de dados SQL", mas quando você está iniciando no mundo de desenvolvimento, provavelmente seus aplicativos não precisam ser mais rápidos, eles precisam ser consistentes. Provavelmente PostgreSQL ou MySQL podem resolver seus problemas.
Aprenda um pouco sobre segurança
A maioria dos desenvolvedores não pensa nem um pouco sobre segurança. Mas é muito importante, você não precisa ser o Elliot do Mr. Robot, mas conhecer as vulnerabilidades mais comuns, vai te ajudar a desenvolver um código mais seguro. Você pode começar a aprender sobre XSS, CSRF, SQLi, rate limit etc.
Você pode ler o OWASP Top 10 para que fique por dentro das vulnerabilidades mais exploradas.
Aprenda Typescript
Um desenvolvedor web sempre usará Javascript, seja no front-end ou no back-end. No começo, o Typescript pode ser difícil e chato (era assim para mim por um tempo), mas usar o Typescript economizará tempo para você no futuro eliminando problemas bobos que poderiam acontecer caso você estivesse usando Javascript.
Sempre opte por usar transações (transactions)
As transações (transactions) garantirão que sua leitura/gravação no banco de dados permaneça "atômica" e "consistente". Leia sobre o ACID.
Uma maneira simples de explicar é pensar em uma transferência bancária, você precisa ter certeza de que o dinheiro quando sai da conta A, chega na conta B. Se ocorrer um erro antes do dinheiro chegar na conta B, o dinheiro precisa retornar conta A. Basicamente, a transação fará um rollback se ocorrer um erro e um commit se a transação for bem-sucedida.
Muitos ORMs como o Prisma possuem por padrão transactions ativadas mas é sempre bom conferir.
Use alguma forma de cache
Se você precisar melhorar o desempenho e a escalabilidade do seu aplicativo, não precisará alterar o banco de dados como do MySQL para o MongoDB. Você pode simplesmente adicionar algum banco de dados de cache. Redis é uma boa opção para iniciantes, mas tem muitas opções. Um banco de dados em cache pode remover grande parte do tráfego em seu banco de dados principal, você faz a pesquisa primeiro no cache, se os dados existirem retorna, senão você pesquisa em seu banco de dados principal e salva no cache. Por um tempo, toda pesquisa retornará o que está no banco de dados de cache.
Use Cloudflare
O Cloudflare tem muitas utilidades, ela vai ser o seu primeiro mecanismo de segurança contra hackers e também serve para servir de cache de arquivos estáticos do seu site. Portanto, sempre que você colocar seu site online, use o Cloudflare.
Mesmo eu não sei tudo o que o Cloudflare pode fazer de tantas possibilidades e serviços.
Use Filas (Queues)
As filas (Queues) são indispensáveis em muitos momentos do aplicativo, basta pensar em uma festa, imagine todas as pessoas tentando entrar de uma vez. Isso é quase impossível. As filas resolvem isso. É o mesmo para aplicativos web, seja quando seu aplicativo recebe uma quantidade inesperada de usuários ou quando algo demora um tempo considerável, como gerar relatórios ou realizar pagamentos através de terceiros.
Esses foram os tópicos que escolhi para falar, são coisas que você pode usar independente da sua linguagem de programação. Você aprenderá muito mais coisas ao longo do tempo e com os problemas que surgirão, esta é apenas uma lista para você conhecer algumas coisas que existem e usá-las quando necessário. Espero ter te ensinado algo novo.
Obrigado!