Actualización (agosto de 2015): ¡ Esta respuesta está casi desactualizada ahora! Hay mucho más Java y Golang y mucho menos Postgres y JRuby / REE. Afortunadamente, Square ha abierto muchos proyectos, lo que puede brindarle una visión mucho más precisa de las tecnologías utilizadas para construir el servicio. Echa un vistazo a Square’s Github: http://square.github.io/ y al blog de tecnología: https://corner.squareup.com/
Estamos haciendo la transición del frente ahora mismo. Las partes desconectadas del sitio aún serán mejoradas en HTML con jQuery, pero las porciones iniciadas se están reescribiendo para usar Ember.js.
Los servicios de fondo están escritos en Ruby y Java. Estamos trasladando todos nuestros servicios a la JVM. Tenemos un servicio (el más grande y el más antiguo) que se ejecuta en REE 1.8.7, pero todos los más nuevos son aplicaciones Rails 3 que se ejecutan en JRuby o servicios web Java. Implementar y ejecutar en JRuby ha sido una molestia sorprendentemente grande, pero estamos escribiendo mucha infraestructura para hacerlo mucho más fácil.
- Cómo acceder a Internet si el gobierno lo cerró para causar un apagón de información
- ¿Hay algo hecho por el hombre que nunca se le dio un nombre?
- ¿Cuál es la mejor tableta Android para comprar para un estudiante universitario?
- ¿Qué es la impresión 3D? ¿Cómo funciona?
- ¿Es posible que nuestra tecnología desaparezca si nos extinguimos?
En el lado de Java, hemos desarrollado nuestro propio marco de servicio que ha incorporado el registro (Log4J), las métricas (codahale / metrics), RPC (Protobuf + TCP + SSL), contenedorización, etc., construido sobre herramientas de código abierto bien conocidas.
Utilizamos Postgres, MySQL, HDFS y archivos de registro para almacenar datos, junto con Redis para obtener información transitoria que estamos de acuerdo con perder. Estamos explorando algunos almacenes de datos más exóticos, particularmente a medida que comenzamos a buscar la ejecución de múltiples centros de datos.
Hospedamos nuestros propios servidores por razones de seguridad. Actualmente estamos trabajando mucho para facilitar la puesta en marcha de nuevos servidores y servicios, distribuir configuraciones y, por supuesto, mantener todo seguro.
Por supuesto, también tenemos nuestras aplicaciones para iOS y Android. No he trabajado directamente en ellos, tal vez uno de los otros ingenieros puede hablar más sobre ellos.
Si algo de esto suena como algo interesante para trabajar, ¡ponte en contacto conmigo!