OVER 3 YEARS AGO • 5 MIN READ

El Newsletter DEV: Cuando una solución técnicamente correcta no aporta valor

profile

Oscar Swanros, Soft Skills para Devs

El Newsletter DEV

Compra mi booklet | Asesorías personalizadas


¡Bienvenidos los 13 nuevos miembros que se unieron desde el domingo pasado! En esta comunidad creemos que se puede tener una carrera en tecnología de manera sostenible.

Únetenos o invita a tus amigos y colegas, ¡ya somos más de 1,500!


¡Excelente lunes!

Estoy enviando este newsletter un día tarde porque en México tuvimos un fin de semana largo, y decidí aprovechar para pasar tiempo de calidad con mis personas favoritas.

Por si no lo viste, te comparto que junto con mis amigos de EmpleosTI, lanzamos Hireline Spaces: cada dos semanas nos escuchamos en Twitter para hablar de Soft Skills, desarrollo de carrera y crecimiento profesional. ¡No te lo pierdas!

Espero que tengas una excelente semana. Y si tuviste un fin de semana largo, que lo hayas aprovechado para descansar.

¡Hasta pronto!


Para que reflexiones

El momento de preguntarte si estás haciendo las cosas bien es cuando todo parece estar tranquilo.

Es mucho más difícil tomar decisiones importantes en medio de una urgencia.

Comparte esta idea en Twitter


Notas para mejorar tus Soft Skills

→ Cómo usar Google Calendar para evitar distraerte

Usa Google Calendar para evitar distracciones

En los equipos de ingeniería con los que trabajo, les pido a mis colaboradores que por favor bloqueen su calendario — que lo segmenten y organicen para poder saber cuándo es apropiado invitarlos a una llamada con la confianza de que no estaré interrumpiendo una racha de productividad.

Por alguna razón se me había pasado que se había agregado una nueva opción a Google Calendar. Un nuevo tipo de evento, que en español se llama “Enfocar horario” que te permite rechazar automáticamente eventos a los que te inviten durante ese periodo de tiempo.

Antes de que Google Calendar activara esta opción, crear un evento para segmentar tu tiempo productivo no era tan efectivo porque hay algunas personas que aún no están acostumbradas a la realidad del trabajo remoto y la comunicación asíncrona. La cantidad de veces que alguien me invita a una llamada sin verificar primero que ese espacio esté libre en mi calendario es impresionante. Esto lleva a un espiral de tener que contestar manualmente, buscar otro horario, etc.

Previo a este cambio, la única manera de proteger tu tiempo en el calendario de manera automática (y real), era crear un evento de “fuera de la oficina”. Pero es claramente el mensaje equivocado. Ahora, con un evento de “Enfocar horario”, el mensaje es mucho más certero y claro: este tiempo lo estoy reservando para algo importante que necesita de mi completa atención, por favor respétalo.

Poco a poco nos estamos haciendo más conscientes de que no todos funcionamos en el mismo horario, que no todos tenemos las mismas horas productivas. Pero aún hay mucho por hacer — sobre todo en organizaciones grandes. Este es un paso en la dirección correcta, creo.

La documentación de este nuevo tipo de evento está disponible aquí.

Comparte en Twitter.

→ La barra de progreso de Gmail no es real: ¿por qué?

En smitop:

Un poco de investigación revela que la barra de carga de Gmail no es una barra de carga en absoluto! De hecho, el progreso que se muestra es controlado por una animación de CSS que hace que inicie lento, y luego se quede quieta hasta que Gmail termina de cargar. Esto vence el propósito de una barra de carga: dar un estimado del progreso, no llenarse de manera arbitraria.

Este tipo de problemas es donde muchos programadores pueden “meter el pie”. El impulso inicial de las personas técnicas es hacer las cosas técnicamente correctas, aunque no agreguen tanto valor al producto final o aporten a mejorar la experiencia del usuario.

Tomando en cuenta el caso de uso más obvio de una barra de progreso, comunicar progreso, ¿qué debería hacer Gmail para ofrecer información técnicamente correcta? Sin lujo de detalle, y vagamente en el orden adecuado:

  1. Analizar la velocidad de conexión actual
  2. Analizar el tamaño del bundle de JavaScript que hay que cargar desde el servidor
  3. Hacer un cálculo de la transferencia de los datos de manera continua, tomando en cuenta fluctuaciones en la velocidad de la conexión.

Suena relativamente sencillo; son pocos pasos. Pero toma en cuenta a) la escala a la que opera Gmail, y b) el objetivo real de presentar una barra de navegación, que es darle seguridad a tu usuario de que estás haciendo algo. Considera las implicaciones de hacer un cambio “sencillo” a la escala de Google. Además, la idea de que realmente lo que importa es la experiencia de usuario, y no necesariamente la exactitud de la barra del progreso. Te das cuenta de que implementar una barra de progreso que muestre información técnicamente correcta, realmente no vale la pena.

Por si no te habías dado cuenta, muchas de las barras de carga que encuentras en tu día a día son completamente falsas. Hoy en día, los sistemas son tan complejos, impredecibles y con tanta entropía, que hacer una barra de carga que muestre progreso requeriría una inversión de tiempo que muy pronto deja de ser rentable para el producto.

Comparte en Twitter.

→ SQLite no usa Git: ¿por qué?

Interesante página en el sitio de SQLite, explicando por qué no usan Git para administrar el código del proyecto:

SQLite no usa el sistema de control de versiones Git. En su lugar, usa Fossil, que es un sistema de control de versiones específicamente diseñado y escrito para soportar SQLite.

Personalmente no sabía de la existencia de Fossil, pero su propuesta de valor se ve bastante atractiva. Especialmente si tomamos en cuenta las razones que motivaron a que los administradores del código de SQLite decidieran que Git no era una opción para ellos:

  1. Git no ofrece visibilidad granular del contexto en el cual se hizo alguna contribución
  2. Hace demasiado difícil encontrar los sucesores de algún commit en particular
  3. El modelo mental de Git es innecesariamente complejo
  4. Git no lleva el recuento histórico de los nombres de las ramas
  5. Requiere soporte administrativo
  6. Es una experiencia de usuario pobre

Observa cómo ninguna de las razones que SQLite expone para no usar Git tienen que ver con la validez de la tecnología, sino con el impacto que esta tiene en las personas que tendrán que interactuar con ella.

Tip: Recuerda que tu software existe para resolverle un problema a tu usuario. Independientemente de la excelencia técnica de tu solución, si esta no le ayuda a tu usuario a resolver su problema, no estás cumpliendo tu cometido.

Comparte en Twitter.


Para que te distraigas

Hace unos días descubrí los videos de Anthony Padilla, y no he podido dejar de verlos. Anthony se dedica a entrevistar personas con ciertos rasgos característicos. El video con el que lo conocí fue en el que entrevista a personas con Síndrome de Identidad Disociativa. Es un agujero de conejo extremadamente interesante.

— — —

Taylor Swift relanzó su álbum Red, con canciones inéditas. Es una joya. Escúchalo en Apple Music o en Spotify.


Eso es todo por esta esdición del newsletter, gracias por leer.

¡Que tengas una semana de crecimiento consciente!

Oscar Swanros, Soft Skills para Devs