Você não é um programador php{java/python/ruby}

Algo que sempre me incomodou foi as vagas de programadores intituladas "front-end" e "back-end". Apesar de ser necessário dividir as tarefas no dia a dia(até pela necessidade de um conhecimento mais aprofundado para certos problemas), esse tipo de vaga fez com que o mercado fosse imundado por desenvolvedores que não conhecem a web. E com isso crie aplicativos vulneráveis, lentos ou terrivelmente dificeis de se dar manutenção.

Já vi muita gente que tem a API do java na cabeça, mas não consegue entender o que realmente é o acrônimo ajax. Por que? Simplesmente não entendem a web.

Não importa se você faz "sistemas" de intranet em java para a empresa x ou y, se você tem que dar um "print" em uma tag html você deve entender ao menos o que é o html e o porque desse bichinho funcionar. Deveria entender que o POST serve para enviar informações ao server e o GET para buscar algum recurso do nosso amiguinho apache(ou qualquer outro server que você use).

Quem programa algo que roda num navegador, não é um programador da linguagem x ou é o "carinha" do back/front-end, é um programador web e é sua obrigação saber ao menos o básico do que acontece por baixo dos panos. Você deveria saber o que são os protocolos TCP e UDP, saber como funciona o IP e o que diabos é http. Não precisa ser especialista em tudo, mas a menos não ficar perdido em uma conversa.

Sabendo desses tópicos, você perceberá quando é necessário utilizar por exemplo o https e quando é besteria. Ou até mesmo maneiras de otimizar a sua "especialidade"(back-end ou front-end).

Apesar de algumas empresas se denominarem fábricas de software(eca), você não é o Charlie Chaplin em Tempos Modernos cuja única função é apertar um parafuso. Sua missão é otimizar,automatizar(ou whatever que sua empresa faça) um software que fará com que quem te contratou ganhe muitos, provavelmente milhares, de doláres.

Sendo essa sua missão, você provavelmente fará ela melhor se souber tudo o que aconteceu até a peça chegar em suas mãos e você ter que apertar o parafuso! Dessa forma prevendo possíveis problemas que só ocorrerão quando usuários de verdade acessarem sua aplicação em produção.

Conhecimento é poder ;).