Una extensa reflexión sobre la realidad actual de un desarrollador PHP. Se trata de la cita de un artículo muy interesante que habla de lo que debe enfrentar un verdadero desarrollador en Sitios WEB con tecnología PHP.
Lo transcribo integramente.
Esta reflexión se la escribo a todos los “Programadores PHP”:
Al día de hoy la mayoría de los institutos o universidades de muchos países siguen enseñando PHP4, o mejor dicho, programación “scripting” básica. Se mueven en el viejo concepto de la “programación estructurada”, trabajando constantemente sobre código que mezcla html y sintaxis PHP, todo como si de una ensalada estuviéramos hablando.
Casi paralelamente, los jóvenes autodidactas siguen por el mismo camino, tal vez ayudados por la gran cantidad de material repetido y obsoleto que se encuentra tanto en la web como en las editoriales de turno, donde a pesar que un libro haya sido impreso recientemente, los autores siguen siendo los mismos y escribiendo -una y otra vez- sobre los mismos temas elementales.
Enfrentar la realidad con madurez
Solo nos damos cuenta que estamos en un grave problema cuando nos enfrentamos a la realidad: salimos al mercado laboral y con inocente sorpresa vemos que se habla mayoritariamente de Java o .Net, de UML, desarrollos en 3 capas, lógica de negocios, persistencia, polimorfismo, frameworks, patrones de diseño, refactoring… y tú solo tienes una vaga idea de algunos conceptos, pero nulo conocimiento de si es realmente posible hacerlo con PHP…
¿No crees que algo está pasando y que tú estás quedando fuera de la conversación?
Este es el gran problema de la mayoría de los “Programadores PHP”: se quedan en el “lenguaje”, en la programación lisa y llana, rechazando todo lo que sea objetos hasta que no les queda otra salida que aprender a usarlos mínimamente… pues todas las nuevas herramientas solo hablan “ese” idioma.
¿Hasta donde piensas que podemos llegar con tan poca preparación?
Mi experiencia personal
De lo que trato de hablar en este blog es de “profesionalizarnos”, de copiar y mejorar, de aprender y evolucionar. La mayoría de los temas que expongo no son nuevos, trato de basarme en autores reconocidos y darle más prioridad a los conceptos que al lenguaje, y por sobre todas las cosas: ser simple y directo (pragmático antes que dogmático, pero sin olvidarme de lo último). Hay muchas cosas que desconozco de PHP y otras que directamente no uso, y nunca me baso en la memoria, siempre voy a buscar hasta lo más elemental al manual (doy prioridad al razonamiento por sobre la retención de conocimientos en mi memoria). Siguiendo esta metodología, mañana podrías cambiar de lenguaje y seguir trabajando sin problemas, pues los conceptos base los tendrías claros y estos se aplican sin importar la plataforma que estés usando.
Muchas veces comento que los temas sobre los que escribo son elementales para muchos desarrolladores Java de nivel medio y alto, pero en el ambiente PHP esto cambia (todavía no hemos madurado hacia el concepto de “arquitectura”) donde “en el mundo de los ciegos puedo ser rey”. Debemos cambiar la mentalidad ahora que existe PHP5 y que su nueva sintaxis nos permite hacer muchas cosas que son habituales en el mundo Java.
Por lo tanto, tenemos todas las herramientas para “evolucionar” y no quedarnos en las excusas.
Programador versus Desarrollador
Desarrollar Orientado a Objetos va más allá que crear objetos aislados que solo contienen datos, programar usando algunos objetos es distinto a desarrollar 100% Orientado a Objetos, ser programador es distinto a ser un desarrollador, un sitio web no es lo mismo que un sistema web. Existen, además de los objetos, “Principios de Diseño (OO)”, “Patrones de Diseño (OO)”, el lenguaje de diseño UML, frameworks, etc, y todo es perfectamente aplicable usando PHP.
Es más, muchos de estos conceptos e ideas son independientes al lenguaje si este cumple mínimamente con las características de la OO, cosa que sucede a partir de PHP5 en adelante y que PHP4 casi carece por completo.
Finalmente, es mi visión que un programador resuelve problemas aislados usando un lenguaje, pero un desarrollador diseña e implementa una solución global, une los componentes en un único sistema integrado y es lo suficientemente inteligente y estratega para poder reutilizar la experiencia y conocimientos adquiridos en favor de los próximos desarrollos.
Los sistemas que van quedando atrás nunca serán un lastre porque podrán ser mantenidos con el mínimo costo posible, permitiendo que el desarrollador pueda afrontar nuevos y enriquecedores desafíos.
Todos estos detalles los percibimos claramente cuando nuestros desarrollos dejan de ser un “programa menor” y necesitamos crecer, pero vemos que con los conocimientos que contamos hasta el momento todo se nos hace cuesta arriba.
La culpa es enteramente nuestra
No podemos quejarnos que a los programadores Java se les paga el doble que a nosotros y que a la mayoría de los proyectos PHP se los desvalorice, se los trate como “algo menor”, “poco serio”, todo porque es un “simple lenguaje web” limitado en sus posibilidades.
El “Simple Lenguaje” lo hacemos todos, al ser “Simples Programadores PHP” y nuestras son las limitaciones fundamentales. Perfectamente podemos tratar de trabajar “más en serio” como lo hacen los “desarrolladores Java”, y tratando con creatividad de suplir las carencias momentáneas (como el muy sonado caso de la falta de “namespaces”).
PHP se está orientando a convertir en una “arquitectura”, a parecerse a un J2EE pero mucho más simple y directo.
El proceso hace tiempo que inició.
Debemos pasar de los dichos a los hechos
De la misma forma, creo que nos hace falta tener más “sentimiento de comunidad”, como sucede habitualmente -hasta de forma exagerada- en el mundo GNU/Linux. No es posible que nos sigamos quejando que los proveedores de hosting siguen usando PHP4. Deberíamos hacer campañas para promover la migración a las nuevas versiones de PHP, pero fundamentalmente, incorporar en nuestros desarrollos las características avanzadas del lenguaje, e invitar a usarlo como si fuera una arquitectura, actualizar a nuestro equipo de desarrolladores, visitar empresas, universidades, etc.
¿Tú, qué vas a hacer? ¿Te vas a quedar donde estás o te vas a subir al tren?
¿Eres parte del problema o parte de la solución?
Tenemos que especializarnos y profesionalizarnos, el mundo pide POO, arquitecturas, capas, etc, y habla en “UML”… tú, en que idioma hablas? 
Tomado de: http://phpsenior.blogspot.com/2006/11/los-desarrolladores-php-debemos.html
Septiembre 14, 2007 a las 8:14 pm
Interesante el articulo.
Como para pensarlo detenidamente.
Empezaré a hablar el lenguaje UML
Septiembre 21, 2007 a las 4:17 pm
Yo tambien je je
Me ha herido el orgullo. ja ja ja
Enero 15, 2008 a las 11:57 pm
pienso que es un articulo muy interesante y va convenir darle una estudiadita.
se los recomiendo creo que esta interesante.
saludos “”"”"
Abril 13, 2008 a las 5:40 am
Hola soy de Montevideo, Uruguay y la verdad es que estoy comenzando a introducirme en php. Venía trabajando con Visual Basic 6. Y la verdad es que este cambio a php me está haciendo agarrar un buen dolor de cabeza. Me refiero al entorno de desarrollo. Si conocen visual sabrán la diferencia que hay en cuanto a depuración de código y demás. He logrado con algun editor que he bajado depuerar algún fuente en php pero la verdad es que un proyecto un poco más grande, con clases, herencia entre ellas y javascripts incluídos no he podido. Quería saber si me pueden dar información acerca de si es posible esto que pretendo, de depurar un código medianamente complejo en php y cuál sería la o las herramientas. Desde ya muy agradecido por la información. Saludos, Fabián.
Abril 14, 2008 a las 2:32 am
Hola Fabian, yo creo que lo que necesitas es el Zend Studio, una herramienta para PHP y permite hacer DEBUG al codigo fuente. mediante plugins creo que se puede debuguear el cosigo JS.
Saludos
Abril 17, 2008 a las 1:07 am
Zend Studio… Lo voy a buscar. Muchas gracias por la info VaRg@s, saludos !!!