Joel Spolsky | |
---|---|
Nacido | 1965 (edad 58-59) Albuquerque , Nuevo México, Estados Unidos |
Nacionalidad | Estadounidense, neozelandés , israelí, doble nacionalidad [1] |
Alma máter | Universidad de Yale |
Ocupación(es) | Desarrollador de software , CEO, cofundador de Stack Exchange Network , Stack Overflow , Fog Creek Software y Trello |
Sitio web | joelonsoftware.com |
Avram Joel Spolsky (nacido en 1965) es un ingeniero de software y escritor. Es el autor de Joel on Software , un blog sobre desarrollo de software, y el creador del software de gestión de proyectos Trello . [2] Fue gerente de programas en el equipo de Microsoft Excel entre 1991 y 1994. Más tarde fundó Fog Creek Software en 2000 y lanzó el blog Joel on Software . En 2008, lanzó el sitio de preguntas y respuestas para programadores Stack Overflow en colaboración con Jeff Atwood . Usando el producto de software Stack Exchange que impulsa Stack Overflow, la red Stack Exchange ahora alberga más de 170 sitios de preguntas y respuestas.
Es posible que sea necesario limpiar esta sección para cumplir con los estándares de calidad de Wikipedia . El problema específico es: WP:PROSELINE . ( febrero de 2023 ) |
Spolsky nació de padres judíos y creció en Albuquerque , Nuevo México, y vivió allí hasta los 15 años. [3] Luego se mudó con su familia a Israel , donde asistió a la escuela secundaria y completó su servicio militar en la Brigada de Paracaidistas . [3] Fue uno de los fundadores del kibutz Hanaton en la Baja Galilea . [4] En 1987, regresó a los Estados Unidos para asistir a la universidad. Estudió en la Universidad de Pensilvania durante un año antes de transferirse a la Universidad de Yale , donde fue miembro del Pierson College y se graduó en 1991 con una licenciatura summa cum laude en informática . [3]
Spolsky comenzó a trabajar en Microsoft en 1991 [5] como gerente de programas en el equipo de Microsoft Excel , donde diseñó Excel Basic e impulsó la estrategia de Visual Basic para aplicaciones de Microsoft . [6] Se mudó a la ciudad de Nueva York en 1995, donde trabajó para Viacom y Juno Online Services . [3] En 2000, fundó Fog Creek Software y creó el blog Joel on Software . [5] Joel on Software fue "uno de los primeros blogs creados por un propietario de negocio". [7]
En 2005, Spolsky coprodujo y apareció en Aardvark'd: 12 Weeks with Geeks , un documental que documenta el desarrollo de Fog Creek del Proyecto Aardvark , una herramienta de asistencia remota. [8]
En 2008, Spolsky cofundó Stack Overflow , [9] un sitio web comunitario de preguntas y respuestas para desarrolladores de software, junto con Jeff Atwood . Se desempeñó como director ejecutivo de la empresa hasta que Prashanth Chandrasekar lo sucedió en el cargo el 1 de octubre de 2019. [10] Después de la venta de Stack Overflow en junio de 2021 por $1.8 mil millones, Spolsky renunció como presidente de la empresa. [11]
En 2011, Spolsky lanzó Trello , una herramienta de gestión de proyectos en línea inspirada en la metodología Kanban . [12] La herramienta fue adquirida por Atlassian en enero de 2017 por 425 millones de dólares. [13]
En 2016, Spolsky anunció el nombramiento de Anil Dash como nuevo director ejecutivo de Fog Creek Software, y Spolsky continuó como director ejecutivo de Stack Overflow y como miembro de la junta directiva de Fog Creek Software. Desde entonces, la empresa pasó a llamarse Glitch . [14] Tras su venta a Fastly en mayo de 2022, Spolsky renunció como presidente. [15]
En 2019, Spolsky reveló que era el presidente de la plataforma de datos de código abierto, HASH. [16]
Es autor de cinco libros, entre ellos User Interface Design for Programmers y Smart and Gets Things Done . También es el creador de "The Joel Test". [17]
Spolsky acuñó el término fix it twice para referirse a un método de mejora de procesos. Implica una solución rápida e inmediata para reparar un incidente y una segunda solución, más lenta, para evitar que el mismo problema vuelva a ocurrir atacando la causa raíz . [18] Su uso del término algoritmo de Shlemiel el pintor , [19] refiriéndose a un algoritmo que no es escalable debido a que realiza demasiadas acciones redundantes, fue descrito por Scott Rosenberg de salon.com como un ejemplo de buena escritura "sobre su mundo insular de una manera que gana el respeto de sus colegas y la atención de los forasteros". [20]
Spolsky hizo una aparición en la Conferencia WeAreDevelopers 2017, donde explicó cómo los desarrolladores están escribiendo el guión del futuro. [21] En su discurso, Spolsky habla de cómo el software se está comiendo el mundo, de cómo esto se está haciendo más evidente en la vida cotidiana a medida que las personas interactúan con más software día a día, y de cómo los desarrolladores están ayudando a dar forma a cómo funcionará el mundo a medida que la tecnología sigue evolucionando. Utiliza la metáfora "somos solo pequeños vegetales flotando en una sopa de software", refiriéndose a nuestro uso constante del software para las actividades más mundanas, incluido el trabajo, las redes sociales e incluso tomar un taxi.
En 2015, Spolsky anunció su matrimonio con su esposo, Jared, en las redes sociales y su blog. [22] [23] [24] Vive en el Upper West Side de Manhattan . [22]
En el desarrollo de software, un algoritmo de Shlemiel el pintor (a veces, algoritmo de Shlemiel el pintor , que no debe confundirse con " algoritmo del pintor ") es un método que es ineficiente porque el programador ha pasado por alto algunos problemas fundamentales en los niveles más bajos del diseño de software . El término fue acuñado en 2001 por Spolsky, quien usó un chiste yiddish para ilustrar cierta mala práctica de programación: Schlemiel (también traducido como Shlemiel) consiste en pintar las líneas de puntos en el medio de una carretera. Cada día, Schlemiel pinta menos de lo que pintó el día anterior y se queja de que es porque cada día se aleja más de la lata de pintura y le lleva más tiempo volver y poner pintura en su pincel. [25]
La ineficiencia con la que Spolsky estaba haciendo una analogía era la mala práctica de programación de la concatenación repetida de cadenas terminadas en nulo al estilo C. [25] El primer paso en cada implementación de la función de la biblioteca estándar de C para concatenar cadenas es determinar la longitud de la primera cadena verificando cada carácter para ver si es el carácter nulo de terminación . A continuación, la segunda cadena se copia al final de la primera.
En el ejemplo de Spolsky, los "Schlemiels" ocurren cuando se concatenan varias cadenas entre sí:
strcat ( buffer , "John" ); // Aquí, la cadena "John" se agrega al buffer strcat ( buffer , "Paul" ); // Ahora la cadena "Paul" se agrega a esa strcat ( buffer , "George" ); // ... y "George" se agrega a eso strcat ( buffer , "Ringo" ); // ... y "Ringo" se agrega a eso
Después de que "Paul" se ha añadido a "John", la longitud de "JohnPaul" (o, más precisamente, la posición del carácter nulo de terminación) se conoce dentro del alcance de strcat()
pero se descarta al final de la función. Después, cuando strcat()
se le dice a "JohnPaul" que añada "George" a "JohnPaul", strcat()
comienza en el primer carácter de "JohnPaul" (que es "J") de nuevo solo para encontrar el carácter nulo de terminación. Cada llamada posterior a strcat()
tiene que calcular la longitud nuevamente antes de concatenar otro nombre a buffer
. Análogo a Schlemiel que no lleva consigo el balde de pintura (o la longitud de la cadena), todos los strcat()
s posteriores tienen que "caminar" nuevamente por la longitud de la cadena para determinar dónde se debe copiar la segunda cadena. A medida que se agregan más datos a buffer
con cada llamada a strcat()
, ese carácter nulo de terminación también se aleja más del principio, lo que significa que las llamadas posteriores son cada vez más lentas.
Los problemas ilustrados por el ejemplo de Spolsky no son detectados por un programador que utiliza un lenguaje de alto nivel y tiene poca o ninguna comprensión de cómo funciona la implementación del lenguaje, incluido algún conocimiento básico de sus principios y funciones subyacentes.