• Las entidades vivas de JPA Develamos el misterio: ¿qué relación mantienen los objetos con la base de datos?
  • La fábula de Arturo Un valiente caballero nos enseñará las consecuencias de la deuda técnica.
  • 4 consejos para presentar como un samurai Averiguamos lo que tienen en común un samurai y un presentador efectivo.
  • Cómo alimentar nuestra creatividad Ideas para alimentar la creatividad cotidiana de los equipos de trabajo.

Imaginemos que estamos en el supermercado y que hay una prueba que quieren hacer para un estudio de la facultad, donde nos invita a participar de esta prueba de laboratorio que consiste en que nos dan un minuto y medio para llenar el changuito como querramos y antes del minuto y medio, tenemos que llegar a la caja para llevarnos gratis lo que hemos 'comprado'.

Seguramente habrá diferentes estrategias, y una muy común es la de comprar como loco todo lo que tenemos a mano. Podemos decir entonces que algunos desarrolladores creen que el desarrollo de sistemas es una prueba de laboratorio (un juego), y entonces el negocio aquí es poner frameworks y tecnologías para nuestros planes de estudio (CV), ups, quise decir para los proyectos. Sería lo mismo que si vamos al médico y nos comienza a dar remedios que no necesitamos, no nos va a gustar ¿no? Y además es probable que no nos haga bien a la salud.

¿Cual debería ser nuestro pensamiento?

Para empezar el desarrollador de verdad lleva su trabajo en serio, eso significa que él no irá a introducir una tecnología o framework que el cliente no precisa. El desarrollador verdadero está preocupado en resolver los problemas del cliente y no los problema de su currículum.

Ser desarrollador profesional implica que a veces tengamos que usar tecnologías que ya están ahí, hace un buen tiempo y que muchos conocen.

Un desarrollador profesional sabe la diferencia de innovación e innovar para el cliente y la diferencia de hacer las cosas para propósito solo personal.

Falta de ética...

Para algunos es una palabra fuerte. Pero es la verdad, realmente no entiendo porque un médico o un ingeniero civil pueden responder por sus actos y un desarrollador de software sale ileso y sin responder a nada. Cuando un edificio cae porque está mal proyectado el ingeniero es el responsable y responde legalmente por  eso, y cuando hablamos de desarrollo de software, lo máximo que va a pasar es que el desarrollador vea su CV aumentado con algunas tecnologías y frameworks mas, ¿y el cliente? ¿y la ética?

Infelizmente la ética no es un asunto que se converse mucho en los entornos de TI, aunque debería, así como los valores. Muchos fabricantes de software sólo quieren vender, vender y vender sus productos (si es que se las puede llamar a eso "soluciones").

De nada sirve el API....

Esto no es verdad para el desarrollador supermercadista, porque saber bien un API y tener muchas certificaciones cuenta mucho para que él aumente su salario. El problema es que el desarrollador supermercadista no sabe hacer una solución de verdad. Eso pasa porque no sabe entender los problemas del cliente, porque no entiende de requerimientos, de gestión de proyectos, de análisis, de base de datos y principalmente de diseño.

El diseño es lo que diferencia a los desarrolladores profesionales de los picapedreros. Un buen desarrollador tiene que ser un buen diseñador. Nuestro trabajo está mucho mas allá de elegir frameworks, está en entender las reglas de negocio y los requerimientos.

De nada sirve la tecnología sin...

Un propósito. Toda decisión debe estar basada en requisitos o problemas que la tecnología o framework va a resolver. Enfoquemos nuestro trabajo en las necesidades que tenemos, necesitamos ser rápidos, tener arquitecturas robustas, nuestras aplicaciones tiene que escalar, y por sobre todo tienen que tener calidad.

En la realidad que vivimos las aplicaciones no pueden salir a producción sin un mínimo de escalibilidad y eso puede ser controlado a través de pruebas de stress y carga y principalmente a través de los requisitos. La tecnología solo es buena cuando está bien aplicada, de nada sirve Spring, EJB, WS-*/WS-RS, ESB, SOA y otras si no fueron bien aplicadas, siendo el catalizador el propio negocio.

Entonces, siempre hay que estar pendiente de nuevas tecnologías o frameworks que mejoren la calidad de nuestras soluciones, en lo posible no desarrollando soluciones que existan, que están probadas, y muchas veces son estandares de facto en el mercado, y pongamos los límites de la utilización de ello, en que siempre la implantación de esto sea lo mejor para el cliente o para el negocio y no sólo para nuestro CV.

Basado en Arquiteto Super Market

Inspiración.

"Si tú tienes una manzana y yo tengo una manzana e intercambiamos las manzanas, entonces tanto tú como yo seguiremos teniendo una manzana cada uno. Pero si tú tienes una idea y yo tengo una idea, e intercambiamos las ideas, entonces ambos tendremos dos ideas"

Bernard Shaw