A diferença entre paradigmas front e back-end
Conforme a minha experiência, programação front-end segue um paradigma totalmente diferente do que é esperado por aqueles que estão acostumados a programar no back-end. Além de mim, outros programadores partilham do mesmo desconforto ao votar no back-end como paradigma preferencial.

Fonte: O autor
Por qual motivo isso acontece? Muito simples, o código que executa no servidor é totalmente linear e previsível, existe um enredo (começo, meio e fim) e não há efeitos colaterais indesejados. A orientação a objeto mantém as instruções encapsuladas, não existe concorrência numa mesma linha de código e o resultado é facílimo de reproduzir.

Fonte: O autor
O front, por outro lado, não segue um enredo, o código tem um começo, mas não tem um fim, tudo é orientado a eventos e o programador não consegue antecipar o próximo passo da execução. Todas as coisas dependem da ação do usuário e devido à natureza do navegador muitas coisas podem ser executadas simultaneamente. Um único programa pode despachar diversos trabalhos assíncronos em segundo plano com efeitos colaterais imprevisíveis, canceláveis e irreproduzíveis.

Fonte: O autor
Ironicamente, a mesma equipe de programadores que declarou ter preferência pelo back também declara que possui proficiência com promessas em JavaScript.

Fonte: O autor
Então de onde vem essa preferência por back-end? Posso responder com base na minha própria experiência. O back-end é:
- Previsível
- Linear
- Fortemente tipado
- Simples
Essas são características que tornam o back-end mais cômodo de se trabalhar, você lê um trecho de código e sabe exatamente acontecendo, a tipagem forte das linguagens como o PHP e Java tornam a execução mais previsível, pois você consegue olhar para cada variável e função e saber exatamente o que está acontecendo na memória. Já a simplicidade diz respeito aos pontos de entrada na execução do back-end, uma rota de uma API, um trabalho assíncrono, tudo no back é bem definido, tudo possui um fim, nada pode te levar a um lugar desconhecido, pois o back não lida com interações do usuário diretamente, lida com clientes de front-ends.
Portanto, se alguém me perguntar por que não curto trabalhar com front-end, a resposta é esta: a programação front-end é um ecossistema onde cada ação do usuário pode disparar uma cascata de atualizações na interface. Gerenciar essa dinâmica imprevisível exige não apenas lidar com concorrência, mas também garantir que o estado da aplicação esteja sempre sincronizado com a tela, sendo difícil para desenvolvedores que pensam de maneira linear.