Guías que debe seguir un 'PHP Senior'

Recorriendo el blog desde sus inicios puedo hacer el siguiente resumen de los artículos que sintetizan de alguna forma todo lo que nos falta a los desarrolladores PHP para poder empezar a considerarnos "Seniors".

Esto es lo que he aprendido con los años y he intentado compartir con ustedes, tratando de lograr consciencia de nuestras carencias y que no podemos quedarnos solo con aprender la sintaxis particular de un lenguaje. Tenemos que romper con el modelo clásico de "programador" ("dominio del lenguaje") y pasar a "desarrollador" ("dominio del sistema").

Los artículos fundamentales hasta la fecha
  1. Los desarrolladores debemos profesionalizarnos
  2. Buenas Prácticas de Desarrollo en PHP
  3. Code Smell - ¿A qué huele tu código?"
  4. Principios de Diseño Orientado a Objetos
  5. Programación Orientada a la Interface
  6. Herencia de clases y el "Principio de Liskov"
  7. Diseño en 3 capas
  8. Separar el código de la capa de presentación
  9. NO es necesaria la herencia múltiple
  10. NO es necesario crear un nuevo framework
  11. Capas de Abstracción
  12. Diferencias entre Lenguajes y Plataformas
  13. Estándares o muerte... para PHP
  14. Cómo traducir de UML a PHP5
  15. Los métodos "getter / setter"
  16. Standard PHP Library
  17. Patrones de Diseño
  18. Patrón Singleton en un entorno web con PHP
  19. Es fundamental contar con namespaces
  20. Migrar definitivamente a PHP5
  21. PHP Coding Standard (draft)
  22. Seven Steps to Better PHP code - part 1
  23. Seven Steps to Better PHP code - part 2

Si tuviera que resumir con un ejemplo qué me demostraría -casi sin dudar- que estoy ante un "Desarrollador PHP" que pasó al "siguiente nivel", sería ver usar correctamente las interfaces, implementando siempre una clase que ofrece un servicio y una interfaz para las clases que quieren usar el servicio, cumpliendo con el "Principio de Abierto / Cerrado", pasando de una programación "Orientada a la Implementación" a una "Orientada a la Interface".

PD: no vale si viene del mundo Java y entra esporádicamente al mundo PHP ;-). Esta forma de trabajo muy arraigada en arquitecturas debe ser nuestra misma forma de trabajo, "pensando en sistemas" y no en "páginas dinámicas con acceso a base de datos".

9 comentarios:

Unknown dijo...

Leí absolutamente todos los links de los artículos que publicaste.

Sinceramente, después de conocer tu blog se ha convertido en mi referencia para "convertirme" en un desarrollador php senior.

Por lo que lei estoy bastante bien encaminado pero siempre aprendiendo y abosorviendo nuevos conocimientos y tal vez nunca me considere desarrollador php senior, pero en todos los proyectos que hago aplico todas las mejores prácticas que conozco en la medida que puedo.

Estoy sumamente "contento" de que me hayan recomendado tu blog.

Un saludo,
Pablo Benitez

Enrique Place dijo...

Estimado Centerax / Pablo Benitez:

> Leí absolutamente todos los
> links de los artículos que
> publicaste.

¿De una o ya los venías leyendo de a poco? ;-)

¡Te ganaste una remera! (voy a tener que cortar estos chistes ya que la gente luego piensa que mi ego no entra en un estadio de futbol).

> Sinceramente, después de
> conocer tu blog se ha convertido
> en mi referencia para
> "convertirme" en un
> desarrollador php senior.

Yo me alimento de muchos otros, trato de compartir (lo poco o mucho que sé de determinados temas) para que otros compartan.

La retroalimentación nos sirve a todos, por eso es mejor que el "refrito" (copiar/citar) es, aunque sea una frase, aportemos alguno nuevo a la "cadena de valor" (por más mínima que sea la experiencia).

> Por lo que lei estoy
> bastante bien encaminado pero
> siempre aprendiendo y
> abosorviendo nuevos
> conocimientos y tal vez nunca me
> considere desarrollador php
> senior, pero en todos los
> proyectos que hago aplico todas
> las mejores prácticas que
> conozco en la medida que puedo.

Tampoco me considero un "senior consumado", el "camino" es de aprendizaje constante.

> Estoy sumamente "contento"
> de que me hayan recomendado tu
> blog.

Gracias, pero... cuando leeré el tuyo con tus aportes? :-)

Alfredo Alonso dijo...

Concuerdo con Pablo, yo también estoy muy contento de haber encontrado el blog, aunque en mi caso fue más por azar que otra cosa.

Yo no estoy tan encaminado, pero creo que ya encontré el camino ;)

Saludos,
Alfredo

Sergio Armando dijo...

La verdad que ya me habia tocado leerlos temas pero no esta de mas repasarlos de nuevo como siempre una exelente organizacion de los articulos Enrique Place y pues como todos comentan este es un blog que para nosotros los que nos gusta php no puede faltar Saludos que esten todos bien.

Sergio Armando S.

Jtux dijo...
Este comentario ha sido eliminado por el autor.
Francisco Rimoldi dijo...

Zend sacó una nueva versión:
1.6 RC, aunque todavia es inestable.

Puedo pedir un post acerca del funcionamiento de sus nuevos chiches :).

Por ejemplo: Zend_Soap

Graciass

Enrique Place dijo...

Estimado Alfredo Alonso:

> Yo no estoy tan encaminado,
> pero creo que ya encontré el
> camino ;)

Bueno, nunca es tarde... no hay excusa para empezar a cambiar ;-)

Enrique Place dijo...

Estimado Sergio12:

> La verdad que ya me habia
> tocado leerlos temas pero no
> esta de mas repasarlos de nuevo
> como siempre una exelente
> organizacion de los articulos
> Enrique Place y pues como todos
> comentan este es un blog que
> para nosotros los que nos gusta
> php no puede faltar Saludos que
> esten todos bien.

Bien, estén al tanto que voy a revisarlos y ver de continuar todo lo que quedó pendiente.

Espero también vuestros aportes ;-)

Enrique Place dijo...

Estimado Francisco Rimoldi:

> Zend sacó una nueva versión:
> 1.6 RC, aunque todavia es
> inestable.

Si, la vi, pero no me da el tiempo para probarla antes (ni siquiera creo estar usando más del 20% del framework!).

Ni bien esté estable, voy a trabajar con esa versión.

> Puedo pedir un post acerca
> del funcionamiento de sus nuevos
> chiches :).

Tengo que ir escribiendo en base a lo que voy viendo en el momento y compartirlo. Si veo que las nuevas características las necesito, no dudes que se incorporarán en los proyectos de SURFORCE y posteriormente se comentarán aquí.

> Por ejemplo: Zend_Soap

Yes, le tengo muchas ganas, creo que dentro de poco lo voy a tener que usar. Ni bien lo haga, lo comento en el blog ;-)

Entradas populares