No, no voy a ser yo el que diga que principios hay que seguir para hacerse freelance con éxito :P, simplemente me he encontrado el post The Principles of Successful Freelancing en sitepoint, que es un capítulo de ejemplo del libro del mismo nombre y me ha parecido interesante encontrar esas recomendaciones(algunas ya las tenía oídas :)) para entrar en el mundo freelance, además orientado al sector web/IT.
Como no es un post precisamente corto para hacer un resumen completo, aquí dejo algunos de los puntos que más me han llamado la atención:
- Diferencias entre dar el paso para ser freelance a tiempo parcial o completo
- Tomar tiempo para planificar
- Análisis SWOT o DAFO, enseña algún ejemplo
- Establecer metas, para filtrar los muchos pensamientos e ideas que tenemos, y también marcar hitos a un plazo más corto
- Planificar los gastos al ponerse de freelance
- Crear una marca que te identifique(tu nombre o una marca comercial)
- Elegir bien a los proveedores
- Pedir asesoramiento/ayuda quienes estén/tengan experiencia en una situación parecida a la tuya
No me he querido extender en ninguno de estos puntos, ya que cada uno de ellos podría dar para un post, y no puedo dejar de recomendar su lectura a cualquier persona que esté pensando en introducirse en el mundo freelance, o como es mi caso, esté empezando (seguramente también es muy válido para el caso de start-ups).
Por último, lo que no quiero dejarme, porque es lo más importante: Recuerda divertirte!! ;)
Los días 13 y 14 estuve en Madrid para asistir a la Conferencia Rails, os recomiendo leer el resumen que ha hecho Jesús Navarrete de algunas de las charlas viendo que coincido mucho con él y que últimamente ando un poco vago para escribir ;), de todas formas sí quiero comentar que por lo general me parecieron más interesantes las que giraban alrededor de cómo trabaja la gente y algunos casos de éxito que las de tecnología pura y dura.
También me pareció curioso el speed dating entre gente que busca programadores y quienes buscamos proyectos interesantes en los que trabajar o para quien busca empleo, aunque la mayoría buscaban contratar empleados y no colaboradores freelance.
Otras cosas que quisiera destacar son por un lado los premios de personaje de año y proyecto del año, el primero fue para Xavier Noria y el segundo para Tog, aunque como ya se dijo en la lista de ror-es, hubiera estado bien dar un par de minutos para conocer a los ganadores; y por el otro lado la keynote de Obie Fernandez, que nos habló mucho de su empresa y de cómo trabajan, lo que resultó realmente interesante.
Como siempre, de lo mejor del evento son los pasillos: hablar con gente que no conocías, poner cara a muchos de los que participan en ror-es, encontrarte con algunos que conoces de forma online, juntarte con la gente con la que colaboras a diario e incluso encontrarte a un ex-compañero de trabajo :).
Actualización 21/11/08:
Ya están disponibles los videos de la conferencia.
Después de bastante tiempo programando en Java, uno está acostumbrado a de vez en cuando hacer utilizar el debug de su IDE(en mi caso Eclipse) para comprobar algún comportamiento extraño, en el caso de Grails se apoya en el debugging remoto que nos trae la JVM(veáse el bash o .bat en GRAILS_HOME/bin/grails-debug).
Para empezar, deberemos ejecutar nuestra aplicación Grails con:
grails-debug run-app
De esta manera, tendremos debug remoto en el puerto 5005(por defecto)
Luego nos vamos a nuestro Eclipse, sobre nuestro proyecto seleccionamos Debug As y Debug Configurations..., tras esto tendremos que crear una nueva Remote Java Application con tipo de conexión Socket Attach en nuestro host, pero deberemos modificar el puerto de conexión por defecto que usa Eclipse(8000) al 5005, darle a debug y listo.
Ahí va una imagen(con un poco de publicidad subliminal ;))
A partir de aquí ya podemos poner puntos de ruptura y trabajar con la perspectiva Debug de Eclipse normalmente.
Y por si quedan dudas, como su nombre indica :P, es posible hacer debug en remoto y no es algo exclusivo ni de Grails ni de Eclipse :).
Tras varios meses de trabajo, vemos ya cercana la aparición Jobsket al mundo, en forma de beta privada. Un proyecto dirigido al sector empleo en internet, con un desarrollo y un enfoque que se sale de lo habitual, y al que también le vemos un potencial enorme.
Para estos proyectos se suele hablar mucho del equipo, y tengo que decir que el nuestro da miedo ;): con Jordi, Mamen, y Martín. Para mi los tres son de lo mejorcito, mientras tanto, otros hacemos lo que podemos para no desentonar demasiado :P.
Con el potencial del proyecto y del equipo, estamos convencidos que jobsket dará mucho que hablar y que demostará, una vez más, que con motivación y gente muy válida no importa que los miembros del equipo estén a cientos o miles de kilómetros para terminar haciendo un gran trabajo.
Si alguien tiene curiosidad a un nivel más técnico y no lo ha leído antes en el blog de Martín, nuestro framework web elegido fue Grails, algunas razones: cuando empezamos se estaba hablando muy bien de Grails(allá por la Release Candidate de la versión 1.0), al basarse en Hibernate y Spring sabíamos que no empezábamos de 0, además ya había algunas aplicaciones en producción más o menos grandes y teníamos ganas de aprender algo nuevo. La experiencia hasta el momento está siendo muy satisfactoria.
Por ahora tampoco podemos decir mucho más, simplemente animaros a seguirnos en twitter y que si queréis probar la beta cuando esté disponible registréis vuestra dirección de correo para avisaros.
Rick Hightower está trabajando en un interesante tutorial sobre inyección de dependencias usando Spring. Realmente el tutorial empieza explicando explicando las bondades de la inyección de dependencias para desacoplar nuestro código; y sigue con una explicación de cómo hacerlo a mano, sin la ayuda de frameworks, con nuestro propio código pegamento.
Una vez introducidos, va explicando las diferentes formas con las que se inyectan dependencias con Spring, empezando desde la forma clásica usando sólo configuración XML, sigue adentrándose en algunas de las diferentes anotaciones de Spring que podemos utilizar(@Required, @Autowire, @Qualifier, @Component...), después en la configuración de objetos con tipos primitivos y acaba con el ciclo de vida y los ámbitos(scopes) de los objetos inyectados. En definitiva, un muy buen recurso para introducirse a la inyección de dependencias, a Spring y a sus anotaciones.
Sobre las anotaciones para la configuración de depenencias con Spring, bajo una opinión completamente personal y sin haberlas utilizado todavía, no me termina de convencer usarlas: Por un lado atamos nuestras clases a Spring con la configuración hardcodeada y por otro tenemos la configuración repartida en múltiples clases.
Quizás esté equivocado en lo segundo y sea más mantenible tener repartida la configuración en las mismas clases que tenerla en uno o varios XML, por esto me gustaría conocer las opiniones de los que pasáis por aquí que uséis Spring con o sin anotaciones y vuestras experiencias.