Ninja Team

Cuando desde Keep It Simple Lab nos llega un correo porque alguien quiere que le ayudemos con temas de SEO y WPO cada vez se esta haciendo más frecuente la pregunta de qué software se está utilizando y dónde (en casa o externalizado) está el equipo de desarrollo. Y depende mucho de esta respuesta que queramos trabajar con esa persona o empresa. ¿Por qué? La respuesta es muy sencilla: no queremos trabajar con gente inútil. Y no me entendáis mal, no quiero decir que la gente sea tonta o similar, sino que no es útil. Tanto en temas de SEO y aún más en temas de WPO es muy importante hacer las cosas exactamente como se piden. Por eso somos buenos, porque sabemos con exactitud lo que hay que hacer, pero sobretodo si se puede o no hacer. Y aquí es donde entran los “problemas”.

Pero antes de seguir me gustaría introducir varios conceptos:

  • Ninja: Los ninjas eran un grupo militar de mercenarios entrenados especialmente en formas no ortodoxas de hacer la guerra, en las que se incluía el asesinato, espionaje, sabotaje, reconocimiento y guerra de guerrillas, con el afán de desestabilizar al ejército enemigo, obtener información vital de la posición de sus tropas o lograr una ventaja importante que pudiera ser decisiva en el campo de batalla.
  • Código Spaghetti: El código spaghetti es un término peyorativo para los programas de computación que tienen una estructura de control de flujo compleja e incomprensible. Su nombre deriva del hecho que este tipo de código parece asemejarse a un plato de espaguetis, es decir, un montón de hilos intrincados y anudados.
  • Framework: Un framework para aplicaciones web es un framework diseñado para apoyar el desarrollo de sitios web dinámicos, aplicaciones web y servicios web. Este tipo de frameworks intenta aliviar el exceso de carga asociado con actividades comunes usadas en desarrollos web.

Ahora que ya sabemos lo que es un ninja, un framework y el spaghetti-code podéis haceros una idea de por dónde quiero ir. Y es que estoy muy cansado de los frameworks. Son una putas cajas negras que las cosas más sencillas de hacer en spaghetti se vuelven muy complejas. Como digo esto lo explico desde la propia experiencia, porque dos de los últimos proyectos que nos hemos encontrado hechos en Symfony o se han ido al retrete o se tienen que rehacer, y ya no os cuento cosas hechas en CodeIgniter. También he sufrido mierdas hechas con Zend que han acabado en la Papelera de Reciclaje.

Y que conste que no estoy en contra de los frameworks, estoy en contra de los programadores que no saben qué hace un framework ni cómo solventar problemas que generan. Y aunque no estoy en contra de ellos, sí que estoy en contra de los que usan uno y no saben bien bien qué configuración genera por defecto. Por ejemplo, hace unos días nos encontramos un marrón con Symfony en el que devolvía unas cabeceras HTTP/1.0 (tecnología de Internet que hace más de 10 años tiene una versión 1.1) y por otro lado unas configuraciones multiidiomas que sí, que están estandarizadas en el RFC2616 pero que cuando la “gente” te pide SEO es para tirar a la basura el proyecto porque vuelves loco a los buscadores.

Y esto me lleva al tema de la eficiencia. Está bien hacer las cosas, pero es mejor hacer las cosas perfectas. Y si a eso le sumamos la simplicidad, tenemos lo que hacemos en Kisslab. De ahí tener un equipo ninja, equipo en el que, a la hora de desarrollar, me incluyo. Y es que hay que ser resolutivos. Frente a una situación desagradable hay que poner un poco de cabeza, buscar la manera más simple de solventarla y solventarla, y, por experiencia, lo mejor en un sitio web es el spaghetti-ninja, un monstruo que llega y arraza por donde paza.

Sé que lo que voy a decir puede sonar muy nazi, pero a los programadores, por norma general, no hay que dejarlos pensar, hay que dejarlos programar. Para pensar ya hay otras cabezas que son las que en determinados proyectos tienen un medio-largo plazo y a veces piden a los programadores cosas con cierta visión. Esto no significa que un programador sólo tenga que picar teclas, porque hay otros proyectos donde se puede hacer pajas mentales y que salga lo que salga… eso sí, luego suelen llegar llorando porque el SEO y WPO no acaban de irles bien. Suelen usar tecnologías que sólo usan ellos (y que por supuesto no saben escalar cuando eso se va de madre), las últimas versiones de sus lenguajes de programación favoritos (y porque son conscientes de que las versiones alpha pueden fallar, que sino te las cuelan) y lo mismo con usar bases de datos no-relacionales. Es todo muy bonito en su cabeza, pero en la realidad de Internet eso no funciona.

Y en este sentido puedo decir que tengo un equipo que no me lo merezco. Seguramente Jaume puede opinar mucho más que ha tenido entre manos a decenas de personas de estos ámbitos y en vista a los proyectos (propios) que tenemos he de decir que a veces me dan ganas de mandar de vacaciones a parte del equipo porque cuando tienen claro lo que hay que hacer, lo hacen rápido y bien, y eso no tiene precio.

Bueno, ahora ya podéis venir a abroncarme, aunque no vais a conseguir hacer cambiarme de opinión.

27 comentarios en “Ninja Team”

  1. Que conste que yo también soy programador, y te entiendo con lo de generalizar. Por supuesto no todos los que usan frameworks son malos programadores, y hay gente que programa en el “bloc de notas” que es pésima…

    Con respecto a lo de que los buenos programadores saben usar cualquier herramienta, no estoy de acuerdo al 100%, lo que sí que diferencia a un buen de un mal programador es que cuando se le pide algo que se puede hacer, porque sino yo no lo pediría, es que lo hace o no, independientemente de que use o no framework… :)

  2. Totalmente de acuerdo contigo en todo el post hasta que comienzas a hablar de los programadores, y es que generalizar como siempre es muy malo y por defecto injusto (en este punto no hay duda que soy programador :-)), pero aún así te entiendo, y es que en el mundo de Internet hay mucho chapuza suelto que se hace llamar programador, de ahí que comprendo tu postura de dejarnos programar, pero en defensa de los otros, los buenos, tengo que decir que un programador, aquel que quiera llamarse así, debe saber escalar, reutilizar y optimizar su código de tal forma que sea usable, actualizable y legible en cualquier circunstancia, he ahí el mérito de un buen programador.

    Muchas gracias por el post.

  3. Me preocupa bastante leer posts de este tipo, más que nada por quien lo pueda leer y no sea programador.

    Symfony2 es de largo el mejor framework de PHP que existe y no se me ocurre ningún caso donde no funcione bien, desde la página presencial más pequeña hasta proyectos como Youporn que manejan volúmenes de tráfico con los que la mayoría solamente podemos soñar.

    Hablas de problemas con HTTP 1.0 vs 1.1. Me gustaría que explicaras algo más del problema con los headers porque desde luego no es problema de los frameworks sino del mal uso de los mismos. Si algo hace bien Symfony2 es respetar los standares RFC2616 a la perfección y las clases de HTTPFoundation te permiten hacer lo que quieras con los headers.

    Finalmente, en pleno 2012, defender el spaghetti code respecto a un framework es cuanto menos preocupante. He estado en varios de los proyectos grandes del país y cuando se ha usado un framework propio todo han sido problemas, especialmente en escalabilidad tanto en términos de funcionalidades como en el propio sistema. Con Zend o Symfony2 todo ha ido bien.

    Está claro que hay gente que va de architect y no tiene ni idea, pero también es cierto que muchas veces se va a lo barato y como en todo, lo barato sale caro. Y poner en el mismo saco Symfony o CodeIgniter… por favor, bromas no.

    Sobre lo de que un programador no debe pensar, mejor no opinaré, creo que el post habla por sí solo y sinceramente, creo que estás completamente equivocado.

  4. Solamente aclarar, que Symfony2 no es para nada caja negra, todo es cuando menos configurable, y cada uno de los componentes, “reemplazable”.

    Y para los que quieran usar HTTP 1.1, basta con hacer esto en el front-controller antes de enviar el response


    $response->setProtocolVersion('1.1');
    $response->send();

    Aunque creo que deben haber ciertas razones para que sea 1.0 por defecto, habría que preguntar a una comunidad de cientos de programadores alrededor del mundo por qué lo han decidido así.

    Sobre el resto del post, creo que no son más que puntos de vista, totalmente respetables, de los cuales cada cual puede sacar sus propias conclusiones ;)

  5. Normalmente este tipo de opiniones son las que hace que no evolucionemos. Y, para mí, es un claro síntoma de no haver sufrido un proyecto con 70+ desarrolladores tocando el mismo código, sin ningún framework detrás, sin ningún coding standard, sin ningún tipo de convención y sin un largo etcétera.

    Por supuesto, estoy de acuerdo, con el comentario de Ricard. Y para mi solo dos puntos a mencionar. En primer lugar hay que conocer la herramienta con la que trabajamos (conditio sine qua non para luego poder opinar con propiedad, y no vale solo con leerse el manual y decir que ya se domina el framework). Y en segundo lugar, hay que ir un poco más allá del “código” del framework. Hay que ver un poco cuáles son los valores que promueve y qué hay detrás, cómo por ejemplo: DRTW, DRY, SOLID, KISS (por raro que parezca KISS va mucho más allá del código) y un largo etcétera. Y son los mismos que luego la gente no tiene en cuenta cuando empieza a tocar el framework.

    Y ya por último, felicitarte. Pues hay que tenerlos bien puestos para decir que “no hay que dejar pensar” a programadores (yo prefiero llamarlos ingenieros, que al fin y al cabo es lo que son). O para decir lo de las últimas versiones o lo de las bases de datos no-relaciones. Creo que se pueden encontrar varios ejemplos de casos de uso (estos dos chicos de socialpoint, seguro lo saben bien), claro eso sí, hay que mirar en la Internet moderna, no en la de hace 10 años. Bravo! Con este artículo he tenido un flashback de 10 años atrás! Felicidades!

  6. A ver, antes de nada quiero dejar claro que, como siempre, hay que situar los comentarios y lo que publico e una realidad: la mía. Por supuesto no estoy diciendo que no haya que usar frameworks, todo lo contrario, creo que, sobretodo cuando hay mucha gente trabajando, es la solución, pero también quiero dejar claro que muchas veces se utilizan frameworks cuando no es necesario y cuando las prioridades son otras.

    En este caso mi entrada no iba tanto por el tema de usar determinado sistema de desarrollo, sino por el hecho de tener que solventar problemas muy concretos. En Keep It Simple Lab nos focalizamos a todo lo que hace referencia a SEO y WPO, y algunas “puñetitas” para conseguir algunos detalles MUY concretos se hacen difíciles de evolucionar cuando hablamos de algunos frameworks, y vuelvo a repetir, esto no significa que no se pueda hacer, sino que muchos desarrollos se comienzan a hacer con un framework porque “parece que es muy sencillo lanzar así” y luego, cuando eso se hace un poco grande y tiene determinadas necesidades, el framework pasa de ser una comodidad a ser un inconveniente. Vuelvo a repetir, para cosas muy concretas (que son ara las que nos contratan).

    Por supuesto con código “espagueti” no pienso en la programación BASIC de “GOTO 10”; más bien hago referencia a que haciendo un código “puro” en “bloc de notas” nunca hay problemas en cuanto a hacer cualquier cosa, sin tener que pensar en cómo funciona un framework, sino dedicándose directamente a programar.

    Con respecto al tema de los programadores… bueno, para mi son programadores, no ingenieros. Está claro que tiene que haber alguien que “simplemente pique teclas” y otra gente que “piense la forma óptima de hacer un algoritmo”.

    En el mundo de Internet hay muchas realidades, y yo pongo aquí delante la realidad que me encuentro. De esta misma forma podría decir que no entiendo cómo la web del “senado” que ha costado medio millón de euros no se puede hacer con un simple WordPress… son opiniones para casos muy concretos, para clientes muy concretos, y no generales. Creo que lo dejo bastante claro en el artículo.

  7. Sinceramente, diría que he leído pocos posts tan desafortunados como este, porque difiero completamente en lo que dices y mucho mas en como lo dices. Haces un alegato del ninja-spaguetti en contra de los frameworks, cuando cualquier developer con experiencia sabe que son cosas que no se pueden comparar o que si se comparan sea desde la mas absoluta ignorancia, sería como comparar un ORM hecho por ninjas al ORM de Doctrine, como comprenderás el equipo de ingenieros de Doctrine ha trabajado duro y durante mucho tiempo para conseguir un buen producto, algo que no van a poder superar tus “ninjas” con un tiempo de desarrollo infinítamente menor, por tanto, es poco inteligente no usar Doctrine… otra cosa es que haya que sacar el tiempo para conocer la forma de sacarle el 100% Doctrine, pero muy distinto es decir que es peor que “tu” versión.
    Y quien dice Doctrine dice cualquiera de los componentes del framework Symfony, todos los componentes te guste o no son para quitarse el sombrero, con una relación funcionalidad/tiempo imposible de conseguir haciéndolo “a mano”… pero para ello hay que aprender como sacarle rendimiento a Symfony!!!
    En cuanto a las formas, creo que te has retratado en este post , y es que los que somos developers en mas de una entrevista de trabajo cuando te dicen eso de “tenemos framework propio” nos echamos a temblar , al imaginar los desastres que esconde ese código, código amortizado en el que no interesa volver a invertir tiempo pero con limitaciones por todos lados, por no hablar de bugs y agujeros de seguridad…. como para salir corriendo.
    Por último, le pones la guinda al pastel diciendo lo de “a los desarrolladores no hay que dejarlos pensar” y dices además “que tienes un equipo que no te lo mereces”… en el momento actual con la cantidad de ofertas de trabajo para developers creo que es muy arriesgado que te expreses así, jamás iría a trabajar a un sitio donde no me dejaran “pensar”.
    Sabrás mucho de SEO, pero no le has hecho un favor precisamente al buen nombre de tu empresa con este post, se llama KeepItSimpleLab?

  8. Sinceramente, creo que el comentario no empieza bien. No creo que sea única y exclusivamente tu realidad. Estamos hablando de Internet, no? Esas “puñetitas” de las que hablas, alguien antes seguro ya se ha encontrado con ellas. Lo que esto me huele, es a un problema de desconocimiento de las herramientas que usáis.

    En cuánto a lo de “un código puro en bloc de notas nunca hay problemas en cuanto a hacer cualquier cosa, sin tener que pensar en cómo funciona un framework, sino dedicándose directamente a programar”, me parece sinceramente una falacia en toda regla. Todo ingeniero necesita conocer mínimo mínimo el lenguaje con el que desarrolla, si se dedica a hacer web mínimo se tiene que conocer la especificación HTTP y obviamente si tiene nociones de TCP/IP y se conoce el modelo OSI mucho mucho mejor. Siempre hay alguna capa que no vas a poder salvar. Pero los frameworks están en ese nivel y se dedican a lidiar con todo esto. Claro esta, la premisa es que hay que conocerlos y hay que conocerlos bien (de aquí que los “programadores” sean en realidad ingenieros).

    Lo de que haya un “programador” picateclas (es curioso me parece haber leído que no tienen porqué ser picateclas, en el cuerpo de la entrada) y alguien pensando en un algorítmo óptimo, me suena a un antipatrón llamado “Mushroom Management” — por Ward Cunningham — que describe un problema importante de confianza.

  9. Pues yo estoy al 99% de acuerdo con lo que dice Javier. Creo que se le está entendiendo mal. Los frameworks no son buenos ni malos. Te ayudan en muchas cosas.

    Lo que creo que molesta a Javier es que se use el framework como excusa para no poder cumplir los consejos que el está dando, ya sea por el propio diseño del framework, bien por la inadaptación de los programadores actuales o pasados a ese framework.

    Yo tengo una idea personal respecto a los frameworks, que probablemente será aún más controvertida. Para proyectos grandes, un framework se hace indispensable, bien sea un framework estandar o uno desarrollado por uno mismo, que también son posibles.
    Sin embargo, hay arquitectos de software que son incapaces de diseñar la página más sencilla sin el uso de un framework, llegando incluso a negar la profesionalidad de aquellos que optan por la opción “custom”. En mi opinión, el buen arquitecto de software ya concibe las soluciones a los problemas de una manera estandar, aplicando soluciones estandars. En 3 de cada 4 casos que me he encontrado ante un talibán de los frameworks, se trataba de programadores inseguros que no saben plantear la estructura básica por si mismos. Y de ahí su fuerte dependencia hacia los frameworks. “Esto se hace así, porque lo dice mi biblia”, y de esa manera evito plantear soluciones imaginativas.

    Ya de paso, Javier, ¿que decir de los CMS con código encriptado que no te permiten más que modificar plantillas? Je, je.

  10. La verdad es que me he reído bastante leyendo el artículo. Debes ser un SEO y/o un WPO excelente, y que utilizarás las mejores herramientas para hacer tu trabajo, las cuales no conozco y no puedo ni debo entrar a valorarlas, algo que sí que has hecho tú, criticando desde el total desconocimiento una herramienta creada por varios de los mejores programadores PHP del mundo, testeada por cientos de voluntarios y utilizada en miles de sitios, desde los más sencillos a webs con un tráfico brutal.

    Evidentemente, utilizar un framework tiene sus ventajas e inconvenientes, pero alguien que defienda el código spagetti o realizar su propio framework para aplicaciones serias merece mi total rechazo, ya que lo que estás dando a entender es que no valoras la seguridad de tu aplicación (¿te acordarás de escapar siempre para evitar ataques XSS o utilizar tokens en todos tus formularios para no sufrir un ataque CSRF?), ni la eficiencia de tu equipo, ni los estándares y un largo etcétera.

    Si no dominas el framework cualquier pequeño cambio te puede amargar el día, pero la solución no es criticar el framework, es dominarlo.

    Y para terminar, es curioso lo que comentas de los programadores. Como comenta Christian, para mí los buenos programadores son ingenieros, depende de tí el tener en tu equipo ingenieros o picateclas, y asumir las consecuencias, como tirar dos proyectos a la basura. Yo tengo muy claro a quien querría en mi equipo.

    Saludos

  11. Joder Javier, bien, dado que considero que es un post muy ofensivo para cualquier programador, más si resulta que también es ingeniero, y que este tipo de opiniones son muy dañinas para nuestra profesión, aquí va otro comentario algo ofensivo como respuesta.

    Por supuesto comparto la opinión de Ricard, Christian y Marcos, todos ellos coleguillas de Symfony Barcelona, aunque no me puedo resistir y aquí te dejo un par de líneas más en la misma dirección…

    En primer lugar los programadores deben ser ingenieros, quizás no es necesario llegar a tener el título pero sí tener estudios, pero sobretodo deben pensar. No me puedo imaginar como narices alguien es capaz de programar algo sin pensar, digo programar, ¿sabes? lo de los if, los foreach, while y todo eso, por no hablar de OOP, SOA, Unit Testing y cosas de esas que debes considerar pijadas innecesarias.

    En segundo lugar, respecto a los frameworks, sí, presentan un problema: la gente que los usa sin conocimiento aunque quizás peor los que como tú opinan sobre ellos sin saber de qué hablan.

    Como siempre, todo es cuestión de conocimiento, si no se conoce se critica y/o se usa mal, sea la herramienta que sea, desde un WordPress o Drupal hasta cualquiera de los frameworks PHP que existen hoy en día. Pero ¡ei! ¡sorpresa! estos frameworks, al igual que los CMS que he citado, están escritos en PHP. Esto es, si algo no sabes como va o porque funciona de una determinada forma, vas y miras el código del FW para saber lo que hace, claro esta si es que la documentación no es suficientemente buena, cosa que hoy en día con Symfony es bastante difícil.

    A lo que voy, si conoces bien Symfony o ZF puedes hacer exactamente lo que quieres con ellos y construir webs de alto rendimiento y buenas en temas de SEO. Evidentemente con muuuuuchas ventajas añadidas, entre ellas un menor tiempo de desarrollo que con PHP “a pelo”.

    PD: Por cierto consultor SEO, mírate los títulos que genera tu blog.

    Salu2

  12. Hombre, sí, en el mundo de internet hay muchas realidades, una de ellas son SEOs y otro personajes, que por cierto suelen ser especialmente pretenciosos… este post es un ejemplo, que no serían capaces de conseguir resultados ni con un escuadrón de cien de los mejores desarrolladores del mundo a sus pies y chico… a patadas los hay… generalizar de esta forma, con este tono y con algunos de los argumentos que usas me parece fuera de lugar.

    Te puedo asegurar que me he encontrado con muchos diseñadores, maquetadores, SEOs, CMs que no me han puesto fácil mi trabajo como desarrollador, como en ocasiones yo habré podido complicar a otros, pero esto no es una cuestión de “programadores”, “ingenieros” ni “frameworks”, es una cuestión de profesionalidad, no sé que pintan los frameworks aqui y menos las descalificaciones a determinados grupos de profesionales.

    Aun así, sin toda esa gente de todas esas especialidades, mejores y peores, yo no comería como dev así que procuro tener un poquito de respeto por el trabajo de los demás antes de dar a entender que menos “los mios” todos los demás son retrasados mentales.

    Sobre lo de “dejar pensar” ya nos ha quedado claro que habiendo gente como tú para pensar… mejor que no pensemos los demás porque ya te sobras tú solito… como muestra esta perla de post.

    Así nos va…

  13. Yo realmente creo que en los días que corren en temas de Internet nadie tiene la última palabra, al contrario, hay soluciones y herramientas varias para cada cosa, y cada una tratan de resolver problemas reales, que de lo contrario no existieran.

    Creo que en pleno 2012 es muy arriesgado decir que “… usar bases de datos no-relacionales (…) en la realidad de Internet eso no funciona.”

    Que no te hayas enfrentado a los problemas que las bases de datos no-relacionales intentan resolver, no quiere decir que otros no los tengan día a día.

    Las BD no relacionales han surgido precisamente para eso, para resolver problemas que no pueden ser resueltos de forma óptima y eficiente con BD relacionales.

    No tienes que ser Facebook, Twitter, Foursquare o cualquiera de los grandes de Internet, para tener estos problemas.

    Pero claro, eso depende totalmente del tipo y complejidad del proyecto. Si el tipo de proyecto en cuestión es una web típica de posts/categorías, o una simple tienda, entonces con MySQL sobra. Pero si te enfrentas a un proyecto medianamente complejo, donde se requieren un alto volumen de escrituras/lecturas, donde las estructuras de datos por su naturaleza no encajan en el modelo relacional, entonces ya no solo es tan bonito en la cabeza de los programadores, sino en la misma realidad.

    Y mi criterio personal es que un buen programador es el que es capaz de adaptarse a nuevos paradigmas y que es capaz de escoger la mejor herramienta para resolver un problema en cuestión. ¿Y cuál herramienta es la mejor? Pues eso es relativo, como he dicho, hay muchas soluciones, pero para eso tienes que dejar a los programadores pensar ;)

    Y sobre la escalabilidad, muchas veces no depende solamente del programador, depende de muchos más factores como organización, previsión, tiempo, sistemas, y costes.

    Sobre si framework sí o framework no, ya se ha comentado bastante…

    Yo personalmente, prefiero las buenas prácticas, los coding standards, no re-inventar la rueda, trabajar con una base de código sólida, sostenible, y de alta calidad…. Y justamente todo eso, lo encuentro en Symfony2.

    A corto y mediano plazo, esto permite a los programadores centrarnos plenamente en el desarrollo, crear código legible, fácil de mantener y refactorizar.

    Y para terminar, en mi humilde opinión, creo que cualquier cosa que sea necesario hacer para SEO, se puede hacer con Symfony2, los límites no están en el framework, te lo puedo asegurar…

  14. Estos días he tenido que revisar algunos proyectos que hice con Symfony2 de hace aproximadamente un año. No he tenido que recordar cómo funcionaba nada, dónde se hacían qué cosas, etc, simplemente estaba en el mismo entorno y estilo que el que uso ahora y esto es gracias a usar un framework. Con mis proyectos anteriores en spaguetti esto es simplemente impensable. Y mucho menos reutilizar código.
    Si tengo problemas de rendimiento, escalabilidad, etc, voy a internet y entre la amplia comunidad de symfony encuentro a alguien que explica cómo resolverlo, a ver quién me explica cómo resolver los problemas de mi código spaguetti. Ah si, ya, que no debo pensar. Que lo mío es picar teclas.

  15. Esto es una broma no? Sigo a este sr desde hace mucho y ha triunfado por todas partes, ojobuscador, miami, tumanitas.com, y ahora con jaume de nuevo. Yo creo en su equipo y el almenos se atreve a decir lo que piensa como ingeniero y gran sabedor de la materia del SEO y del WPO. Animos!

  16. Yo también sigo a Javier desde hace mucho tiempo y conozco sus repetidos éxitos. Precisamente por esto me quedé a cuadros cuando leí el post.

    Dejando a parte sus conocimientos y éxitos, la opinión expresada en este post respecto a los frameworks lo siento pero es incorrecta, todavía más el supuesto perfil que debe tener un programador.

    Los comentarios son duros, cierto, pero creo que al ser alguien seguido por muchos y teniendo en cuenta lo que dice, la comunidad de developers debía reaccionar de una forma dura y contundente.

    Salu2

  17. Javier, voy a ser breve, te conozco poco, alguna reunión hemos tenido y no me has dado buneas vibraciones, pero no cuento eso sino que conozco a mucha gente que ha trabajado contigo y nadie me habla bien de ti. Sin duda creo que fuiste un buen SEO y que tienes labia para venderte, cosa que lo veo como un don, serías capaz de venderle un peine a un calvo y eso tiene mucho mérito. Pero ten cuidado, porque este mundo es pequeño y con comentarios tan desafortunados como este y tan descriptivos de tus carencias estás cavando un foso.

  18. Javier, voy a ser breve, te conozco poco, alguna reunión hemos tenido y no me has dado buenas vibraciones, pero no cuento eso sino que conozco a mucha gente que ha trabajado contigo y nadie me habla bien de ti. Sin duda creo que fuiste un buen SEO y que tienes labia para venderte, cosa que lo veo como un don, serías capaz de venderle un peine a un calvo y eso tiene mucho mérito. Pero ten cuidado, porque este mundo es pequeño y con comentarios tan desafortunados como este y tan descriptivos de tus carencias estás cavando un foso.

  19. Unas puntualizaciones … desde mi más humilde posición (soy bastante invisible, os lo aseguro).

    – Muy profesional el decir … “no queremos trabajar con gente inútil” (aunque luego intentes arreglarlo).
    – Un programador puede ser buenísimo, muy bueno, bueno, malo, muy malo o malísimo independientemente de si tiene o no título.
    – Un código puede estar muy bien hecho o no … también independientemente de si utilizas o no un framework, pero lo que está claro es que ayudan y mucho a la programación. Y miles de proyectos y personas no pueden estar tan equivocadas. ¿No crees?
    – Los frameworks no son sólo exclusiva de php.
    – Los programadores piensan (y deben pensar), es una realidad … gracias a Dios!!
    – Javier … tu realidad la puedes expresar con esta claridad en un foro de colegas tomando unas cervezas, pero nunca tan desafortunadamente desde el púlpito que te brinda tu blog, el cual es muy seguido (me consta) gracias a los logros que tuviste algún día y de los cuales todavía parece que vives.
    – mi realidad es en el fondo muy parecida a la tuya, programé mucho en época en que no había frameworks y me sentía más cómodo si no lo había … pero hay que adaptarse y entender la realidad de hoy día. Eso sí, es cierto que en los últimos tiempos me he encontrado con hornadas de nuevos programadores con alguna carencia de base (cosas que antes teníamos como evidentes) pero … no es más que la nueva realidad.

    Por último … eres líder de opinión lo quieras o no como muestra está la cantidad de comentarios que ha generado tu post (yo no tendría ninguno) por eso, lo único que puedo decir es que te pongas en los zapatos de quien te pueda leer antes de escribir. Ya sabes que en este medio la reputación puede quedar tocada de la noche al día sin querer y es muy importante saber manejar los tiempos.

    En cuanto a las decisiones que tomes al elegir o no un proyecto forman parte de tu realidad y seguro que son buenas decisiones.

    Un saludo!

  20. … por cierto. Tu servidor no tiene la hora actualizada y los comentarios se generan con una hora más tarde ;-)

  21. Veo mucha envidia, ataque personal y ego desmedido aquí (seguro que la mayoría adornan sus emails con CEO,CTO o INGENIERO DE LA NASA). Una herramienta buena, es la que te hace ganar dinero, sea framework, sea spaguetti o lo programe un mono vestido de botones. Punto.

    No soy sospechoso de estar de acuerdo con Javi al 100% ni siquiera al 10% en mil temas pero al menos, él dice lo que piensa y hace lo que él cree y en eso lo respeto. Si sois tan grandes y tan buenos, no se porque os molestáis en postear. No bajéis de vuestra torre de marfil y seguir haciendo #profit y #remar

    Que piel más fina tenéis.

  22. Hola Javier,

    Normalmente me gusta leer tus post, pero en este no puedo quedarme sin comentar para hacerte ver algunos puntos:

    – Como comentaron arriba no todos los programadores (yo prefiero el término desarrolladores) son buenos. Al parecer tienes la mala suerte de escoger los proyectos con gente que no conoce bien lo que usa.
    – Los frameworks son herramientas geniales, si les dedicas el tiempo de aprender como funcionan. El problema de muchos proyectos, no es el uso de frameworks, sino, personas que se hacen llamar desarrolladores pero no conocen bien el lenguaje en el que se creó el framework y por tanto no entienden como usarlo o extenderlo.
    – Los desarrolladores definitivamente tienen que pensar: No conozco a nadie que cree algoritmos complejos para la web sin pensar nada.
    – Aunque acepto que a veces el código spaghetti es la mejor solución a problemas sencillos, tiendo a desconfiar de los conocimientos de la gente que lo prefiere sobre el uso de frameworks, porque normalmente, para usar un framework tienes que tener muy buenas bases (si quieres usarlo bien) por tanto debes de aprender sobre POO, ORM’s, patrones de diseño, etc.

    En definitiva, aunque respeto tu opinión, en el caso de lo que dices sobre los desarrolladores no lo comparto, porque, como habrás notado, soy desarrollador y vivo de ello y todo lo que dices que no se puede hacer con algunos de los frameworks de php, si es posible.

    Saludos.

  23. Los frameworks son de gran utilidad para proyectos grandes que sin ellos llevarían bastante más tiempo escribir código.

    El problema es si los usa alguien que no conoce la arquitectura de la librería, en este caso puede perderse escribiendo clases o métodos que ya existen.

    También los frameworks son idóneos para proyectos grandes, para medianos o pequeños es preferible utilizar un CMS de los ya conocidos o montar el PHP a pelo por decirlo así, de lo contrario si puede resultar “más pesado” en rendimiento.

    PD: he leído algunos comentarios en contra de Javier (al que no conozco salvo por este blog) pero considero que hay que respetar cualquier opinión.

Deja un comentario