Me gusta el desarrollo de back-end, ¿qué habilidades debo obtener con PHP?

Un rey de preguntas genéricas, muchas respuestas serán muy generales, pero hay algunos elementos específicos que puedo mencionar. Trabajar con PHP inexorablemente significa trabajar con un marco, y hay muchos de ellos. Muchos me recomendaron Laravel en el pasado, pero harías bien en mirar a tu alrededor. PHP sufre el mismo problema que Javascript, todos reinventan constantemente los marcos.

Aprenda bases de datos y entornos de servidor. Sugeriría abrir una cuenta en el alojamiento en la nube (por ejemplo, DigitalOcean o UpCloud) y familiarizarse con los conceptos básicos para ejecutar un servidor. No necesita convertirse en administrador del servidor, pero es muy importante comprender cómo funcionan los servidores, cómo configurar un servidor web como Nginx o Apache, y cómo PHP se ajusta a la ecuación. UpCloud, IIRC, también ofrece servidores Windows, si eso es lo que prefieres, aunque te animo a que también te familiarices con la variante de Linux, solo porque la mayor parte de Internet funciona con ella.

Para las bases de datos, las bases de datos SQL (por ejemplo, MySQL) son las primeras opciones obvias, pero nuevamente, mire a su alrededor. PHP admite muchas más bases de datos de las que la mayoría cree y es importante conocer más de una variante de SQL, especialmente entender la diferencia entre diferentes tipos de bases de datos, como bases de datos estructuradas, pares clave / valor y bases de datos no sql. Por ejemplo, trabajo mucho con Aerospike en este momento, pero muchos desarrolladores con los que hablo nunca han oído hablar de él, a pesar de lo bueno que es.

Así que de nuevo, recuerde mirar a su alrededor y estar atento. La capacidad de usar tecnologías nuevas y mejoradas, a medida que se crean, será invaluable para usted como desarrollador.

En el mismo espíritu que los servidores, obtenga al menos una comprensión rudimentaria del desarrollo front-end. Es posible que lo llamen para trabajar con plantillas, o incluso para crear una página web de vez en cuando.

También asegúrese de disfrutar y estar familiarizado con su entorno de trabajo, ya sea un IDE o un editor como Sublime, o incluso Vim. Tómese el tiempo para configurar las cosas de manera óptima y para sus gustos personales. Trabajará mejor y más rápido después de hacerlo.

Todavía hay muchas cosas que se pueden decir, pero eso es lo esencial en lo que puedo pensar, excepto para alentarlo a trabajar de la mejor manera. No hay nada malo en tomar consejos, pero te encontrarás con muchas personas a las que no les gustará lo que haces, que pensarán que saben mejor y que debes hacer las cosas a su manera. Esto es cualquier cosa, desde usar nodo o ruby, en lugar de PHP, o usar otro marco, otra base de datos, nginx en lugar de apache, o lo que sea.

Los programadores son un grupo muy prejuicioso, me temo, así que prepárate y recuerda que lo que funciona para A no necesariamente funciona para B. Toma decisiones informadas y no tendrás que adivinar por ti mismo.

SQL, ya que las bases de datos y su interacción con el servidor es uno de los componentes principales del desarrollo de back-end. Cuando solicita un trabajo, muchas empresas pondrán a prueba sus conocimientos al mismo tiempo, con una prueba como esta prueba en línea de PHP y SQL, por ejemplo.
Laravel es el framework PHP más utilizado, por lo que te sugiero que aprendas a usarlo también.
Puede ser bueno saber WordPress, ya que puede usar PHP para personalizar o crear nuevos temas. Esto no es estrictamente back-end, pero sigue siendo un conocimiento útil.

Frameworks, optimización de MySQL y una sólida comprensión de OO. También el almacenamiento en caché como memcache o APC.

Las habilidades de administración de servidores y consolas Linux / unix también son cosas que debe buscar.

Para aclarar que soy un estudiante de segundo año de ciencias de la computación, y creo que continuaré mi carrera en el desarrollo web de back-end, ¿hay alguna habilidad o conocimiento en particular que deba obtener antes de buscar empleo después de graduarme?

Ninguna. Es bueno saber un poco de eso, pero podría concentrarse mejor en Java / Spring o JavaScript / node. Quizás Python / Django.