Archivo de Etiquetas de 'ideas'

FIXME: Empezar muchas cosas, terminar algunas menos.

No es un secreto para nadie que parecemos hiperactivos. Nos metemos en más asuntos de los que deberíamos, y eso que aquí no contamos ni la mitad de la cosas que nos pasan por la cabeza y empezamos. Pero con este post queremos también empezar una serie sobre cosas que hacemos mal, o mejor dicho, que deberíamos arreglar/mejorar, los FIXME de Linking Paths. Lo normal es que todo el mundo cuente sus cosas buenas, o las malas del contrario, pero raramente las empresas cuentan sus miserias en su blog corporativo.

Nuestro mayor aspecto a mejorar es sin duda la cantidad de cosas que empezamos y no acabamos. Distintos niveles de empezar, pero emprezar al fin y al cabo. Así un repaso rápido de nombres… apuestoque, Linquos, handicap36, las40horas, continuar con Vivir del software, “el otro ágora”, Ostraka, una mejor selección de personal informático, Vivir de la música, cajas azules, oboloi. No sé, una buena colección, ¿verdad?, incluso estoy seguro de que me dejo algunas ideas más. Proyectos que hemos empezado que se han quedado en un estado de letargo en su mayoría en espera de tiempos mejores.

Nota: No meto en esta categoría a Stage y Tabula porque esos siguen ahí, simplemente más lentos de los esperado (dejo este tema para otro post).

Razones para este resultado hay muchas, aunque supongo que la razón principal es que hemos estado haciendo muchas cosas tambíen. Repaso rápido a los últimos meses: tog, certificacionpm, upsiteme, MyFamilypedia, Tú y el salmón, una asesoría para la Junta de Andalucía, el linking internship con su flatee y por supuesto hemos trabajado en Stage y Tabula. Pero como esto no se trata de reunir enlaces, ni de llorar, ni de ponernos medallas sino de buscar soluciones, vamos a enumerar problemas y buscar soluciones.

  1. Problema: El día tiene 24 horas.

    Posible solución: Hemos mandado una instancia al ser supremo (que cada uno escoja el que quiera, yo opto por el pastafarismo ) para ampliar el día a 32 horas, pero de momento no hemos conseguido el visto bueno, así que mientras lo recibimos buscamos otras soluciones.

  2. Problema: Realmente empezamos muchas cosas.

    Posible solución: Deberíamos empezar menos cosas. Dejar de ser tan entusiastas, si eso es posible, y escoger un poco más las aventuras. Lo malo es que es difícil luchas contra nuestra propia naturaleza (personal y como ser humano). Hemos hablado varias veces de como solucionarlo, pero puesto que la mayoría son aventuras personales, que empezamos en una noche de desvelo, me cuesta ver como articularlo de mejor forma.

  3. Problema: Nos falta un diseñador.

    Posible solución: la programación de la mayoría de los proyectos que he enumerado es sencilla (relativamente). Pero tenemos un problema grande, y es que aunque Aitor no lo hace mal (lo existente en flatee, Stage y Tabula son obra suya), si tuvieramos a alguién que pusiera bonito y especial muchas de las cosas que hacemos el resultado sería otro. Programamos bien, tenemos un maquetador excelente, podemos ocuparnos del marketing y el copywriting, pero un diseñador en nómina sería una bendición. Lo malo es que no tenemos trabajo al 100% para cubrir su coste, y perfíles raros como el de mi amigo Vitxo que lo mismo diseña, que corta, que programa en Java, Rails o Lisp con una calidad superior son una mutación difícil de encontrar. Yo diría que es nuestro mayor problema.

  4. Problema: Trabajar para otros y no sólo para nuestros productos e ideas.

    Posible solución: Esto tiene que ver con el comentario anterior del retaso de Stage y Tabula. Como su explicación y discusión es demasiado grande, lo dejo para otro post.

Esos momentos que marcan la diferencia

Todo aquel que me ha contado sus ideas para hacerse autónomo o montar una empresa en el último año me ha oido decir muchas cosas (aunque para algunas ahora les remito a El libro negro del emprendedor, el libro que debería haber escrito yo). Una vez pasado el susto de ver lo difícil que es, a quién aguanta, le toca la charla de vivir de esto es relativamente fácil, lo difícil es que realmente merezca la pena (no digo que no merezca la pena, sino que no es taaaaaaaaan maravilloso).

Hay muchas razones para montar una empresa (aunque esto que contaré es aplicable a casi todo), una de las más habituales en mi círculo es porque lo necesitamos, normalmente por las ganas de hacer algo distinto y de otra manera (somos los que hemos pasado ese susto). Cada uno sabe lo que significa algo distinto y de otra manera para él (productos propios, proyectos más interesantes, cambiar de aires, tener más tiempo libre, tener más dinero, etc.). Pero lo cierto es que lamentablemente no todos somos startups de éxito sobre la que los libros y los artículos cuentan que absolutamente todo es divertido, motivador y excitante. Esas startups no existen, aunque esta claro que hay unas empresas más interesantes, divertidas y excitantes que otras. Pero lo normal es que tengas que hacer un montón de cosas no tan excitantes (y muchas más), igual que harías trabajando para otros. Lo difícil es impedir que este día a día te impida hacer las cosas que realmente importan, porque esa rutina es imposible de cambiar mientras no des un giro radical (algo aún más difícil).

Pero si realmente quieres hacer las cosas a tú manera, tienes que romper esa rutina, no dejarte llevar por ella. Dentro de esa rutina siempre tendrás oportunidades para cambiar las cosas, esos pocos momentos dónde se te ocurre la idea felíz, la oportunidad de hacer el proyecto que buscas, el contacto que necesitas para xxxx. Hay que ser consciente de esos momentos y dedicarles el tiempo necesario, porque son ellos los que te acercarán a tu objetivo, no tu rutina.

Para aprovechar estos momentos tienes que dedicarle tiempo, tienes que concertarte en ellos y dedicarte a ellos con toda tu atención durante el tiempo que sea necesario, con las menores distracciones posibles. Es muy duro tener la oportunidad de conseguir el proyecto que buscas, o tener una buena idea (o conseguir una entrevista de trabajo con la empresa XXX a la que te gustaría ir) y perder dicha oportunidad porque no le has dedicado el tiempo necesario a elaborar la propuesta o darle forma a la idea (o preparar la entrevista). Por que la suerte no existe fuera de la loteria, casi nunca. Como dijo Thomas Edison “Opportunity is missed by most people because it is dressed in overalls and looks like work” (la mayoría de la gente pierde las oportunidades porque vienen vestidas con mono -de trabajo- y se parecen al trabajo).

Si crees que te encuentras ante uno de esos momentos, libera tu cabeza del resto de cuestiones (no digo que no las hagas, sino que las hagas antes de empezar o postponlas el tiempo necesario), sal de la rutina para que no te atrape (cierra el email y el messenger, por ejemplo, quédate en casa si puedes y tienes tranquilidad), dedicale mucha anteción a la presentación (ya sea una charla, un documento o tus zapatos), y asegúrate de que transmites lo que quieres transmitir y de que es lo que el destinatario quiere escuchar (normalmente que puedes solucionar sus problemas). Dejarte llevar o dedicarle el tiempo que te sobra no suele ser una buena opción, creéme.

Es posible que yo personalmente no sea el mejor ejemplo de esto, pero como diría mi padre, “ház lo que digo, no lo que hago“. En lo que va de año intento que tanto yo personalmente como Linking Paths como empresa siga esta idea, la de alcanzar lo que realmente es mi objetivo personal y el de linking como empresa, la de aprovechar los momentos que realmente importan, la de hacer que este esfuerzo merezca la pena.

Ayer pasando por la casa del libro encontré este pensamiento en forma de libro: Life’s a pitch…. Tengo pendiente su lectura completa para poder recomendarlo, pero sigue la misma idea, de modo que si te interesa esta idea y prefieres alguién menos pesado y mejor escritor que yo, compra ese libro (no me llevo comisión).

Hacer grupo estando lejos

Esta tarde comentaba con Jordi de The Init (por cierto, interesante empresa aunque aún tengan la web que tienen) sobre como trabajar con gente que esta fuera de la oficina y aún así conseguir cierto sentimiento de pertenencia, de compartir una idea. Existen miles de programas para mensajería instantánea, pero la verdad es que no sé si son una solución si lo que quieres es conseguir ese sentimiento de grupo.

Hace ya tiempo conocí Campfire, pero no ha sido hasta hace relativamente poco cuando lo he empezado a utilizar regularmente gracias a mi autodeclarado familiar, y hay que reconocer que es otra cosa. Una aplicación que de simple es ridícula, que cualquier informático podría hacer sin demasiados problemas, pero tiene algo que hace va más allá de la mensajería.


O quizás yo soy muy raro.

Sobre los males del mundo

A parte de encontrarme con una desagradable sorpresa en el snipsnap de javaconganas, el día ha venido marcado por dos conversaciones similares y un post que me han invitado a la reflexión. Y es que una invitación para trabajar en una empresa te hace repensar (y recordar) muchas cosas. Una de las principales razones para crear linking fue la de querer hacer algo diferente. Se acerca su segundo cumpleaños de facto (que aún no oficial), y aunque estos dos años han traído muchas cosas (buenas y menos buenas), algunos caídos en el camino (como mi ex-socio) e incluso algún suelo truncado (de momento) como trabajar con mi autodeclarado familiar, no puedo dejar de estar contento con lo conseguido, sobre todo si miro hacia fuera.

Y es que la verdad es que vivir de esto es relativamente fácil, lo difícil es crecer para hacer algo más diferente. Mi amigo Vitxo ha acuñado el término the linking way, y aunque tengo que reconocer que es algo presuntuoso, suena divertido, aunque yo lo reduciría a soñar con que otro tipo de empresa es posible (y no quiero decir con esto que no haya otras empresas similares). Leo a batch4j que en javaHispano se ha vuelto a liar el tema de los intrusos, y no me puedo creer que volvamos de nuevo sobre lo mismo.

  • Me pregunto si el hecho de que a muchos clientes no les importen (porque tan tontos como para desconocerlo no son) los niveles de subcontratación que se dan en muchos proyectos.
  • O si a los empresarios les da absolutamente la calidad de los trabajos que realizan (parece que no), aunque no entiendo porque deberían preocuparse de ello si tampoco lo hacen los clientes generalmente (teniendo en cuenta las pocas sanciones que hay…).
  • Me pregunto porque hay tanto informático (o trabajador de la informática, porque no hablo de universitarios) se quejan tanto de las horas de trabajo o los sueldos cuando en realidad, por lo que hacen, casi hasta se les paga demasiado si vemos los resultados o el interés en lo que hacen (obviamente tú, lector de este blog no perteneces a este grupo, sino a quienes se preocupan por su trabajo).
  • También me pregunto si el nulo criterio técnico que existe en muchos mandos y/o mal llamados consultores que toman decisiones sin reconocer que están incapacitados para ello (porque saber lo saben, eso esta claro).
  • O porque los propios informáticos, que se quejan de que no les dejan pensar si tiene perfil de programador o de que no les dejan dirigir equipos después de salir de la universidad hacen lo mismo con los siguientes en cuanto tienen oportunidad.
  • Me pregunto porque si todos tenemos claro que no es la misma la calidad de un juguete de Scalextrix (por decir una marca) que otro coche comprado en los chinos, hay gente que no se da cuenta que hay programadores y programadores, y que como tal hay que tratarlos.
  • Me pregunto si alguien se compraría un piso en una casa a la que el arquitecto a dedicado tan poco tiempo como se le dedica a determinados proyectos informáticos (quizás lo hagan, pero preferimos no saberlo).
  • Me pregunto porque hay tantas quejas y tan pocas acciones, a todos los niveles, porque desde que el mundo es mundo, hay pocos problemas que se solucionen solos.

Es muy posible que yo no haya solucionado todo esto, ser pequeño tienen otras limitaciones, pero al menos se puede decir que trabajamos de otra forma. Si algún día dejara linking tendría que ser por algo realmente ilusionante, de esas cosas que hay pocas, porque no me veo entrando en la rueda (aunque más cornadas da el hambre, así que ya veremos, me guardo la opción ;-) ).

PS: Y antes de que me lo recuerden, me gustaría que alguien que diga que los colegios profesionales son la solución a los males del mundo lo hiciera con un mínimo de datos que lo demuestren, y que me demuestre que no hace lo mismo que un sindicato (de inútil o de inútil, que cada uno escoja).

¿Cuanto es suficiente?

Una de las cosas que tenemos que tener claras a la hora de emprender nuestra aventura, es saber cuanto es suficiente. En todo. Cuanto tiempo puedo aguantar con la idea si no despega o cuanto tengo que desarrollar para poder empezar a vender son algunas de las cuestiones que tienen que exigir nuestra atención para no desperdiciar ni tiempo ni esfuerzo. Parece una perogrullada, pero no es así.

Michael A. Cusumano es un interesante autor de varios libros muy interesantes, entre ellos The Business of Software: What Every Manager, Programmer, and Entrepreneur Must Know to Thrive and Survive in Good Times and Bad. En este libro vuelve a mencionar una ida que ya le he leído en otras ocasiones. Según él (y yo comparto), y aunque admite la extravagancia de las generalizaciones (y yo también), existen diferentes culturas empresariales en distintas zonas, incluso las punteras, como puede ser Estados Unidos, Europa y Japón. En concreto, respecto al software, comente que los japoneses van a lo suyo y cuesta que salgan de su isla o área de influencia. Los europeos somos demasiado académicos, y nos gusta demasiado la excelencia y nos preocupamos más de lo que deberíamos de temas de ingeniería, etc. Sin embargo los americanos son mucho más orientados al negocio. No creo que muchos duden de esto, teniendo en cuenta que es una generalización (por ejemplo de los europeos, no siempre aplicable a España), pero apunta a una idea muy importante: aprender de los que saben hacerlo, en este caso los americanos (perdón por referirme así a los estadounidenses, sé que no es correcto). Ellos saben cuanto es suficiente.

Y es que lo que deberíamos tener es el plan de lo que queremos hacer. No deberíamos pensar en terminar las millones de funcionalidades de nuestro software antes de empezar a promocionarlo/venderlo (o intentarlo). Obviamente tenemos que guardar ciertas balas (fallar puede suponer que nos ignoren la siguiente vez), pero no esperar a que todo sea perfecto, porque puede ser demasiado tarde. Los americanos para eso son geniales, y esto va más allá de fiebre de betas que inunda internet ahora mismo. Son capaces de saber el momento en que pueden empezar a vender con ciertas garantías, que es lo que les va a conseguir el dinero suficiente para terminar el resto.

También tenemos que tener claro que no es un fracaso que una idea no cuaje. En la cultura española parece gustar mucho que una idea no funcione, de no premiar a quién lo intenta. Parece que nos tomamos como una ofensa que otro lo consiga mientras nosotros no nos hemos atrevido ni a intentarlo. Esto no debería ser así, pero tampoco tenemos que ser cabezones hasta el final. Tenemos que tener claro cuando la idea no resulta, tener paciencia con ella, pero no tenerla infinitamente. El límite depende de cada uno, pero si queremos aprender algo de la experiencia, tenemos que salir cuando no es demasiado tarde. Reconocerlo y aceptarlo.

El tener claro esto, el tener claro que no es una cuestión de todo o nada, de blanco o negro, sino que hay grises, puede hacer que nuestra aventura sea una experiencia más o menos agradable.

Dependencias molestas en Maven

Uno de las grandes ventajas de Maven puede ser uno de sus grandes problemas: las dependencias transitivas. Esto es, si en maven yo digo que necesito, digamos el API de MyFaces, él solito se encargará de bajar todas las librerías que necesita MyFaces. Esto que es un gran avance, puede ser molesto si la persona que ha preparado MyFaces (o cualquier otro proyecto, hablo de MyFaces sólo como ejemplo) no ha tenido en cuenta que dependencias son reales y cuales no.

Dentro de Maven se pueden declarar dependencias de cinco tipos, tal y como se explica en la propia documentación (aquí concretamente). El problema viene si usamos una librería cuyo autor ha declarado todas las dependencias como compile, normalmente por comodidad. ¿Qué podría ocurrir por ejemplo en el caso de Hibernate?. Para compilar el proyecto, necesitaremos un montón de librerías que luego no nos harán falta en tiempo de ejecución, por ejemplo sólo nos hará falta una de sus implementaciones de pool de conexiones o de caché. Si el autor pusiera todas esas dependencias en modo compile nuestro proyecto incluiría TODOS esos jar. Demasiados.


Pero más aún. Supongamos que ese proyecto incluye un API desfasado, o que choca con otras versiones que tengamos, o con nuestro servidor de aplicaciones. Por ejemplo supongamos que un proyecto incluye una dependencia a un API de XML desfasado que impide que Tomcat vuelva a arrancar. Es sólo un suponer. ¿Como puedo eliminarlo sin perder la ayuda de las dependencias transitivas?.

Afortunadamente la gente que escribió Maven ya ha pensado en eso, y al declarar una dependencia podemos eliminar de nuestro proyecto una de estas dependencias transitivas. La forma de hacerlo sería la siguiente:

    
        myfaces
        myfaces-api

        1.1.0
        compile
        

            
                xml-apis
                xml-apis

            
        
    



Sencillo, ¿no?.

¿Qué es un producto?

Vale, eres un programador y tienes una buena idea (dejamos para otro día como hemos llegado a ella). Abres el IDE de tu agrado y te pones a programar. De eso se trata, ¿no?. Si. Umm… no. Esto… ¿más o menos?. Antes de ponerte a programar tienes que tener claro que es lo que quieres hacer, a lo que vas a dedicar gran parte de tu tiempo en los próximos meses. Si, digo meses, da igual lo rápido que programes. A la hora de vender un producto, tienes que tener en cuenta que hay muchas tareas además de las propias de desarrollo, que no por ser importante (si no no tendrías que vender), es menos vital que otras. No entraré en este post en detalle (iré hablando de ellas poco a poco, en otras entradas), pero al menos resumiré algunas de las más importantes.

A parte de programar tendrás que ver como dar solución a:

- El marketing. De nada sirve que hagas el mejor programa del mundo si no haces que la gente lo conozca. Es más, si no haces que la gente quiera comprartelo. Hay muchas formas de hacer marketing, pero es una labor que te tienes que tomar en serio desde el primer día, desde el día en que pienses el producto a desarrollar.

- Conseguir clientes. Aunque si tienes un gran producto y una gran marketing puedes conseguir que los clientes se mantengan solos contentos, lo más normal es que después de atraerles hacía tu producto tengas que hacer algún tipo de labor comercial para que acaben comprando. O para que compren más. O compren un extra. Lo suficiente para que ellos estén contentos contigo y sigan contigo mucho tiempo.

- Ayuda y soporte. Vale, alguien paga por tu producto y lo compra. Ten en cuenta que en función del tipo del programa, la ayuda en línea puede ser más necesaria unas ocasiones que otras, pero lo más probable es que siempre tengas que dar algún tipo de soporte a tus usuarios. Tenlo claro a la hora de vender tu programa. No es lo mismo hacer un simulador de exámenes que hacer un gestor de consultas médicas. La exigencia y las necesidades de un cliente u otro varían, pero tu tiempo lo consumen igualmente. Y no te digo nada si quieres vender a nivel mundial.

- Distribución. ¿Cómo se puede vender tu producto?. ¿Directamente a través de la red?. ¿Mejor en kioskos junto a la revista XXXX?. ¿Quieres ocuparte tu mismo de la facturación a clientes?. ¿Y del TPV online?. ¿De gestionar las licencias o las activaciones del mismo?.

- Asuntos legales. Aunque nada impide que vendas tu producto como un persona física, nadie en tu sano juicio te recomendaría tal cosa. El tratar todos los temas legales, visitas a bancos, abogados, asesores y demás ayuda necesarias también tiene su coste.

Como ves todas estas tareas tienen un coste. Tanto en tiempo como en dinero. De modo que uno de los temas que tendrás que pensar también es si dispones del suficiente de las dos cosas para lanzarte a la aventura. Aunque a veces puede ser posible de otra forma, en función del tipo de producto deberás tener una dedicación plena a él. ¿Te imaginas decirle a tu cliente que el software que usa para algo vital de su negocio estará fuera de servicio dos días porque estas de viaje?. ¿O 6 horas porque estas en tu otro trabajo?. O simplemente, aunque pongas de tu bolsillo el trabajo de programación, ¿no crees que alguna tarea de las que he nombrado tienen un coste?.

De modo que también tendrás que aprender a:

- Organizarte. Las horas del día es una de las pocas cosas innegociables de la vida. Por mucho que lo pidas no vas a tener más de 24.

- Gestionar las finanzas de tu idea. Aunque tu pongas mucho de tu parte, intenta saber que te cuesta todo lo que haces. Incluido el ADSL si hace falta. Necesitas saber lo que te cuesta hacer tu producto para saber si te resulta rentable. ¿O crees que 1000 Euros al mes es suficiente por 12 horas al día de trabajo?.

Todo esto y muchas más cosas serán las que iremos desgranando en este blog. Poco a poco, desgranando cada uno de estos puntos (además de: el producto).

NOTA: por si te has incorporado tarde, si tienes una micro ISV y quieres participar como autor en este weblog, sólo tienes que pedirlo.

Presentación

Estoy realizando un master, un executive MBA por la UPC concretamente. Como trabajo final del mismo tengo que realizar una tesina, sobre un tema de mi elección, y el que escogido es: “Lanzamiento de una micro ISV en España”. No podía escribir de otra cosa :-D.

Para realizarlo, a parte de mi propia experiencia, me gustaría contar con las ideas y comentarios de mucha gente, algunos ya conozco, otros aún no. Por eso me he decidido a crear este weblog, como punto en el que compartir ideas y opiniones, en el que todo aquel metido en esta aventura pueda participar (incluso como autor si lo quiere).

Ya que es el contenido que tendrá mi tesina, la temática debería incluir todo lo referente a la creación de una startup, desde temas de organización, a temas de marketing o legales. Mi tesina se centrará en España, pero entiendo que eso sólo es aplicable (al menos de forma más fundamental) a los aspectos legales.

Veremos que sale.

Lo que el mundo necesita es…

… ¿otro gestor de proyectos?. Seguramente no. Vamos, seguro que no. Pero ¿y si has probado 15 opciones, durante un par de meses, y no has encontrado nada que cumpla tus expectativas?. ¿Y si tu producto aporta un matiz que la mayoría no presenta?. ¿Y si ese matiz tuviera que ver con lo que es más importante para las pequeñas y medianas empresas?: el dinero.


¿Y tú que echas de menos?. Cualquier comentario será bien recibido.

Projectio Office: coming soon.

Java con ganas o ganas de Java

Sin saber muy bien por qué, en este hilo de javaHispano he acabado sacando una idea que me ha pasado por la cabeza en multitud de ocasiones, y que incluso en alguna ocasión he estado a punto de llevar a la práctica o ayudé a llevar a la práctica, como el caso del grupo de preparación de certificaciones de javaHispano (con resultado… en fin, cosas que pasan).

El caso es que por las acciones de formación que llevamos a cabo, vamos viendo muchas cosas, y generando material, de modo que de alguna forma que no sea en forma de libro, me gustaría no sólo ir sacándolo, sino simplemente ayudar a quién tiene ganas reales de mejorar y que no encuentra la forma. Tampoco sé si soy alguien capaz de conseguir eso, pero al menos tengo el interés en intentar aportar mi granito de arena, y aprender de ellos a la vez que ellos aprenden de mi.

En ese hilo de javaHispano, Monteagudo hacía alguna apreciación, y como se ve que siguiendo mi línea habitual, no me he explicado bien, lo vuelvo a intentar. Mi idea no sería la de hacer un tutorial estático, o un video de como hacer xxxxx con netbeans, sería algo más parecido a lo que realiza Shang Shin en J2EE Programming (with Passion!) Online Course . Por cierto, si algún día teneis la oportunidad de escuchar a este coreano asistir, te puede llamar tonto por usar EJB2.0 y tú hasta olvidar que era él quién te lo vendía dos años antes.


En cualquier caso, la idea no sería la de realizar un tutorial, sino la de dirigir un curso. Organizado alrededor de una lista de correo, se trataría de marcar una planificación de los temas y ejercicios más o menos desahogada e ir siguiéndola. De forma desinteresada y gratuita, simplemente por el placer de hacerlo y aportar algo. Los temas… podrían ser varios, desde algo de JSF (origen del comentario en javaHispano) hasta … sin límites (si hay ayuda e interés se puede hacer de todo).

Lo que pasa es que esto es una labor dura, de modo que lo que más me interesa es ver como convertir esto en algo medianamente serio por ambas partes. No es que quiera obligar a que termine quién empieza, simplemente que haya un mínimo de interés que vaya más allá del primer día.

Seguiré pensando sobre ello, pero si alguien tiene algún comentario será bien recibido.



Close
E-mail It