¿Cómo es ser ingeniero de software en CloudFlare?

He estado en CloudFlare desde que era una startup de 20 personas y trabajé en gran parte del software que se ejecuta detrás de escena. Hemos crecido increíblemente rápido durante ese tiempo y potenciamos un porcentaje significativo de HTTP / HTTPS en Internet. Ahora también somos uno de los (o los, según la encuesta) proveedores de DNS autoritativos más grandes del mundo.

Probablemente haya usado CloudFlare hoy sin darse cuenta.

¿Cómo es ser ingeniero de software aquí?

Fascinante. Ocupado. Desafiante.

Impulsamos un porcentaje significativo de las solicitudes de Internet. Eso genera todo tipo de desafíos interesantes. Eso hace que la ingeniería de software sea interesante. También nos atacan constantemente. Eso crea sus propios desafíos de ingeniería de software.

Considere un par de cosas sobre cualquier pieza de software que escriba en CloudFlare: verá la heterogeneidad completa de Internet; si se rompe, grita gente de todo el mundo.

Vemos todos los tipos de navegador (y me refiero a todo, desde teléfonos con estilo de barra de caramelo en una conexión poco fiable en África occidental hasta la última máquina que ejecuta la última versión de Chrome a través de cada combinación intermedia) y cada tipo de solicitud (genuina y falsa ) Todos los días. Si hay errores en su software, casos extraños en las esquinas, etc., aparecerán rápidamente.

Además, debido al alcance de CloudFlare si rompe algo, la gente lo notará. La belleza de trabajar aquí es que su software se usará y las cosas que usted tiene impacto (solo mire cuando le dimos a todos SSL gratis: el doble del número de sitios HTTPS en el mundo; o cuando le dimos SPDY a todos; implementamos IPv6 ; …); Lo malo es que si cometes un error, se romperá … rápido.

También tenemos toneladas de desafíos interesantes. por ejemplo, ¿cómo utiliza un hardware mínimo para manejar 10 billones de solicitudes por mes con una latencia mínima? ¿Cómo se aseguran las máquinas en todo el mundo? ¿Cómo procesa la información de registro lo suficientemente rápido como para detectar ataques en tiempo real? ¿Cuál es la mejor manera para que una empresa como CloudFlare use HTTP / 2? ¿Cuál es la mejor manera de manejar un ataque de 10Mpps usando una sola CPU? ¿Cómo podemos aprender de las solicitudes que pasan por CloudFlare para detectar y desviar automáticamente los ataques de Capa 7? ¿Son significativos webp y JPEG XR?

Debido al alcance de CloudFlare, hay mucho por hacer y una gran cantidad de solicitudes de características y mejoras que hacer. A menudo tengo mucho que hacer y tengo que tener cuidado con la priorización. En mi carrera, probablemente ha sido la compañía más fascinante en la que he trabajado porque tenemos toneladas de clientes que hacen demandas reales 24/7 en todo el mundo; muchas nuevas empresas tienen el lujo de no tener muchos clientes 🙂

Hay muchos desafíos, ya que hemos crecido increíblemente rápido y tenemos agujeros (roles que llenar en todas partes). Necesitamos mucho personal adicional para atacar la larga lista de características que queremos construir. Así que me dedico bastante tiempo a la contratación.

En general, creo que el software que escribo marca la diferencia para la mayoría de las personas que usan Internet todos los días.

More Interesting

¿Por qué la gente dice que los proyectos de Android son pequeños y que a los desarrolladores se les paga menos en comparación con los de Java, SAP, etc.?

¿Qué es mejor, desarrollador de software o diseñador gráfico?

Cómo hacer una valoración monetaria de un software desarrollado internamente

¿En qué trabajan los desarrolladores de software en empresas como WhatsApp una vez que su software está actualizado?

Cómo encontrar desarrolladores interesados ​​en trabajar en proyectos de código abierto

¿A todos los desarrolladores de software talentosos les encanta competir con otros desarrolladores?

¿Para qué lenguaje de programación hay más trabajos de desarrollador o programador junior en la costa este de Estados Unidos?

Los reclutadores técnicos y los gerentes de contratación de software me llaman entusiasmado con mi currículum, pero cuelgan desilusionado y me dicen que no encajo bien. Me temo que soy un mal programador, pero paso 24/7 trabajando y estudiando software. ¿Qué estoy haciendo mal?

¿Cuáles son las especificaciones de las computadoras que usan los desarrolladores de software más profesionales?

Mi amigo dijo que no debería construir una startup si quiero convertirme en un buen desarrollador de software porque no tendría tiempo para hacer negocios y programar al mismo tiempo, ¿verdad?

¿Cómo puedo desarrollar software en un equipo?

¿Cuál es el mejor campo de desarrollo de software para perseguir?

¿Quién escribe una solicitud de propuesta en desarrollo de software?

¿Cuál es la diferencia entre el ingeniero Build-Release y el desarrollador de software?

Soy un desarrollador de software que trabaja en asp.net MVC. ¿Qué tecnología web debo aprender a continuación?