Mi primer consejo es no limitarse exclusivamente a un solo rol. Es genial ser un especialista y tener un conocimiento profundo de un conjunto de habilidades en particular (PHP, por ejemplo). Sin embargo, es igual de importante tener un conocimiento amplio que abarque el resto de su dominio.
En mi experiencia, la mayoría de los equipos no buscan contratar a alguien que tenga el conocimiento para reescribir la funcionalidad central de PHP, sino a alguien que pueda manejar cualquier problema que se les presente (aunque tener ese nivel de conocimiento ciertamente no dañaría). O al menos alguien que pueda ayudar a resolver cualquier problema que encuentre el equipo. Por ejemplo, imagine una situación en la que su aplicación deja de funcionar y los clientes se ven afectados. Puede levantar las manos y decir "No tengo idea de qué hacer ..." o puede SSH en el servidor, comenzar a escanear registros, notar que el espacio en disco de un sistema de archivos en particular está lleno y proceder a limpiarlo. Este es un ejemplo menor, pero creo que el punto está claro. Con ese conocimiento básico, como desarrollador, podría escribir un script que supervise ese sistema de archivos en particular y lo limpie una vez que alcance un cierto umbral. Ahora se ha vuelto mucho más valioso para su gerente.
Otra cosa que aprendí durante mi carrera es que las cosas se mueven rápido, y si no sigues el ritmo te vas a quedar atrás. Cuanto más sepa sobre su entorno completo (incluidos los aspectos comerciales), mejor estará. Eso no quiere decir que necesite ser un experto en todo lo que hace, pero al menos tener el conocimiento para no ser etiquetado como despistado. Cuanto más familiar sea, más adaptable será y más valioso será un activo para su empresa.
Para responder específicamente a sus preguntas ...
- ¿Qué elementos del servidor debo saber como desarrollador?
Estar familiarizado con toda la pila de aplicaciones. Sepa qué servidor web, base de datos, mecanismos de almacenamiento en caché, etc. se están utilizando. Y qué versiones también. Tenga suficiente familiaridad para poder recrear el entorno en su propio servidor. Lo cual, en sí mismo, es de vital importancia. Debe esforzarse por tener más o menos los mismos entornos en desarrollo y producción, ya que reduce las sorpresas ( http://12factor.net/dev-prod-parity ).
- Como desarrollador, ¿qué tratos tienes con el servidor?
Esto realmente depende del equipo. En mi caso particular, los desarrolladores juegan un papel muy importante en la puesta en escena de los entornos. Estamos más familiarizados con el funcionamiento interno de la aplicación y, por lo tanto, estamos en la mejor posición para determinar qué tecnologías de servidor existen para ejecutarla. Me imagino que no todos los equipos tienen un enfoque tan práctico, pero tener suficiente familiaridad para poder involucrarse en las discusiones es una gran ventaja. Específicamente, en lo que respecta al control de versiones, usted como desarrollador está muy afectado por la tecnología elegida (Git, Subversion, Mercurial, etc.) y, por lo tanto, debe esforzarse por involucrarse en el proceso de decisión.
¿Y ahora que?
¿En cuanto a mi sugerencia sobre la mejor manera de abordar el aprendizaje de todo esto? Mueve tus pies . No se preocupe por tratar de leer todo lo que pueda sobre el tema, la mayoría probablemente se saldrá de su cerebro cuando termine. En cambio, comienza a desarrollar algo desde cero. Comience con Vagrant ; le permitirá crear y administrar fácilmente una máquina virtual que puede usar como su nuevo patio de recreo. Luego, instale un servidor web y una base de datos y comience a crear. Si tienes una idea para una aplicación, perfecta, anímate ... si no, encuentra un tutorial o intenta recrear una aplicación existente. El punto es simplemente familiarizarse con todo el proceso. Además, como desarrollador de PHP, asegúrese de consultar PHP: la forma correcta... realmente contiene mucha información excelente. Y lo más importante, no te estreses. Me imagino que seguiste el camino de un desarrollador porque es algo que disfrutas y te apasiona ... ¡no pierdas de vista eso!