Friday, September 4, 2009

LA GUERRA DE LOS FREELANCER: El entrenamiento.

Existen guerras INTERNAS y existen guerras EXTERNAS y por desgracia ser un buen FREELANCE es una guerra que incluye ambas. Es más, me atrevería a asegurar que siempre es más interna, al menos en sus comienzos, y más aun, les aseguro que éstas son las más difíciles de ganar pues lo más difícil que hay en el mundo es luchar contra uno mismo: luchar por lo que quiero pero que me exige mucho sacrificio.

Y he aquí los primeros 5 consejos:

1. Mucho sacrifico en la auto preparación.

2. Mucha perseverancia.

3. Más sacrifico.

4. Más perseverancia.

5. Más de ambos, je je, y aunque me ría es muy serio.

Quien no se prepara para una guerra será hombre muerto al seguro, lo que nos garantiza el éxito es la preparación: EL ENTRENAMIENTO.

Todos dicen: yo quiero trabajar o lo que es lo mismo: yo quiero pelear, ir a la guerra. Pero todos piensan que la guerra es un algo sin fin, sin plazos de tiempo y que se gana con cualquier arma y están muy equivocados.

“Tenemos que tomar el punto X del enemigo y tenemos Y días para hacerlo y debemos utilizar el arma Z” sería lo mismo que decir: “tenemos un proyecto X y tenemos Y días para hacerlo con la tecnología Z”.

Por desgracia, por lo general X,Y,Z no son variables que nosotros podemos decidir, sencillamente nos las comunican y debemos ser capaces de dominarlas para poder ganar. De ellas la Z (tecnología) es la que más variantes tiene y no siempre hemos trabajado en ellas.

Entonces usted diría: estaré “casi siempre perdido”. La respuesta es: NO.

Usted debe prepararse para hacer frente a cualquier tecnología. No es que deba dominarlas todas, sino tener el dominio absoluto de una o solo unas pocas pero con la capacidad suficiente de asimilar “al vuelo” cualquier otra que se necesite. Al final, en la programación todo es lo mismo, solo cambian los términos: “el lenguaje” por así decirlo. Cuando hablé de asimilar “al vuelo” me refiero a que por lo general tendrá usted 3 días o una semana para estudiar lo básico de una plataforma completa, a medida que vaya avanzando en el proyecto. Esto implicará casi noches sin dormir, trabajar 10, 14 y hasta 18 horas sin parar, dormir lo necesario y continuar al otro día.

Si no está dispuesto a realizar todos estos SACRIFICIOS: no empiece.

Ahora, la base de todo está en el entrenamiento que usted sea capaz de realizar. Si usted no es capaz de estudiar 6 u 8 horas cada día cuando comienza no será capaz después de trabajarlas. Y eso no es cuestión de uno o dos días, es cuestión de semanas, meses, es lo que llamamos: PERSEVERANCIA. Solo así el conocimiento fluye, se afianza en nosotros y nos acompañará durante toda la vida.

Yo recuerdo que cuando me gradué y comencé la vida laboral nadie me pidió estudiar, fui yo solo el que lo decidí y comencé. Imprimí mis primeros manuales de Delphi3 (la moda por aquellos tiempos) y me los leí uno por uno, sin parar. No demoró mucho tiempo en que este sacrifico y perseverancia dieran sus frutos pues con el conocimiento adquirido comencé a realizar una aplicación para la empresa que trabajaba y tan solo unos 3 meses después ya había ganado un “Fórum de Ciencia y Técnica” ganando con ello mi PRIMERA BICICLETA, jeje, que en Cuba es como decir: mi primer Automóvil.

Pero eso no fue suficiente y uno o dos meses después, analizando el mercado de la tecnología, decidí migrar mi plataforma de desarrollo principal hacia Visual Basic, creo que el 5 por aquel entonces (esto está asociado a un consejo que les ofreceré más adelante). Creo que fue una de las decisiones más importantes de mi vida pero eso implicaba más SACRIFICIO Y PERSEVERANCIA: más “horas nalgas” (unidad de medida del sacrificio, que significan horas que tienes las nalgas fijas al asiento).

Luego vinieron otras tecnologías, que aclaro: por amor al arte, fueron sumándose a mi entrenamiento, entre estas: Access, Sql Server, Visual Studio, etc. El caso de SQL Server siempre se lo menciono a los principiantes, recuerdo que estuve varias semanas, no recuerdo ya cuantas pero deben haber sido 2 o 3 meses que llegaba, me sentaba a leer y me pasaba de 6 a 8 horas sin parar leyendo par de libros de Microsoft Press, cada uno con miles de páginas, especializados en los temas de Programación y Administración. Por supuesto ambos en Inglés (muy importante dominar el Idioma) y aplicando en algo cada conocimiento que recibía para que se afianzara. Ya de ello hace casi 10 años, he hizo de mi un gran especialista en Bases de Datos, modestia y aparte, jeje.

Puedo ponerle 100 ejemplos más, pero creo que es suficiente para que comprendan la importancia del entrenamiento antes de ir a la guerra.

Próxima entrega:

LA GUERRA DE LOS FREELANCER: Seleccionar las mejores armas.

5 comments:

  1. Creo que todo depende mucho de cuál es el objetivo que quieres perseguir.

    Por ejemplo, dominar varias tecnologías te permite poder participar en muchos proyectos diferentes como programador. Eso es algo muy bueno pues tienes trabajo asegurado en cualquier cosa que venga.

    Sin embargo, dominar muchas tecnologías te hace un "don nadie" en todas ellas. Uno más del bulto, de los que en el mundo existen millones.

    Los especialistas son los mejores pagados en la tierra. Esos solo dominan una tecnología, pero son LOS que la dominan. Son los Dioses en cualquier tema respecto a esa tecnología, y por supuesto, ganan 20 veces más que cualquier otra persona.

    Entonces todo está en dependencia del enfoque que quieras darle a tu vida profesional.

    ReplyDelete
  2. Si, de acuerdo. El objetivo es ofrecerle consejos a los que comienzan, que si no dominan ni siquiera una tecnologia menos dominaran varias.

    ReplyDelete
  3. Hay un gran error de concepto en lo que expones sobre tecnología y lenguaje.

    TECNOLOGÍA != LENGUAJE DE PROGRAMACIÓN

    Ejemplos pueden ponerse miles, basta citar el caso .Net y Java. El que domines .Net no te ayudará a asimilar tecnologías Java para realizar lo mismo.

    Si me dices que dentro de una tecnología te mueves por distintos lenguajes, entoces puedo están un poco más de acuerdo. Este es el caso de dominar .Net y moverte entre los lenguajes VB.Net y C#.

    Hay que tener cuidado con las afirmaciones que se hacen.

    ReplyDelete
  4. Hay un gran error de concepto en lo que expones sobre tecnología y lenguaje.

    TECNOLOGÍA != LENGUAJE DE PROGRAMACIÓN

    Ejemplos pueden ponerse miles, basta citar el caso .Net y Java. El que domines .Net no te ayudará a asimilar tecnologías Java para realizar lo mismo.

    Si me dices que dentro de una tecnología te mueves por distintos lenguajes, entoces puedo están un poco más de acuerdo. Este es el caso de dominar .Net y moverte entre los lenguajes VB.Net y C#.

    Hay que tener cuidado con las afirmaciones que se hacen.

    ReplyDelete
  5. (En respuesta al comentario de Julio Madera)

    Aclaro que todo lo que expongo lo hago desde mi óptica personal basado en mi experiencia y formación. Cualquiera puede diferir en cuanto a los criterios expuestos y son libres de expresarlos que yo los publicare sin censurarlos.

    Está claro que no es lo mismo pues el término Tecnología es más abarcador. Sin embargo un lenguaje se enmarca en una tecnología y muchas veces se usa como sinónimo uno de otro o más bien como elemento deductivo. Por ejemplo cuantas veces te han preguntado: ¿En qué programas? Y respondes: -En .Net.

    Sin embargo la pregunta real que te han hecho es: ¿En qué lenguaje de programación programas?, porque son los lenguajes de programación los que se usan para programar y a pesar que lo sabes tú respondes: -En .Net. Cuantas veces usas la respuesta: -En C#?

    Este articulo no pretende tener el rigor científico de un doctorado pues me pasaría 5 o más años para hacerlo, revisarlo, etc., y mis queridos aprendices no están dispuestos a esperar tanto tiempo, jeje.

    Planteas:
    Ejemplos pueden ponerse miles, basta citar el caso .Net y Java. El que domines .Net no te ayudará a asimilar tecnologías Java para realizar lo mismo.

    Y con esto estoy EN TOTAL DESACUERDO.

    Cuando necesité estudiar y aprender Java fue el conocimiento de .Net lo que me facilitó extremadamente el aprendizaje y asimilación de los conceptos de Java. Cuando necesite asimilar Oracle, MySql y Postgres fue el conocimiento de SQL Server lo que me facilitó la transición para hacer lo mismo.

    El debate queda abierto a todos.

    ReplyDelete