Branding Personal: Su importancia para los desarrolladores.

Todos tienen una historia. Aquí está la mía:

Hola, soy Leonel, y soy Ingeniero Senior de Software Venezolano en Panamá. Soy desarrollador Big Data, con inclinación a la ciencia de datos y experiencia en desarrollo móvil. Mi trabajo es tomar aquello que imaginas y hacerlo realidad, diseñar aquello que visionas, comunicar a aquellos que están alejados y resolver eso que te preocupa.

En mi vida, no solo soy Leonel, el ingeniero de software, o Leonel el padre, sino que también soy la marca ‘Leonel’, desarrollador Big Data que asiste a charlas, dicta cursos que puedes encontrar en Internet y tiene una introducción intencionalmente hecha a medida. Eso resume lo que hago.

La idea del personal branding de convertirte en una marca es bastante extraña. Algunas personas se rehúsan porque tiene la mala reputación de estar asociado con «vender un producto» o de que usted, como persona, es un producto o pertenece a una entidad. En esta época en la que todo el mundo odia a los fanfarrones más humildes, o no le gustan las tareas que se llevarán a cabo, es fácil ver por qué algunas personas no hacen nada con respecto a su marca personal.

Sin embargo, es imposible negar el poder de la marca. Desde lo que elegimos comprar hasta nuestras creencias y valores fundamentales, nuestras vidas están determinadas por la marca de alguien o de alguna compañía de alguna manera. Las decisiones que tomamos sobre las cosas, las ideas o las personas como resultado de las impresiones que tenemos se encuentran en el núcleo mismo de cómo los humanos interactúan con el mundo. Del mismo modo que usamos estas impresiones para guiar nuestra toma de decisiones, debemos ser conscientes de lo que nosotros, como desarrolladores y personas, ofrecemos al mundo y lo que forma nuestra propia marca.

Como desarrolladores o programadores, cuando vamos de un lugar a otro, generalmente no tenemos activos tangibles, como un artista tiene una cartera o un periodista tiene clips. El código, a menos que pertenezca a la comunidad Open Source (Código Abierto), es el dominio privado de los clientes o de la organización de la que forma parte y, como resultado, nos queda poco para diferenciarnos, además de un título y algunos puntos sobre un resumen. Esa falta de propiedad es lo que hace que la marca sea tan crucial, especialmente cuando es una de las únicas cosas que te diferencia.

Pero a medida que fui tomando experiencia como desarrollador de software, empecé a darme cuenta de lo importante que era desarrollar una marca personal. Esta práctica de definir mi marca personal no solo me ha permitido exhibir por completo el trabajo que hago como ingeniero, sino que también me ha ayudado a cultivar y descubrir quién quiero ser para el mundo.

La marca personal: Un cultivo a largo plazo.

Para mí, cultivar una marca es como hacer crecer una planta. Por defecto, una marca es como un par de raíces en el suelo, con algo de altura y hojas que han crecido hasta lo que es ahora. A diferencia de una planta real -que requiere que existan elementos establecidos de agua, luz solar y oxígeno-, una marca y la persona a la que está adherida no tienen ningún elemento establecido que necesite para tener éxito y no existen restricciones.

Puedes poner lo que quieras en tu marca y crecerá en lo que quieras que sea. A dónde va su marca, qué tan grande o pequeña es, qué tan rápido crece, eso depende de uno mismo. Incluso se puede cambiar de dirección a la mitad, lo cual es algo que no se puede decir sobre las plantas.

Ya sea que esté programando, trabajando o pensando en mi marca personal, me aseguro de seguir estos cuatro pasos: Definir, Crecer, Curar y Aprender.

Definir

La marca no se trata de lo que sientes o piensas acerca de ti, sino más bien de lo que otras personas sienten, piensan y dicen sobre ti. Esto fue bastante aterrador para mí al principio, pero rápidamente me di cuenta de que puede ser un alivio. La marca no se trata de ti, se trata de todos los demás y de cómo te perciben.

Para comenzar a definir su marca, hágase la pregunta «¿Por qué me conoce la gente?» Si tiene problemas con esto (lo cual hice), acérquese a sus colegas para obtener comentarios.

Curar

Después de recibir retroalimentación de sus compañeros y colegas, el siguiente paso en el proceso de desarrollo de la marca es la curaduría. La clave de este paso es comprender por completo lo que quiere que se sepa y evaluar si coincide con lo que la gente piensa de usted en su trabajo, proyectos o cualquier otra cosa y utilizar esta información como su modelo final. Otra forma de conceptualizar este paso es pensar: Si pudieras comenzar desde cero, ¿quién me gustaría ser?

Crecer

Una vez que haya establecido quién va a ser su «futuro», el siguiente paso es hacer crecer la marca de esa persona. Una pregunta importante que debe hacer durante este paso es cómo va a pasar del presente al futuro.

Así es como lo hice: tomé las tres cosas por las que quería ser conocido desde el paso anterior y encontré tres objetivos para cada uno, estos objetivos se relacionaron con una visión de lo que quería para mi yo futuro.

Aprender

El cuarto paso en el desarrollo de una marca personal es aprender analizando sus métricas de éxito y comprendiendo cómo lo ha hecho. Este es un paso simple que a menudo se olvida, pero es crucial para todo el proceso de desarrollo de la marca. Por lo general, solo pongo una cita en mi agenda y reflexiono internamente o en voz alta con un amigo o colega de confianza. Encuentro que siempre puedo aprender algo nuevo de la reflexión y descubrir qué puedo incorporar en la próxima iteración de mi marca.

Introduciendo: M.U. Tutors Licensing

M.U. Tutors es un mercado de tutores y estudiantes online, que permite buscar rápidamente al tutor ideal para ese examen o asignación próxima.

Como colaborador activo del proyecto, me complace anunciar un modelo de licenciamiento para el producto, ideal para universidades, escuelas y academias que manejan clases particulares o programas de tutorías. Esto significa que la institución dueña de la licencia, lo es también de los datos y la plataforma donde corre el sistema, originalmente ideado como SAAS.

Puede visitar https://licensing.mututors.com/ para conocer mas detalles de la licencia.

Mi App Android en el Play Store: Alolan Pokédex

Recientemente he desarrollado y publicado una app muy sencilla, pero práctica para los jugadores de la más reciente entrega de Pokémon:  Sun y Moon. Se trata de una aplicación de referencia, que lista los diferentes Pokemon capturables en ambos juegos, junto con su respectivo Código QR.

Funcionalidad QR en Sun/Moon

El escanear un Código QR con la Cámara del Nintendo 3DS, permite obtener el registro del Pokemon respectivo, sin necesidad de capturarlo. Esto, entre otras cosas permite que se vea la ubicación exacta donde podemos encontrar a esa determinada especie en su forma salvaje, para poder capturar uno propio.

La idea de la aplicación surgió mientras hacia uso de esta misma característica, pero consultando desde el álbum del sitio web ImGur, donde se publicaron originalmente estos códigos. El proceso de buscar el QR deseado usando este sitio, se me apetecía tediosa y complicada: No existe manera de cargar todas las imágenes a la vez en la ventana del navegador, por lo que una búsqueda con CTRL+F no siempre arrojaba el resultado esperado.

El álbum en Imgur

Fué entonces cuando se me ocurrió descargarlas todas. Pero había un problema: Son mas de 400 imágenes y el nombre del archivo es un texto aleatorio que no sirve para identificar al Pokemon. Y el proceso de guardar manualmente 400 imágenes de internet una a una simplemente no era una opción.

Guardar uno por uno? No gracias!

Como todo buen programador, sabía que debía haber una mejor manera de hacer esta tarea, sólo hacía falta encontrar la herramienta. Fue entonces cuando pude darme cuenta de algo muy importante: El atributo ALT (descripción alternativa) de cada una de las imágenes contiene el número, seguido del nombre de cada Pokemon.  Fue entonces que lo tuve claro. Solo necesitaba una herramienta que permitiese descargar todas las imágenes de un sitio web, usando su atributo ALT como nombre de imagen.

Como se puede ver, el SRC de la imagen es un texto al azar. Pero el ALT es justo lo que necesito!

Luego de buscar en la web, me di cuenta que muchas otras personas han tenido esta necesidad en el pasado, pero sin embargo no existe en el mercado una herramienta que lo haga. Debía hacer mi propia herramienta…

Fué en este momento que encontré una extensión del navegador Google Chrome que permite descargar todas las imágenes de una página web. Y lo mejor: Es de código abierto!. Mi misión era sencilla: Modificar la extensión para que al descargar, en vez del nombre original del archivo, use el nombre del atributo ALT de la imagen en cuestión.

«Image Downloader» en la Chrome Web Store

Asi que aquí estaba, con el código fuente del proyecto original , ahora bifurcado a mi repositorio local. Tuve que aprender cómo se desarrolla una extensión para navegador: El acceso al DOM, el uso de la configuración, el manejo de las acciones, la interacción entre módulos y la instalación local en modo desarrollador, entre otros aspectos muy técnicos.

Al final, solo necesité crear un arreglo con el texto ALT de cada imagen al cual el API tiene acceso, para luego pasarlo a la función que genera las descargas automáticas, como parámetro ‘filename'.

La función que captura el atributo ALT en todas las imágenes.

Para quienes están interesados en ver todos los cambios requeridos, o descargar mi versión de esta extensión. (Que he llamado ALT Image Downloader), el código esta en mi GitHub, desde donde también se pueden ver las diferencias con la rama original.

Una vez que tuve las imágenes descargadas justo como las necesitaba, solo bastó editarlas, generar un listado, crear una base de datos, construir un API, subir todos los recursos al hosting y por supuesto: Desarrollar y publicar el App Android!. Sin embargo, esos detalles los comentaré en la entrega número dos de ésta entrada.

Captura del App: Alolan Pokedex

«Gotta catchem alljust not by hand».

Mi juego de Spaceships en CodeSkulptor

Hace bastante tiempo, termine mi primer MOOC en Coursera: Interactive Programming in Python. Lo recuerdo como uno de los mejores básicamente por la manera como los proyectos semanales crecían sobre la base del anterior.

Recientemente encontré el código usado en mi entrega final. Es nada más y nada menos que mi versión de Asteroids en CodeSkulptor. Para correrlo, solo hace falta ir aquí y hacer click en ►

Spaceship Game
Spaceship corriendo en Chrome!

Programacion Funcional en Python

Como parte de mi colaboración con el grupo de Meetup de PyData Panama, he creado una pequeña presentación a manera de introducción a los conceptos de la programación funcional que pueden ser usados en Python.

Además, como compañía, adjunto el excelente libro de Stephen Lott, «Functional Python Programming» publicado por PACKT Publishing.

Functional Python Programming – Steve Lott

Toma la mejor clase de Harvard en Realidad Virtual!.

Desde hace un tiempo, la que es considerada la mejor y mas popular clase en Harvard, Computer Science 50 (CS50 ) ha estado disponible online para los alumnos de la institución, o para el mundo a través de EDX, donde es por mucho la clase mas popular, CS50x.

Desde la semana pasada, sin embargo, el Canal de Harvard en Youtube ha estado subiendo las clases en formato VR 360. Esto significa que las mismas pueden ser visualizadas con la ayuda de un Google Cardboard, un Oculus Rift, un Samsung Gear VR o cualquier otro dispositivo similar y sentir que estás en el aula, en primera fila. Ya no hay excusas para entrar en Harvard…

Por cierto, que las mismas fueron capturadas con una cámara Nokia Ozo de $45000, que proporciona videos en perfecto 3D, y un sonido espacial que ofrecen altos grados de inmersión.

La cámara VR de Nokia
La cámara VR de Nokia