Meu primeiro conselho é não se limitar exclusivamente a qualquer função. É ótimo ser especialista e ter um conhecimento profundo de um conjunto de habilidades específico (PHP, por exemplo). No entanto, é igualmente importante ter um amplo conhecimento que se estende pelo resto do seu domínio.
Na minha experiência, a maioria das equipes não procura contratar alguém que possua o conhecimento necessário para reescrever a funcionalidade principal do PHP, mas alguém que possa lidar com qualquer problema que lhes seja causado (apesar de ter esse nível de conhecimento certamente não prejudicaria). Ou pelo menos alguém que possa ajudar a resolver quaisquer problemas que a equipe encontre. Por exemplo, imagine uma situação em que seu aplicativo seja desativado e os clientes estejam sendo afetados. Você pode levantar as mãos e dizer "Não tenho idéia do que fazer ..." ou pode fazer o SSH no servidor, iniciar a verificação de logs, observe que o espaço em disco de um sistema de arquivos específico está cheio e prossiga para limpá-lo. Este é um exemplo menor, mas acho que o ponto é claro. Com esse conhecimento básico, como desenvolvedor, você pode escrever um script que monitore esse sistema de arquivos específico e o limpe assim que atingir um determinado limite. Agora você se tornou muito mais valioso para o seu gerente.
Outra coisa que aprendi durante a minha carreira é que as coisas acontecem rapidamente e, se você não acompanhar, será deixado para trás. Quanto mais você souber sobre todo o seu ambiente (incluindo os aspectos comerciais), melhor estará. Isso não quer dizer que você precise ser especialista em tudo o que faz, mas pelo menos tenha o conhecimento para não ser rotulado como sem noção. Quanto mais familiar você estiver, mais adaptável será e mais valioso será um ativo para sua empresa.
Para responder especificamente às suas perguntas ...
- Quais elementos do servidor devo conhecer como desenvolvedor?
Familiarize-se com toda a pilha de aplicativos. Saiba qual servidor web, banco de dados, mecanismos de cache etc. estão sendo usados. E quais versões também. Tenha familiaridade suficiente para recriar o ambiente em seu próprio servidor. O que, por si só, é de vital importância. Você deve se esforçar para ter mais ou menos os mesmos ambientes de desenvolvimento e produção, pois isso reduz surpresas ( http://12factor.net/dev-prod-parity ).
- Como desenvolvedor, que transações você tem com o servidor?
Isso realmente depende da equipe. No meu caso particular, os desenvolvedores desempenham um papel enorme na organização dos ambientes. Estamos mais familiarizados com o funcionamento interno do aplicativo e, portanto, estamos na melhor posição para determinar quais tecnologias de servidor existem para executá-lo. Imagino que nem todas as equipes tenham essa abordagem prática, mas ter familiaridade suficiente para poder se envolver nas discussões é uma grande vantagem. Especificamente, no que diz respeito ao controle de versão, você como desenvolvedor é altamente afetado pela tecnologia escolhida (Git, Subversion, Mercurial etc.) e, portanto, deve se esforçar para se envolver no processo de decisão.
Então e agora?
Quanto à minha sugestão sobre a melhor forma de abordar a aprendizagem de tudo isso? Mova seus pés . Não se preocupe em tentar ler tudo o que puder sobre o assunto, a maioria provavelmente vazará do seu cérebro quando você terminar. Em vez disso, comece a desenvolver algo do zero. Comece com o Vagrant ; permitirá criar e gerenciar facilmente uma máquina virtual que você pode usar como seu novo playground. Em seguida, instale um servidor web e um banco de dados e comece a criar. Se você tem uma idéia para um aplicativo, perfeito, vá em frente ... se não, encontre um tutorial ou tente recriar um aplicativo existente. O ponto é apenas para se familiarizar com todo o processo. Além disso, como desenvolvedor PHP, não deixe de conferir o PHP: The Right Way... realmente contém muitas informações excelentes. E o mais importante, não se estresse. Eu imagino que você seguiu o caminho de um desenvolvedor, porque é algo que você gosta e é apaixonado ... não perca de vista!