miércoles, 10 de febrero de 2010

Institucionalizacion en la programación


Parafraseando a Morgan Freeman en la película de "Cadena Perpetua", la institucionalización es el proceso por el cual una persona acepta su existencia en un entorno determinado y acotado. Se trata de vivir en un mundo con unas reglas determinadas y sin plantearse otras opciones, porque fuera de ese entorno no existe nada más.

Inicialmente cuando te contratan en una empresa, el proceso de selección, se basa en gran medida, en el cumplimiento de una serie de skills que aportan valor añadido a algún proceso de su negocio. Transcurrido un tiempo las personas se van institucionalizando. Es normal, pero hay que alcanzar un equilibrio y establecer unos límites que no se deben sobrepasar. Si esas fronteras son traspasadas y el valor de tu trabajo se reduce, en un alto porcentaje, al conocimiento específico de procesos, metodologías, contactos... pero solo y exclusivamente en ese entorno, tienes un problema. Las opciones de movilidad laboral son prácticamente nulas, los skills por los que entraste seguramente esten obsoletos, y conociendo esto, la capacidad de presión de los managers puede ser mucho mayor, ya que tu valor en el mercado es nulo.

Extrapolándolo al mundo de la programación, esto ocurre con los productos. En la carrera, módulo o formación que se haya tenido, la enseñanza es generalista. El aprendizaje de algoritmos, estructuras de datos, paradigmas de programación... es enfocado desde un punto de vista generalista creando perfiles abiertos y adaptables a cualquier entorno. En el mundo empresarial, la cosa cambia radicalmente cuando tienes la mala suerte de acabar especializado en un producto determinado.

En los últimos años me he encontrado con muchos perfiles para los que tiene sentido la programación dentro de un producto concreto (BPMs, CRMs, ERPs...), no saben a qué se traduce, ni donde se ejecuta, ni si hay otras opciones de hacerlo... Son analistas en el producto X. Eso sí, cuando van a realizar un despliegue y ven un petardazo java o un core de un programa C, no saben ni por donde agarrarlo. Por supuesto hay de todo, hay gente que viene del mundo generalista que se ha especializo en un determinado producto por demanda del mercado.

Si estás empezando en esto, no caigas en las garras de un producto, como dice Peter Norvig en teach yourself programming in 10 years, hay que tener una perspectiva abierta y amplia de diferentes lenguajes y paradigmas para llegar a ser un buen programador y caer en un producto de este calado cuando estás empezando puede acabar con tu crecimiento.

sábado, 6 de febrero de 2010

Estimix - ¿Cuánto vale un website?

Estimix es una web que combina información de diferentes fuentes y aplica cálculos tomando en consideración la antigüedad, estructura demográfica, origen del tráfico, popularidad en diferentes países y segmento al que van dirigidos para estimar el tráfico diario en páginas vistas y usuarios únicos. Además ofrece también la estimación del valor del website analizado.





viernes, 5 de febrero de 2010

Jonathan Schwartz deja Sun

Jonathan Schwartz CEO de Sun Microsystems anunció ayer en twitter que era su último día en Sun. Johnathan fue el impulsor de la conversión en opensource de OpenSolaris, OpenJDK, PhoneME...

¿Acabara la política de Oracle con las innovaciones que Sun ha aportado a la industria durante los últimos años? ¿Refactorizará los productos Sun al estilo Bea o Siebel? ¿Que sucederá con MySQL?

Sun ha sido de las compañías que más ha aportado a la industria informática y la noticia de la adquisición por IBM en primera instancia y, en segunda y definitva, por parte de Oracle me parecieron un barapalo para los que amamos la tecnología. Tendremos que esperar evoluciones...

Plan de estudios del charcutero


Con el Plan Bolonia y la entrada de grados de informática, se debería plantear la inclusión del Grado en Charcutería, para que estos profesionales de la gestión llegaran ya formados a la gerencia de este tipo de empresas.

Un posible plan de estudios podría ser este:

PRIMER CURSO
  • Fundamentos de la Programación: Principios mentales de un subcontratado, un Indio o un Chino.
  • Fundamentos Físicos: Aprendizaje de la anatomía de la longaniza: dos brazos, 10 dedos, una cabeza, dos ojos. Aumento de la productividad del consultor.
  • Álgebra: Cálculo de beneficio por salchicha.
  • Fundamentos de Economía y Empresa: Gestión cárnica y otra casquería
  • Matemática Discreta: Aplicación de la subida salarial.
  • Estructura de computadores: Caja, teclado, monitor y ratón
  • Análisis matemático: Excel avanzado, entendiendo el IVA.
  • Aspectos jurídicos, profesionales, éticos y sociales: Estudio de los límites en la presión aplicada sobre los recursos.
  • Programación orientada a objetos: Colocación de objetos en clientes.
  • Estructura de datos: Organización del escritorio de Windows.

SEGUNDO CURSO
  • Estadística: Extracción de gráficas a partir de excels de incurridos
  • Sistemas Operativos: Instalación de windows en la caja
  • Ingeniería del Software: El MS Project
  • Teoría de la Gestión de la Información (BD): Access avanzado
  • Algorítmica: Funciones excel
  • Teoría de los Lenguajes de Programación: El lenguaje directivo: la risa "sincera" y la palmadita en la espalda.
  • Fundamentos de Seguridad de la Información: El candado del explorer y la ocultación de la tabla de tarifas.
  • Programación Orientada a Objetos Avanzada: Referencias avanzadas, enchufe de objetos de menor perfil en puestos superiores.
  • Redes de Computadores: El cable y el router
  • Arquitectura y Diseño Software: J2EE y .NET, conocimiento del termino para contratación
  • Integración de Sistemas y Software: el webservice y el bus (del cole)

TERCER CURSO
  • Gestión de Proyectos y del Riesgo: MS Project avanzado
  • Pruebas del Software: El excel, aplicación de fondo verde, amarillo y rojo a las celdas.
  • Calidad del Software: Estudio del aguante y los límites de presión sobre un recurso

CUARTO CURSO
  • Prácticas en empresa / Optativas: Como alternar con el jefe, lenguaje avanzado y perfeccionamiento de la risa falsa.
  • Trabajo de Fin de Grado: Construcción de la tabla de carne

De esta forma tendrían un sólido conocimiento de la gestión humana y unos principios necesariamente indispensables para moverse en ese tipo de funciones. En la fotografía podemos observar tres estudiantes que se han decidido por una carrera de tipo técnico.

jueves, 4 de febrero de 2010

e-books en España

Hace unos meses me hice con un Kindle 2 y la verdad es que la experiencia de usuario es impresionante. La plataforma de venta de Amazon es una pasada y sin mediar con un PC puedes tener tu libro en unos segundos.

La pregunta es, ¿funcionaría este negocio en España?

El precio estandar por el que Amazon vende sus libros para Kindle es de 9,99$. Creo que en nuestro pais el éxito de este negocio sería bastante dudoso.

Al contrario que la música que en 3-4 minutos has podido disfrutar de una canción, un libro se tarda en leer días, dependiendo el tiempo que dispongas para ello. Según datos del 2006 de la Federación de Gremios de Editores, esto es lo que leemos:

>> "El porcentaje de lectores se sitúa en el 55,5% de la población, 21,1 millones de personas; de ellos, el 39,6% leen todos o casi todos los días y el 15,9% al menos una vez al mes"

>> "- El 28,0% lee entre 1 y 4 libros al año
- El 21,7% lee entre 5 y 12 libros al año
- El 10,1% leen más de 12 libros al año
- El 1,0% no sabe o no contesta"

Sólo un 10,1 % lee más de un libro al mes. ¿No sería mejor dar un servicio de tarifa plana de lectura y pagar a los editores/autores por descargas?. Esto acabaría con la piratería radicalmente. Nadie se va a poner a pasar pdf's de dudosa calidad a un formato epub o mobi si por un precio mensual asequible puede bajarse lo que le apetezca leer sin ninguna limitación y en formatos específicamente diseñados para su dispositivo.

Abrimos la encuesta para ver quién estaría dispuesto a pagar 9,99€ mensuales por tener acceso completo a una librería tipo Amazon.

Coders at work


Siempre me había intrigado saber como empezaron, trabajan y qué hacen actualmente algunos de los mejores programadores de todos los tiempos.

En Coders at Work, Peter Seibel nos desvela esta duda a través de entrevistas con algunos de ellos.

Personalmente me han gustado las realizadas a Peter Norvig (Director of Search Quality at Google) y el gran Ken Thompson (uno de los padres de Unix y en la actualidad también en Google integrando sistemas) con su perspectiva a bajo nivel de la vieja escuela de Ingenieros Eléctricos, que personalmente comparto (le mete caña hasta al compilador gcc).



miércoles, 3 de febrero de 2010

Frameworks de desarrollo vs DSLs

Absolutamente para todos los lenguajes de programación tenemos decenas de frameworks que realizan tal o cual tarea. En el mundo java, por ejemplo: Spring, Hibernate, iBatis, Struts, Webwork, Tapestry, JSF, GWT, Wicket...

En las ofertas de trabajo parece más importante el conocimiento de esta serie de software que la del propio lenguaje de programación sobre el que están implementados. No voy a negar que tienen su utilidad en según que situaciones.

Pero, ¿no sería mejor crear lenguajes de propósito específico (DSLs)?

Los framewoks tratan de proveer al lenguaje una abstracción para la realización de tareas complejas. Al tratarse de lenguajes de propósito general su implementación se convierte en una dura tarea, por eso los utilizamos. El precio que pagamos es una alta carga de configuración en forma de xml o anotaciones, que en ocasiones, francamente, los hace insufribles. Esto ocurre porque tratamos de modelar sobre un lenguaje de propósito general una serie de tareas para las que no ha sido concebido.



Formación - MIT / Stanford

Podemos acceder a materiales de formación de prestigiosos centros de forma completamente gratuita. A continuación listo los que más utilizo, tienen que ver con ingeniería informática, pero los podéis encontrar de muchos más temas:
En openculture tienen una lista bastante más amplia. Espero que os sean útiles.