¿Qué hace un desarrollador de craigslist?

Bien…

Hay muchas cosas que los ingenieros de software hacemos en Craigslist. Y, como su pregunta implica, gran parte de esto no es visible, y la cantidad de esfuerzo que se dedica a las cosas visibles a menudo se subestima.

Déjame leer algunas cosas que se me ocurren en la cabeza …

Herramientas internas

Como puede imaginar, tenemos una serie de “usuarios” internos (atención al cliente, finanzas, etc.) y todos ellos necesitan herramientas para ver las publicaciones de craigslist, cuentas, datos sobre publicaciones y cuentas, actividad agregada del sitio, etc. Alguien tiene que construir, mantener y mejorar todas esas herramientas.

Nuevas características

En el último año, hemos introducido mapas (y los hemos refinado varias veces), así como también hemos mejorado significativamente nuestro sistema de correo electrónico anónimo. Hemos aumentado el tamaño de las imágenes alojadas en craigslist, el diseño de publicación y la cantidad de imágenes por publicación.

Y tenemos varias características nuevas que estamos probando internamente que probablemente aparecerán en poco tiempo.

Lidiando con la Escala y el Crecimiento

Nuestro tráfico está aumentando. Nuestro volumen de datos está aumentando. Se requiere una cantidad sorprendente de esfuerzo para mantenerse al día con ese crecimiento (a pesar de que es un crecimiento bastante predecible) y los datos que se generan. Cada vez que agregamos una nueva característica, tenemos que tener en cuenta los efectos que tendrá en otras partes de los sistemas craigslist y planificar / ajustar en consecuencia.

Ha pasado un tiempo desde que miré, pero estoy bastante seguro de que vemos más de mil millones de visitas por día. Cada día.

Mantener las cosas malas fuera del sitio

Debido a que tenemos una base de usuarios tan grande (o “audiencia” como a algunos les gusta decir), también vemos nuestra parte de malos actores tratando de aprovecharse de las personas. Se requiere mucho trabajo para tratar de minimizar el grado de éxito. Obviamente esta es un área donde no puedo entrar en detalles. Pero seguro que es interesante. 🙂

Tecnología

Solo para darle una idea, en la lista de craigs de software había una tienda de Perl hasta hace unos años. Sin embargo, recientemente hemos construido algunas de nuestras infraestructuras más nuevas en JavaScript del lado del servidor (Haraka), así como algunas Python. Fuimos los primeros en adoptar Redis, agregamos MongoDB a nuestra pila y hemos realizado una gran cantidad de refactorización CSS y JavaScript no tan visibles para soportar mejor los dispositivos móviles y ponerse al día con las prácticas modernas.

En el lado del hardware, hemos aprovechado el almacenamiento flash y todos los beneficios que ofrece en nuestros sistemas de datos.

Es realmente un lugar divertido para trabajar como ingeniero. 🙂

Es como preguntar por qué los arquitectos siguen construyendo casas, cuando todas parecen casas.
Craigslist (supongo) no se ejecuta en los mismos servidores, plataformas o idiomas que usaron en su primera iteración. Hay actualizaciones incrementales o revisiones importantes. Incluso si las cosas se ven igual, hay cambios detrás de escena. Actualizaciones de seguridad, actualizaciones de idioma, adiciones de funciones.
No soy un gran fanático de craigslist, lo reviso de vez en cuando, pero puedo ver que se requiere un tiempo de desarrollo continuo para mantenerlo y para implementar actualizaciones de desarrollo (en lugar de cosméticas).