Acabo de concluir mi pasantía en el equipo de Producto en Asana el viernes pasado. Fui uno de los cuatro internos de Asana este verano (2013). Anteriormente, estaba en Facebook en el equipo de UIE (Ingeniería de interfaz de usuario).
¿Conclusión? Guau. Ha sido increíble, y realmente lo voy a extrañar.
Desde el principio, podría decir que Asana es realmente una gran familia .
En mi primer día, celebramos un baby shower sorpresa para uno de nuestros ingenieros. Todos trajeron fotos de bebés que usamos para un juego de adivinanzas después del almuerzo, ¡fue realmente lindo! El bebé nos sorprendió * a nosotros * poco más de un mes después, en un evento de boliche de la compañía 🙂
- Si tengo una oferta competitiva en otro programa de pasantías, ¿debo informar al departamento de recursos humanos de Google al respecto? ¿Si es así, cómo?
- ¿Puede un estudiante de CSE B.Tech de primer año obtener una pasantía?
- ¿Cómo fue la colocación de la rama mecánica en VIT Vellore para 2017?
- ¿Cuáles son algunos buenos programas de entrenamiento de verano en Mumbai que pueden ayudar en el futuro para las ubicaciones?
- ¿Cuánto juegan las pasantías en el proceso de solicitud de la facultad de derecho?
Mientras tanto, tuve que aprender a usar este poderoso y poderoso framework JavaScript llamado Luna . ¿Qué es Luna, preguntas? Gran pregunta: hay una pregunta de Quora (¿Qué es el marco de tecnología Luna de Asana? ¿Qué incluye y sobre qué está construido?) Y también una página en nuestro sitio web (Asana · Luna) dedicada a este tema. Para mí, las partes más importantes son:
- No frontend vs backend. Escribí mucho código en Asana, y todo era solo código de aplicación en JavaScript. Luna se encarga de la sincronización de datos cliente / servidor simulando la IU en el servidor y enviando los datos relevantes (control de acceso de módulo) a la caché del lado del cliente. Básicamente escribo <la mitad del código que normalmente escribiría para obtener la misma funcionalidad.
- Reactividad. Toda la IU se escribe de forma declarativa en función de los datos de los que depende. Por ejemplo, cuando llama a
desde una vista, Luna registra una dependencia en la propiedad deuser.name()
del objetoname
. Luego, cuando cambia el nombre de un usuario, Luna activará la vista para volver a calcular, automáticamente . Puede declarar límites reactivos de nivel superior para limitar el recálculo a ciertas partes de la interfaz de usuario.User
Luna me facilita enormemente la creación de funciones realmente geniales, muy rápido. Por supuesto, es nuevo, por lo que no es exactamente una navegación suave. Hay un proceso continuo de averiguar cuáles son las mejores prácticas de codificación. Algunos de los códigos que estaba leyendo y escribiendo en mi primera semana seguían patrones que definitivamente eran malos en la segunda semana, lo que mantenía las cosas interesantes. Por otro lado, me sentí capacitado para hacer cambios a nivel de marco con bastante frecuencia para que las cosas funcionen como yo quiero, lo cual es increíble.
El proceso de incorporación en su totalidad probablemente tomó alrededor de dos semanas. Durante este tiempo, tuve la oportunidad de conocer a grandes personas de todo el equipo, todo mientras aprendía sobre Luna. En el momento de escribir este artículo, Asana tiene 45 empleados y 18 ingenieros (Asana · Team), y todos son realmente impresionantes.
Por cierto, también tuve que acostumbrarme a una buena comida. A menudo escuchas sobre buena comida en grandes empresas tecnológicas, pero en realidad no es lo mismo cuando tienes que cocinar para cientos o miles de personas a la vez. Tenemos dos súper chefs dedicados Donnie + Kim y el trabajo que hacen es fenomenal y súper saludable (¡mira! @ Asanaculinary en Instagram). Incluso puedes hacer pedidos especiales en tu cumpleaños 😉
—-
Aquí hay algunos otros aspectos destacados de mi experiencia:
- Atención a los detalles. Los diseñadores de Asana realmente se preocupan por la experiencia del usuario hasta el nivel de píxeles, lo cual es genial porque el resultado termina funcionando como debería y sintiéndose realmente pulido.
- Equilibrio en todas las cosas. Si observa los valores centrales de Asana (Asana · Acerca de nosotros), verá que aproximadamente la mitad de ellos están relacionados con el equilibrio de alguna manera. Se alienta a las asanas a vivir estilos de vida saludables y equilibrados que cultiven una cultura empresarial muy positiva y energizante. Eso incluye clases de yoga gratuitas y algunos eventos de empresa muy relajantes.
- Almuerzos de aprendizaje. Cada dos semanas, alguien en el equipo hará una presentación sobre su trabajo o simplemente algo que les parezca interesante. Por ejemplo, dos de los almuerzos de aprendizaje celebrados este verano fueron WTF es PR Anyway y Single Malt Scotch Whisky (!).
- Círculo de emoción. Cada dos semanas, toda la compañía se reúne en un círculo donde todos hablan sobre algo que les entusiasma, ya sea un próximo lanzamiento del producto, una historia de éxito del cliente o un evento de la compañía. Ayuda a todos a sentirse más abiertos y conectados entre sí en nuestra misión compartida.
En mi segundo último día, Asana les dio a los pasantes una fiesta de despedida completa con cerveza pong y botín sorpresa. ¿Qué tan asombroso es eso?
Gracias por el verano, muchachos.