Hola buenas madrugadas estimados lectores, espero se encuentren bien en todo aspecto de la vida, en este post les comparto parte de la experiencia que he vivido en este mundo de ceros y unos, compiladores, ejecutables y puestas en producción Open-mouthed smile

Tal y como dice el título, vamos planeando, tomaré como punto de partida que recién estás iniciando en el desarrollo de software y que ya hiciste el gran e ilustre “Hola mundo” en algún lenguaje de programación y te encuentras con toda la emoción de la adrenalina de ver funcionando tus primeras líneas de código. Cuando inicié en la secundaria hice un gran “Hola mundo” con Visual Basic 6.0 y le pregunté al profesor “¿Cuál es el límite o lo máximo a donde puedo llegar con esto?”, al escuchar “Es ilimitado y puedes llegar tan lejos conforme aprendas”, elevé mi ki mismo Gokú y elevé mi cosmos al mismo estilo de los caballeros del zodiaco con toda la emoción de la respuesta, y aquí me tienen disfrutando la vida con mi carrera.

He tenido unas aventuras alucinantes con diversos lenguajes de programación y diversos sistemas operativos por lo cual creo que una lista de consejos sería ideal para mantenerse en pie y seguir adelante con todo el power 2.0!

  1. Aprende los fundamentos, ellos te acompañarán siempre. Como diría el ing. Huapaya: “Los fundamentos se mantienen, las tecnologías cambian”, ¡un saludo profesor!
  2. Comienza por desarrollar tu forma de pensar, de analizar y de crear algoritmos, apunta siempre a que sean seguros, eficientes y entendibles.
  3. Antes de ir directo al código, ve por lápiz y papel y diseña el flujo de datos.
  4. Simula el algoritmo que estás haciendo, en papel y si es reciclado, mejor todavía, tú sabes, hay que ser ecológicos. Por cierto, dale click: www.ecosia.org
  5. Siempre aprende algo nuevo, ya sea un lenguaje de programación, la preparación de un rico lomito saltado, o un cevichito o un arroz con mariscos o un ajicito de gallina o unos postres como un cheescake, el punto es mantener el cerebro en forma para el análisis de diversos escenarios, recuerda que a la mente le encanta resolver retos y aprender algo nuevo es uno de los mayores retos que hay.
  6. Si el punto anterior te ha dado hambre, date un break y asalta la cocina que es mejor tener buena salud para aprender con mejores resultados, ya regreso.
  7. Ve por la documentación oficial en primer lugar y si está en inglés, dale con un traductor o aprende el idioma, hay mayores oportunidades y mayores fuentes de aprendizaje en lengua inglesa.
  8. Rodéate de gente que aprenda y comparta, te vas a topar con gente que sabe bastante y que en el mejor de los casos te va a compartir material con mucho gusto. En caso te encuentres gente que sepa bastante y carezca de ganas de compartir, relax, evita perder tiempo con ellos.
  9. Intégrate a comunidades offline, es decir, comunidades de tu universidad, instituto, ciudad a las que puedes ir de manera presencial y hacer networking: conoce gente y déjate conocer.
  10. Intégrate a comunidades online y sigue a todo aquel que provea información interesante, en especial si tienes docentes que estudiaron hacking avanzado en la Nasa, lleva todas las clases que puedas con esas eminencias y pregunta mismo interrogatorio de la CIA.
  11. De los 2 puntos anteriores, la clave es participar tanto a nivel de organizador, expositor o asistente, inclusive si muestran temas de los cuales estás más perdido que Bob Marley en la Guerra de las Galaxias, que eso te sea irrelevante, te garantizo que alguna idea se te habrá quedado en el C:\erebro, recuerdo cuando en el último año de la secundaria fui a un evento Microsoft de SQL Server 2005 donde hablaban de esquemas, procedimientos almacenados y tener un alto rendimiento con índices, ni idea en aquel tiempo, apuntes y ya, lo que vi y lo que preguntaron me sirvió de referencia años después cuando me tocó llevar la clase de base de datos en la universidad.
  12. Comparte tus avances, que tus amigos sepan en qué andas metido, crea un blog y vierte toda creación que tengas, es interesante ver cómo uno va creciendo, la manera de redactar, las publicaciones, los temas de interés en una línea de tiempo.

Ahora que ya tenemos una lista, ¡vamos por la segunda! Para ello necesitaré que hagas una auto-evaluación, relaaax, dudo que te mande al aplazado o un sustitutorio además el punto es que aprendas, la nota es un número y es absurdo definir la capacidad de una persona por uno.

  1. ¿Por qué estás programando? Define todas las razones que tengas en mente.
  2. ¿Para qué estás programando? Define la finalidad que tienes al crear código.
  3. ¿Todas las respuestas de la pregunta 1 te ayudan a alcanzar las respuestas de la pregunta 2? ¿Por qué crees que sí? o ¿Por qué crees que no?
  4. ¿Qué tanto dominas el tema al que quieres ir? Por ejemplo:
    1. Si quieres hacer una app móvil, ¿Has visto las arquitecturas de desarrollo móvil?
    2. Si quieres hacer sistemas en tiempo real, ¿Sabes qué tecnologías ayudan?
    3. Si quieres hacer un videojuego, ¿Conoces la teoría de videojuegos al menos?
    4. Si quieres hacer un algoritmo que encripte archivos con usuario y contraseña, ¿Tienes idea de la criptografía?
    5. Si quieres hacer un algoritmo de machine learning que modifique automáticamente las reglas de un firewall en base al tráfico y posibles vectores de ataque, ¿Qué firewalls manejas, sabes configurarlos, tienes experiencia en servidores?¿Sabes cómo aplicar Machine Learning en un escenario así?
  5. Si en el punto anterior recién estás poniendo el dedo gordo en la piscina de conocimiento o ya te sumergiste, una recomendación: mira conferencias, ya sea online o presenciales, YouTube, Vimeo tienen bastantes, las conferencias te dan la esencia de todo un tema, sigue a los autores de las mismas por redes sociales.
  6. ¿Sientes que hace falta material? Consíguelo, y de preferencia con los mismos autores de libros o empresas que dominen el tema a donde apuntas.

Ahora que ya tenemos los resultados, vamos con los ingredientes para elevar el porcentaje de éxito:

  1. Organízate, crea espacios de tiempo para llevar a cabo lo que tienes en mente.
  2. Ten disciplina, apaga redes sociales y cualquier otra distracción que tengas.
  3. Se constante, disfruta del camino del aprendizaje.

Evita la frustración, cuando algo falle, en voz alta menciona estas palabras mágicas:

“Encontré una manera más para evitar funcionar esto, ¡Siguiente ciclo con fuerza!”

Y seguido analizas nuevamente bajo la pregunta: ¿Qué le hace falta para que funcione? Considera que arreglar la mayor cantidad de errores te genera una experiencia muy rica, generas una habilidad de “troubleshooter” excelente. Para evitar emplear demasiado tiempo en esto, ¡Aprende bien los fundamentos! Open-mouthed smile

Ahora bien estimados lectores, me despido hasta el siguiente post o siguiente evento en vivo, ando jugando con Visual Studio 2017 Community Edition, que la fuerza os acompañe, éxitos y bendiciones para todos.

Por cierto, si les ha gustado, compartan y/o comenten, tener feedback por parte de ustedes es muy importante, así puedo crear contenido de mayor calidad. Si no les ha gustado, un tweet o un correo diciendo qué exactamente y veré la manera de mejorar para siguientes publicaciones.