• Los éxitos de la noche a la mañana tardan 10 años en construirse

    Una inspiradora historia por Jonathan Berger, en dateful.com. Relata cómo su proyecto alterno, un convertidor de zonas horarias, se convirtió en una vía sostenible de ingreso extra para su casa. También comparte los principios que determinaron el éxito de su pequeño proyecto:

    1. Confirmación de que estaba resolviendo un problema real.
    2. Hacía algo mejor que la competencia.
    3. Tenía una idea del caso de uso ideal de su herramienta.
    4. Tenía expectativas bajas del éxito de su proyecto.

    Recuerda: los éxitos de la noche a la mañana tardan 10 años en construirse.

  • Los desarrolladores de software se casan entre ellos

    Nathan Yau, en FlowingData.com:

    Cuando se tratal de matrimonio, los empleos que cada miembro de la pareja tiene juegan un papel importante para determinar si funciona o no. Tal vez sean los horarios ismilares. Tal vez son las reglas intrínsecas de la relación. Tal vez los empleos son un indicador de los tipos de personas que hacen buena pareja.

    Busqué “Software Developer”, y este fue el resultado:

  • WhatsApp creció 1,000 millones de usuarios con un equipo de 50 personas: ¿cómo le hicieron?

    Excelente análisis de cómo una de los servicios de mensajería más populares del mundo logró escalar para soportar 1,000 millones de usuarios con un equipo de tan solo 50 personas.

    No me es ninguna sorpresa que el primer punto es la cultura de ingeniería de la empresa. Algunas claves que definieron la cultura de ingeniería de WhatsApp y que le permitieron crecer a esos números tan grandes:

    • Hacer las cosas pequeñas
    • Hacer las cosas simples
    • Estar enfocados en la misión, una cosa a la vez

    La tecnología, claramente, tuvo muchísimo que ver en esta proeza. Pero recuerda, que una cultura de ingeniería bien establecida, con principios y valores claros y alineados a una meta concreta, es mucho más importante que una tecnología en particular.

    Si tienes una buena cultura de ingeniería, la tecnología se vuelve únicamente un detalle de implementación.

    Enlace.

  • 5.8% de los usuarios de un videojuego reportaron el 38% de los bugs: usaban Linux

    Un desarrollador de videojuegos comparte algunos números y reflexiones interesantes. Hasta la fecha, ha vendido un poco más de 12 mil copias de su videojuego, de las cuales 700 (5.8%) fueron comprados por usuarios de Linux. En total ha recibido 1,040 reportes de errores (bugs), de los cuales 400 fueron reportados por usuarios de Linux.

    Esto significa que, en promedio, el jugador que usa Linux reporta 650% más errores que los jugadores de otras plataformas.

    El detalle más interesante que comparte el autor es que de todos los errores reportados por usuarios de Linux, únicamente 3 tenían que ver específicamente con el sistema operativo. 5.8% de los jugadores encontraron el 38% de los errores que afectaban a todos los usuarios del juego.

    En palabras del autor, “es como tener un equipo de QA de 700 personas, esencialmente gratis. La comunidad de Linux está excepcionalmente bien entrenada para reportar errores. Así es como funciona el código abierto.”

    Enlace.

  • Es más probable que encuentres trabajo por Twitter que por LinkedIn

    Este mini-ensayo fue publicado originalmente en mi newsletter. Suscríbete.

    Es más probable que encuentres trabajo por Twitter que por LinkedIn. Eso fue lo que se me ocurrió hace unos días mientras platicaba con un amigo sobre el panorama de empleabilidad para trabajadores del software en LATAM. Naturalmente, compartí este pensamiento inmediatamente.

    Debo hacer una confesión: la idea que publiqué no estaba completa.

    Lo que en realidad debí de compartir es que es más probable que encuentres un trabajo que te haga crecer y que te aporte, por Twitter, que por LinkedIn.

    Es mucho más importante, para tu desarrollo profesional y tu superación personal, estar con las personas correctas, que en la compañía con el nombre más conocido.

    Twitter es una excelente forma de encontrar a esas personas. Y es que Twitter es una plataforma en la que tienes la capacidad de interactuar, de manera informal, con personas, no con representantes de compañías. Crear relaciones a través de temas de interés personal en común, debate de ideas y aportaciones voluntarias, es un mucho mejor indicador de qué tanto te gustaría trabajar con una persona que el CV más pulido.

    En Twitter, tienes la oportunidad de mostrar un poco más de tu personalidad, tus intereses y tus motivaciones — en otras palabras, lo que realmente te hace diferente. En LinkedIn, reduces tus oportunidades de sobresalir a una lista de habilidades técnicas e historial laboral.

    No es que LinkedIn no sirva para encontrar trabajo. Claro que sirve, si no no existiría. Pero la calidad de las oportunidades que puedes obtener si dejas de hablar con empresas, y comienzas a hablar con personas, se incrementa exponencialmente.

    Si te gustaría asistir a un taller para aprender a usar Twitter para conseguir empleo, regístrate aquí.

  • Sentry dona $150 mil dólares a proyectos de código abierto

    Es refrescante ver una compañía fundada gracias al código abierto que, literalmente, pone su dinero donde pone su boca.

    En total, han donado $154,999.89 a proyectos e iniciativas de código abierto. Me encanta también el mensaje con el que lo hacen: “queremos sostener a la comunidad de manera sostenible.”

    Tip: trabajar de tiempo completo en proyectos de código abierto es posible. Entre otras, puedes usar la plataforma de GitHub Sponsors para que otras personas u organizaciones patrocinen directamente tus contribuciones open-source.

    Enlace: https://blog.sentry.io/2021/10/21/we-just-gave-154-999-dollars-and-89-cents-to-open-source-maintainers

  • Un modelo mental para crear proyectos alternos como un desarrollador independiente

    Tener un proyecto alterno es una de las mejores maneras de asegurarte que tu creatividad se mantiene vigente. Todos hemos tenido uno, y es casi seguro que tú, con tus habilidades de desarrollo, estés pensando en materializar alguna de tus ideas en tus tiempos libres.

    En esta publicación, el autor comparte su modelo mental para asegurarse de que puede seguir construyendo proyectos alternos de manera sostenible.

    Probar muchos proyectos alternos pequeñitos, incrementa tus probabilidades de tener éxito tanto, que hace que las cosas inciertas se vuelvan ciertas.ç

    Aquí los 4 principios para evitar el burnout al intentar tus siguientes proyectos alternos:

    1. Vive tu vida como normalmente lo haces
    2. Encuentra un empleo que te dé un salario estable
    3. Guarda energía para poder actuar cuando se te presente la oportunidad de crear un proyecto alterno
    4. Maneja deliberadamente tu bienestar mental/emocional.

    Enlace: https://raumet.com/framework

  • Una guía paso a paso explicando BGP, DNS y por qué se cayó Facebook el 4 de Octubre

    Nunca deja de sorprenderme lo complejo que es el mundo del Internet.

    Los videos de Ben Eater son de primera calidad. Si quieres conocer el cómo funcionan las computadoras, con un lenguaje realmente accesible, su contenido debería de estar en tu lista de reproducción continua.

     

  • Los desarrolladores ya no se preocupan por la fiabilidad de su software

    Buen rant sobre el estado actual de muchos proyectos de software.

    Todos hemos sentido esa desesperación de intentar enviar una forma en una página web y que, por alguna razón, falle con errores crípticos. Para muchas personas, una solución aceptable es recargar la página.

    Como personas que desarrollan software, estamos acostumbrados a pensar de manera lógica, tomando en cuenta el estado del programa para saber si deberíamos presionar o no algún botón. Pero como usuarios, estamos tan acostumbrados a lidiar con software hecho lo más rápido posible para ser el primero en el mercado, que hemos normalizado darle la vuelta a estos problemas de maneras completamente inaceptables.

    ¿Ya lo apagaste y volviste a prender?

    El autor cierra el rant con lo siguiente:

    Finalmente, deja que el dinero defina todo lo que haces. Sí, los desarrolladores tienen el tiempo contado y ese tiempo cuesta. Sí, los usuarios con necesidades molestas como accesibilidad e internalización son más caros de soportar que los retornos de inversión que generan. Pero lo tienes que pagar de todos modos. Es lo correcto. Podemos generar ganancias y ser empáticos. No pienses en ser el primero en el mercado, y mejor prioriza tener un buen producto para ofrecerle a tus clientes. Nuestros usuarios no son ganado. No es nuestro trabajo convertir su atención en dinero a su costa. Necesitamos tratar a nuestros usuarios con respeto, y eso significa probar nuestro código antes de mandarlo a producción.

    ?

    Enlace: https://drewdevault.com/2021/10/17/Reliability.html

  • Un botón de “no me gusta” mejoraría considerablemente las recomendaciones de Spotify

    Unos científicos se pusieron a estudiar cómo mejorarían las recomendaciones de Spotify si la plataforma te dejara decir, explícitamente, cuando no te gusta una canción.

    […] demostraron que es 20% más probable que a un usuario le guste una canción si el algoritmo que la recomienda fue entrenado por 400 mil “me gusta” y “no me gusta”.

    Este caso no es tan extremo, porque se trata de recomendaciones musicales. Pero en el mundo de Internet, cualquier aleteo de mariposa puede desatar un huracán.

    Tip: es importante recordar que un algoritmo que no ofrece igualdad de oportunidades para que resultados opuestos se manifiesten, es un algoritmo sesgado.

    Enlace: https://news.cornell.edu/stories/2021/09/dislike-button-would-improve-spotifys-recommendations

  • ¿La carrera de un desarrollador de software se termina a los 35?

    Cuando hablo de Soft Skills con “programadores de hueso colorado”, la reacción más prevalente es la de “¿por qué dejaría de programar, si es lo que más me gusta en la vida?” Pero la medida en que te guste algo no es siempre indicativo de los ánimos que tienes de hacerlo.

    Este artículo explora lo que sucede con algunos desarrolladores de software cuando cumplen 35 años. Esta es una edad interesante porque, digamos, si iniciaste a programar en tus veintes, a los 35 es probable que ya tengas una década, o más, de experiencia. 10 años haciendo lo mismo es suficiente tiempo como para comenzar a cuestionarte si te ves haciéndolo por otros 10. Para algunos, la respuesta es sí. Para otros, como yo, la respuesta es un resonante no.

    Algunas de las conclusiones a las que llega el autor:

    • Dejas de llamarte “programador” y comienzas a especializarte en resolver cierto tipo de problemas para el mejor postor
    • Pones tu negocio o startup
    • Te sales de la industria completamente

    Mi objetivo con Soft Skills para Devs y con mi newsletter, es ampliar el panorama de los desarrolladores de software de LATAM. Lo que quiero es ayudarte a que desarrolles habilidades que te permitan tener opciones para hacer un cambio en tu carrera cuando ya no quieras programar. ¿Estás lista?

  • Como pensar en términos de sistemas, de forma segura

    El mundo es tan diverso, y la historia de la humanidad tan amplia, que sería extremadamente raro que te toparas con un problema que no haya sido resuelto por alguien antes. Los Modelos Mentales te ayudan a extrapolar la experiencia de otras personas resolviendo cierta categoría de problemas, para que tú puedas tomar decisiones para problemáticas puntuales.

    Algunas reglas para que tengas cuidado cuando uses modelos mentales para resolver problemas:

    1. Cuando tu modelo mental y la realidad no concuerden, la realidad siempre gana
    2. Los modelos mentales no cambian, la realidad sí
    3. Todos los modelos omiten información; algunos modelos mentales omiten información crucial

    Tip: Si bien usar modelos mentales es una buena estrategia para hacer una aproximación a una respuesta acertada, no es garantía de que obtendrás respuestas correctas el 100 % de las veces.

    Si quieres conocer más sobre modelos mentales, te recomiendo que veas esta entrevista que me hizo Héctor, de The Dojo, hace unos meses.

    Enlace: https://lethain.com/how-to-safely-think-in-systems/

  • ¿Cuál es el peor escenario si deja de funcionar la región us-east-1 de AWS?

    Buen recordatorio de que la línea entre Internet y “la vida real” ya no existe.

    En esta publicación, Tim Bray explora qué es lo que podría ocasionar que la región us-east-1 de AWS dejara de funcionar. Y va un paso más allá, a explorar también cuáles serían las implicaciones en “la vida real” si esto llegara a pasar.

    Aunque es improbable, no es imposible. Aun así, la exploración del tema se me hizo bastante interesante, y creo que es una lectura que te puede dar mucho contexto del impacto de tu trabajo.

    Enlace: https://www.tbray.org/ongoing/When/202x/2021/10/08/The-WOrst-Case

  • Software Habitable

    En la industria del software estamos constantemente hablando de cómo hacer mejor software. Pero rara vez nos detenemos a preguntarnos qué, realmente, es lo que significa que una aplicación sea mejor.

    El autor de esta publicación ofrece una forma interesante para pensar acerca de esto: los programadores deberíamos de crear software habitable.

    La habitabilidad es la característica de un código fuente que le permite a programadores, codificadores, arregladores de errores y personas externas, integrarse a trabajar en él entendiendo su construcción e intención, para poder cambiarlo cómodamente y con confianza.

    Al crear software habitable, las personas que trabajan en él tendrán más oportunidades de crear valor para sus usuarios.

    Algunas cosas que contribuyen a hacer que un software sea inhabitable, por ejemplo: abuso de abstracciones innecesarias, sobreingeniería y atajos innecesarios.

    Enlace: http://akkartik.name/post/habitability

  • Enseñándole a un auto a estacionarse en 500 líneas de código

    Un tutorial sobre cómo enseñarle a un automóvil a estacionarse de manera autónoma, usando un algoritmo genético (un tipo de algoritmo que hasta hoy no sabía que existía).

    Sí, la implementación de código es interesante. Pero me gustaría orientar tu atención la forma en que el autor te lleva de la mano para explicarte el por qué y el cómo. Primero, comparte un bosquejo del plan. Luego, paso a paso, te va diciendo qué es lo que está haciendo, y por qué.

    Tip: recuerda que, cuando se trata de comunicar ideas y compartir conocimiento, es importante que conozcas a tu audiencia. Este artículo claramente está pensado para personas que tienen un entendimiento básico de inteligencia artificial, y que se están buscando mejorar sus habilidades con algoritmos genéticos. Observa cómo cada parte del artículo está cuidadosamente diseñado para ser útil para ese público.

    Enlace: https://trekhleb.dev/blog/2021/self-parking-car-evolution/