Cómo pararse sobre los hombros de gigantes.

"Si he visto más lejos que otros, es subiéndome a hombros de gigantes". - Isaac Newton

En 1676, Isaac Newton se refirió a los grandes pensadores que le precedieron como "gigantes". Sus ideas le ayudaron a descubrir nuevas ideas propias.

340 años después, los gigantes son mucho más altos. Están por todas partes, no solo en los libros, como en la época de Newton. Están en revistas académicas abiertas. Proyectos de código abierto. Conjuntos de datos abiertos.

Con una conexión a Internet, puede pararse sobre los hombros de tantos gigantes como desee.

Pero la mayoría de las personas no se dan cuenta de cuánto verían si se molestaran en trepar allí. La mayoría de las personas creen que pueden ver lo suficientemente lejos de donde ya están. La subida no parece que valga la pena el esfuerzo.

Antes de poder pararse sobre los hombros de gigantes, debe aceptar que no lo ve todo. Debes reconocer cuánto hay por ahí que solo estos gigantes pueden mostrarte.

Ubuntu

"Soy lo que soy por quienes somos todos". - Traducción al inglés de la palabra zulú "Ubuntu"

Incluso en la oscuridad de la prehistoria humana, comenzamos a descubrir algunas cosas interesantes.

Empezaron a surgir gigantes, basados ​​en la tradición oral. Luego libros.

Combinamos conocimiento sobre conocimiento. Y los gigantes crecieron.

A lo largo de los eones, descubrimos algunas ideas geniales y construimos algunas cosas geniales. Cosas que vale la pena usar.

Pero todos los días, miles de personas ignoran estas cosas. Dicen: "Lo sé, construiré esta cosa nueva desde cero".

Y se embarcan en un viaje costoso para construir sus sueños desde cero.

Gastamos mucho dinero en software. Aproximadamente el 60% de los $ 2.5 billones que gastamos en tecnología cada año se destina al desarrollo de software y a los servicios de consultoría de software.

Eso es un billón y medio de dólares. Suficiente para adquirir Instagram 1.500 veces. Todos los años.

Y no siempre obtenemos el valor de nuestro dinero.

No inventado aquí

Los humanos tienen demasiada confianza. Creemos que podemos reinventar la rueda y que nuestra versión será mejor.

Quién sabe, tal vez la rueda pueda mejorarse. Pero si estamos tratando de diseñar algo más complicado, como un automóvil, ¿realmente queremos pasar todo nuestro tiempo reinventando ruedas?

Está en nuestra naturaleza querer construir cosas nosotros mismos.

Nos encantan los productos integrados verticalmente como Ferraris, Rolex y iPhones.

Admiramos la artesanía que entra en cada detalle.

Nos maravillamos de cómo el diseño, la fabricación y la distribución fluyen juntos en un proceso controlado.

Y queremos toda esa pila para nosotros también.

Pero al hacerlo, caemos presa de una mentalidad paralizante llamada No inventado aquí.

"El síndrome no inventado aquí es la tendencia de un grupo de proyecto a creer que posee el monopolio del conocimiento de su campo, lo que lo lleva a rechazar nuevas ideas de personas ajenas, en detrimento probable de su desempeño". - Ralph Katz y Thomas J. Allen de MIT Sloan School of Management

Aquí hay un PDF del artículo más citado sobre No inventado aquí, publicado originalmente en 1982, en caso de que quiera conocer la gravedad de sus hallazgos.

Lo que este artículo no le dice es que 34 años después, seguimos cayendo en el mismo sesgo cognitivo de siempre.

Un ejemplo reciente de Not Invented Here es la plataforma de cursos en línea Swayam de la India. Podrían haberse construido sobre la plataforma de cursos de código abierto de edX de forma gratuita. Docenas de otras organizaciones lo hicieron, incluida la popular plataforma XuetangX de China.

En cambio, Swayam gastó $ 6 millones en la construcción de una plataforma propia. Y gastarán millones más en los próximos años para mantener esta solución personalizada.

Puede que esto no parezca mucho dinero, pero coloque esa cifra en el contexto de los $ 30 millones que presupuestaron para pagar a los maestros para crear los cursos. Y esto también retrasó su fecha de lanzamiento en dos años.

Not Invented Here comienza de manera bastante inocente ...

“¿Por qué deberíamos usar WordPress para nuestro blog? Los blogs no son difíciles. Construyamos nuestro propio CMS ".

Entonces la gente se vuelve más atrevida y empieza a pensar ...

“¿Por qué deberíamos utilizar Sugar CRM para realizar un seguimiento de los donantes? El seguimiento de donantes no es difícil. Construyamos nuestro propio CRM ".

Lo que solo anima más a las personas a proponer cosas como:

“¿Por qué deberíamos usar AWS? La nube no es difícil. Construyamos nuestro propio centro de datos e implementemos nuestra propia nube privada ".

Si no se controla, esta mentalidad puede llevar a proyectos como CuidadoDeSalud.gov, un proyecto de $ 90 millones que terminó costando a los contribuyentes estadounidenses $ 1.7 mil millones.

Yo era una de las millones de personas que desperdiciaron horas de sus vidas tratando de inscribirse en un seguro médico, solo para ser frustradas por errores de JavaScript y servidores que no respondían.

En medio del colapso de Healthcare.gov, tres desarrolladores de San Francisco decidieron comprar algunos componentes listos para usar. Integraron algunas API públicas. Construyeron partes significativas de la funcionalidad de Healthcare.gov. E hicieron todo esto en solo unas pocas semanas, por unos cientos de dólares.

Una historia de pararse sobre los hombros de gigantes. Mío.

Hace dos años, quería comenzar una comunidad donde las personas ocupadas pudieran aprender a codificar juntas.

Acababa de pasar 18 meses creando una gran solución personalizada: un motor de recomendación de cursos que resultó que nadie quería usar.

Así que decidí ir exactamente en la dirección opuesta. Escribiría tan poco código como fuera necesario y, en cambio, me concentraría en usar el código de otras personas.

Entonces, ¿qué necesitaba la comunidad?

  1. una forma de comunicarse entre nosotros
  2. un blog donde todos puedan compartir sus ideas e historias personales
  3. un plan de estudios y una forma de seguir el progreso de las personas a través de él

El viejo yo no inventado aquí propenso a tener:

  1. construyó una sala de chat utilizando sockets web, luego construyó las herramientas de moderación, varias integraciones de API y descubrió una buena manera de conservar los mensajes en las sesiones.
  2. construyó un blog desde cero, resolvió problemas de diseño como legibilidad, etiquetado, incrustación y características básicas que la gente espera, como RSS.
  3. construyó un CMS personalizado para los desafíos de codificación interactiva, luego construyó el sistema de perfiles, luego diseñó e implementó un plan de estudios de programación básico.

Este último paso probablemente me hubiera llevado años hacerlo por mi cuenta.

Y antes de que me digas “en esta época, nadie es tan tonto como para lanzar su propio blog”, bueno, aparentemente lo era, porque pasé unos días haciendo precisamente eso. Unos días que nunca volveré.

Pero esto es lo que decidió hacer mi nuevo yo, recién salido de un descenso de 18 meses al infierno Not Invented Here.

No conocía ningún Node.js en ese momento. Pero conocía a gente inteligente que me convenció de que JavaScript de pila completa era el futuro.

También conocía Hackathon Starter, un popular código estándar de código abierto de Node.js. Así que lo bifurqué.

Dado que había pasado los últimos 18 meses recogiendo, auditando y clasificando miles de cursos en línea, sabía cuáles cubrían mejor la programación y la informática. Entonces, en lugar de diseñar un plan de estudios, seleccioné los recursos existentes.

Para la sala de chat, solo usé HipChat. Para el blog, acabo de usar Blogger.

Y en 3 días, la nueva comunidad estaba activa.

Es difícil predecir cómo evolucionará una solución con el tiempo. Aprendes mucho simplemente enviando la maldita cosa.

Si comienza a usar soluciones listas para usar de inmediato, puede cambiarlas más tarde y ajustar las cosas a medida que avanza.

Con el tiempo, nuestra comunidad ha realizado miles de pequeños ajustes basados ​​en comentarios. También trasladamos nuestras salas de chat a Gitter y el blog de nuestra comunidad a Medium.

Una vez que tuvimos una masa crítica de contribuyentes de código abierto, nos pusimos a trabajar en el diseño e implementación de nuestro propio plan de estudios de 1200 horas.

Hoy, más de 5,000 personas de nuestra comunidad han aprendido a codificar lo suficientemente bien como para obtener sus primeros trabajos de desarrollador.

Pero si no me hubiera resistido a mis tendencias de No Inventado Aquí, nunca habría despegado las cosas.

Cómo pararse sobre los hombros de gigantes.

Te dejo con tres sencillos consejos para aprovechar al máximo los miles de años de conocimientos que tienes a tu alcance.

Consejo n. ° 1: aprenda a reconocer No inventado aquí en usted y en los demás.

Acepte que está en nuestra naturaleza querer construir cosas nosotros mismos. El lado positivo de esto es que un aficionado construye sus propios muebles. El lado oscuro es un desarrollador que desarrolla su propia seguridad.

Consejo n. ° 2: aprenda qué herramientas existen.

La forma más fácil de comprender qué tipos de herramientas están disponibles es continuar haciendo lo que está haciendo ahora mismo: leer sobre tecnología.

La mayoría de los proyectos de código abierto más importantes están en GitHub, donde puede ver su documentación. Puede implementar muchas de estas herramientas en minutos en su propio servidor en la nube.

Consejo n. ° 3: lee el historial.

Estoy seguro de que su profesor de historia de la escuela secundaria le citó esto, y tenían razón:

"Los que no leen la historia están condenados a repetirla". - George Santayana en 1905

Hay muchos libros excelentes sobre la historia de la tecnología. Recomiendo este de Walter Isaacson, el mismo tipo que escribió las famosas biografías de Albert Einstein y Steve Jobs. Se trata específicamente de la historia del software:

Los innovadores: cómo un grupo de hackers, genios y geeks crearon la revolución digital

Editar descripción amzn.to

Los gigantes están ansiosos por alzarte sobre sus hombros. Déjalos. Te darán una idea de cuántos problemas quedan todavía, esperando a que los resuelvas.

Solo escribo sobre programación y tecnología. Si me sigues en Twitter no perderé tu tiempo. ?