39. Gamestop y Robinhood desde adentro
Funding Engineer es en gran parte un llamado a las personas que están mentalmente preparadas a pasar al mal tramo del principio de una empresa. Literalmente son programadores que salvan a las startups de morir. Bienvenidos a Tecnología Informal, un espacio para hablar de carrera, de inversión, de producto, de cultura y de todo lo relacionado con startups. Yo soy Gabriel Ben Mergui, y soy un programador con más de una década de experiencia viviendo y trabajando en California, Estados Unidos. La industria se fue decantando en varios perfiles que se pueden ver en los job postings con nombres y criterios específicos.
En el episodio de hoy, vamos a revisar estos perfiles, qué lenguajes están usando y ver cuáles son las expectativas de los empleadores. Los perfiles más populares de startups son back end, front end, full stack, product engineer, funding engineer, devups y sre. Un sitio web muy práctico para ver qué es importante de aprender para cada rol está disponible en roadmap dot s. Vayamos en orden. Si una vez la división de programadores por perfil, el más popular es backend.
Un equipo de producto completo de ocho personas puede tener tres backend engineers, mientras que los front end se dividen por plataforma y son menos numerosos. Los backend dedicados implementan los sistemas con la lógica de negocio y la interfaz para que se puedan crear experiencias de usuarios en aplicaciones clientes o APIs para clientes programáticos. Al principio, la mayoría de las startups tienen una estructura de monolito, una sola aplicación para todo. Los frameworks populares de los monolitos son Rails para Ruby, Jango o Flask para Python y Nest o simplemente Express para NodeJS. A medida que crece el tráfico contra estos sistemas de monolito, los back end tienen que entender sobre bases de datos, SICK, el MongoDB, Redis, Memcashhed, para poder armar cases, indexar y organizar la data de una manera técnicamente eficiente.
Después vienen casos de uso específico con tecnologías y subsistemas, cuees para procesamiento, indexadores para búsquedas o Kafka para manejar eventos. BackEnd está cerca del metal, tiene que tener nociones de sistemas operativas y computadoras para entender uso de memoria, espacio de disco, CPU, networking y otros conceptos generales de computación, que hoy en día se hace casi exclusivamente con cloud computing, principalmente AWS. Para usos más específicos como microservicios o herramientas de desarrollo o procesamiento están Golang y REST. Los backend terminan haciendo también muchas APIs, Rust para servicios externos y GraphQL para servicios internos. Esto les ahorra tener que trabajar en el área de front end o mobile completamente.
Pasemos a front end. Front end es un perfil designado para crear experiencias en HTML, CSS y JavaScript para páginas web. Previo a React, la mayoría del front end se hacía escribiendo el HTML en el servidor y el JavaScript corriendo en el cliente. Post React front end se volvió más desacoplado el HTML se genera directamente en los browser mismo o en un servidor dedicado de Frontend. Aún las startups más chicas han separado la generación del Frontend del backend enteramente.
El frameworking discutido del momento es Next.js, de Guillermo Rauch, que digamos orgullosamente, es argentino. Un front end se encarga de utilizar una app interna y generar la aplicación que va a andar en el browser. Por cómo se arma una aplicación y se manda el browser, frontend involucra entender de tooling como transpiladores, preprocesadores, empaquetadores, sofuscadores y más. Entender al browser y cómo funciona es clave, cómo usar las herramientas de desarrollo, usar los perfiladores, la simulación de consola o leer request de HTTP. También uno va a terminar teniendo que entender de infraestructura de la web.
Empresas como Verceld resuelven muchos de los desafíos por voz, pero aún así hay que entender de CDNs, de cashing o la nueva moda de serverless o Edge functions para poder entregar una aplicación de categoría global. Para mí, Frontend no es una disciplina difícil, pero filtra a la mayoría de los desarrolladores por la parte estética. En este perfil es importante tener nociones básicas de diseño, poder ver rápidamente qué está mal a ojo, qué hay que corregir y qué es distinto a la implementación de lo que quieren los diseñadores en un Figma. Aunque la mayoría del trabajo de front end es similar, para volverse excepcional uno se puede especializar en infraestructura de la web, en tooling o en diseño de sistemas o UI. Una vez que sabemos qué hacen los front end y los back end, vemos a los full stack, los que tienen que hacer un poco de todo.
Como pasa en toda la organización económica, la especialización en cada rol va a depender principalmente del tamaño de la organización. A medida que tenés más programadores, cada uno va especializándose en una faceta particular de los sistemas. Pero al principio la superficie no es tan grande y para evitar que haya demasiadas dependencias entre programadores, para que un programador solo pueda traer una implementación de punta a punta a producción, producción, se busca un perfil más generalista. La evolución de los full tag desde que yo empecé en la industria fue sorprendente. Primero eran programadores que escribían código en algún lenguaje, como Java, Ruby o Python, para la lógica de negocio, y también escribía el HTML.
A medida que las experiencias web se iban haciendo más ricas con JavaScript, era el sueño poder escribir todo el stack con el mismo idioma. Esa era la promesa de Node.js, e incluyó iteraciones de la industria como apps universales para poder escribir en un solo idioma para todas las plataformas. Este sueño más o menos se cumplió. En el veinte veintidós, el combo no jazz en el backend y react en el front end es uno de los más populares para nuevas startups. En mi opinión personal, esto no fue tan bueno como nos imaginábamos hace una década.
Trabajar en el browser es muy distinto que en un servidor y no hay tanto potencial de ahorrarse trabajo. En conclusión, el perfil full stack es simplemente más generalista que ser solo backend o solo front end, con la idea de entender lo suficiente para trabajar sin asistencia de otro programado. Tecnología Informal es un podcast de Silver punto dev, cobra en dólares. Silver dev es una agencia de talento para programadores. Andá a silver punto dev y descubrí qué ofrece el mercado para vos.
Hay un perfil similar al full stack, que es el product engineer. El product engineer es generalmente un full stack, pero tiene un gran pulso por el producto, por el impacto en el negocio de lo que se implementa. Un product engineer tiene que poder leer métricas de negocio, de sistema, tomar decisiones sobre cómo mejorar conversiones o ventas, hacer cambios que impactan al cliente o al usuario del producto y poder armar un roadmap de producto. Por ejemplo, yo entré a Circle Medical como un front end engineer, pero rápidamente descubrí que el negocio tenía una falencia en otro sistema que era mucho más importante trabajar, y básicamente armé el esquema de métricas, la priorización de tareas y la implementación para cumplir esas metas. Este perfil es bastante inaccesible para programadores sin experiencia en startups, por lo que muy pocos argentinos pueden tener este rol.
Como mencionan los episodios diecinueve, entrevistas técnicas, o treinta, consultoras, hay varias razones por la que los programadores argentinos tienen poca experiencia de producto y terminan fallando las entrevistas. La mejor manera de adquirir esta experiencia fuera de una startup es creando tu propio producto con la filosofía de Silicon Valley, escuchando a los usuarios, enterando y buscando atracción. Vayamos al funding engineer. Una de las mejores maneras de empaparse de las startups y además de entrar a la industria de trabajo remoto, es entrar en una startup como uno de los primeros cinco o diez programadores. El funding engineer es el perfil del programador que se arremanga.
La realidad de las startup side es que todo está atado con alambres, desde el producto, la organización, y resolver esos problemas puede ser incómodo, inconveniente y muy por debajo del nivel profesional que uno espera en su trabajo. En una startup te puede tocar hacer customer support, vender un producto y hasta armar muebles u oficinas. En muchas startups que recién empiezan, a veces la rotación de personal es altísima, la gente entra y se va muy rápido. Funding engineer es en gran parte un llamado a las personas que están mentalmente preparadas a pasar al mal tramo del principio de una empresa, de ver que se acaba la plata, de que se va la gente, de que el producto no sirve. Es emocionalmente exhaustivo.
Mientras una startup serie B en adelante está todo hecho, desde recursos humanos hasta la tarea que te toca hacer, bien digerida y pasada por una larga cadena de gente que lo perfecciona. Este componente de tolerancia es una gran ventaja para los trabajadores remotos argentinos. Por un lado, porque para un americano la propuesta de riesgo valor no es muy buena. Es un perfil que paga menos y tiene más presión en riesgo, pero como es más fácil de entrar, sirve mucho para los remotos. Además, el trabajo remoto es un ecualizador de emociones.
Es muy distinto vivir el estrés de subsistencia de una start up a través de una pantalla que en una oficina. Los funding engineers son extremadamente generalistas y son los que están en la trinchera con los fundadores a veces por años. Casi cuatro, en mi caso, con Circle Medical. Cuando las empresas crecen, los funding engineer muchas veces se van y son reemplazados por especialistas técnicos. A mí me da la sensación de que los funding engineers no son apreciados por los programadores posteriores.
Literalmente son programadores que salvan a las startups de morir, mientras que en una startup serie B en adelante, ningún programador tiene ese impacto sobre la organización. Para este perfil, uno tiene que tener y demostrar resiliencia y madurez emocional. Un perfil popularizado de la última década es DevOps o infra. Hace veinte años, el que hacía infraestructura era el que estaba armando y manteniendo servidores en literalmente una habitación de la oficina, el server room. Con Cloud Computing y AWS, el proceso fue totalmente digitalizado, y en lugar de tener equipos de personal que manejan hardware, se fue moviendo a programadores y administradores de sistemas.
La administración de infraestructura en cloud tiene que ver con elegir qué computadoras usar, cómo poner reglas de redes, mantener los costos a raya, elegir políticas de deployment, conectar los servicios de infraestructura entre sí y más. Todo esto hoy en día tiene dos reyes indiscutidos. Kubernetes para orquestrar las aplicaciones en producción y Terraform, un lenguaje para manejar configuraciones de AWS con código. Los especialistas de infraestructura saben mucho de sistemas operativos, redes, costo de computación, arquitectura y simplemente la infraestructura del Internet. Uno de los bugs más épicos que jamás vi en producción en mi carrera lo diagnosticó un especialista de Infra.
Era una corrupción de hardware que produce una memoria inconsistente en AWS en un conjunto de máquinas específicas, todo diagnosticado desde terminales y consolas. DevOps es uno de los perfiles más apalancados de cualquier empresa. Manejan presupuestos que pueden ser del cinco por ciento de todo el costo operacional de una empresa. Millones y millones de dólares donde simples mejoras pueden ahorrarle a la compañía una cantidad de plata mensurable que justifica cualquier salario. Por último, vamos a ver al SRE, Site Reliability Engineer.
Este perfil lo inventó Google, incluido con los manuales y los estándares de la industria sobre cómo manejar software en producción. En términos técnicos, el SRE es parecía un programador de En términos técnicos, el SRE es parecido a un programador de infraestructura, pero su métrica principal es evitar incidentes como los mencionados en el episodio treinta y seis, SEVs y Unkles. Para esto, los SRE preparan toda la instrumentación y monitoreo para detectar los problemas, las herramientas para corregirlos los servicios internos para administrar incidentes. Los SRE tienen un componente cultural muy fuerte. No son plomeros que arreglan un escape de agua, sino más bien un ente regulador que trata de ver qué prácticas de la empresa están afectando al producto, proveer las facilidades para que no pase e instruir y poner las políticas para que todos hagan su parte para la salud del sistema.
En Robinhood, el equipo de SRE que estaba más cerca mío, tenía un L ocho de Google, un Principal Engineer con más de un millón de dólares de compensación anual. Este rol es más común y valioso en empresas grandes con más de quinientos programadores. Yo todavía no conocía a ningún argentino en esta área personalmente. Encontrar en el perfil que te gusta te va a dar a la larga mejores resultados, sea que quieres un rol más generalista o uno más especialista. Aunque la industria tiene espacio para todo tipo de programadores, los perfiles más comunes se distinguen por una parte técnica y por una parte más blanda.
Si les gustó el podcast de hoy, se vienen muchos más. Suscribite al podcast en Spotify o seguime en Twitter, en Conan Bat, con doble t, para estar al tanto de todo el contenido. Silver punto dev es mi agencia de talento donde ayudo a programadores a conseguir trabajos de contratación directa para startups en Estados Unidos. Todos los puestos son en dólares y van desde sesenta o doscientos mil dólares anuales de salario. Con silver punto dev hablás con un programador de carrera te ayuda a prepararte para entrevistas técnicas, navegar al mercado y negociar tu salario.
Para más información, podés visitar silver punto dev y agendar una consulta.
Funding Engineer es en gran parte un llamado a las personas que están mentalmente preparadas a pasar al mal tramo del principio de una empresa. Literalmente son programadores que salvan a las startups de morir. Bienvenidos a Tecnología Informal, un espacio para hablar de carrera, de inversión, de producto, de cultura y de todo lo relacionado con startups. Yo soy Gabriel Ben Mergui, y soy un programador con más de una década de experiencia viviendo y trabajando en California, Estados Unidos. La industria se fue decantando en varios perfiles que se pueden ver en los job postings con nombres y criterios específicos.
En el episodio de hoy, vamos a revisar estos perfiles, qué lenguajes están usando y ver cuáles son las expectativas de los empleadores. Los perfiles más populares de startups son back end, front end, full stack, product engineer, funding engineer, devups y sre. Un sitio web muy práctico para ver qué es importante de aprender para cada rol está disponible en roadmap dot s. Vayamos en orden. Si una vez la división de programadores por perfil, el más popular es backend.
Un equipo de producto completo de ocho personas puede tener tres backend engineers, mientras que los front end se dividen por plataforma y son menos numerosos. Los backend dedicados implementan los sistemas con la lógica de negocio y la interfaz para que se puedan crear experiencias de usuarios en aplicaciones clientes o APIs para clientes programáticos. Al principio, la mayoría de las startups tienen una estructura de monolito, una sola aplicación para todo. Los frameworks populares de los monolitos son Rails para Ruby, Jango o Flask para Python y Nest o simplemente Express para NodeJS. A medida que crece el tráfico contra estos sistemas de monolito, los back end tienen que entender sobre bases de datos, SICK, el MongoDB, Redis, Memcashhed, para poder armar cases, indexar y organizar la data de una manera técnicamente eficiente.
Después vienen casos de uso específico con tecnologías y subsistemas, cuees para procesamiento, indexadores para búsquedas o Kafka para manejar eventos. BackEnd está cerca del metal, tiene que tener nociones de sistemas operativas y computadoras para entender uso de memoria, espacio de disco, CPU, networking y otros conceptos generales de computación, que hoy en día se hace casi exclusivamente con cloud computing, principalmente AWS. Para usos más específicos como microservicios o herramientas de desarrollo o procesamiento están Golang y REST. Los backend terminan haciendo también muchas APIs, Rust para servicios externos y GraphQL para servicios internos. Esto les ahorra tener que trabajar en el área de front end o mobile completamente.
Pasemos a front end. Front end es un perfil designado para crear experiencias en HTML, CSS y JavaScript para páginas web. Previo a React, la mayoría del front end se hacía escribiendo el HTML en el servidor y el JavaScript corriendo en el cliente. Post React front end se volvió más desacoplado el HTML se genera directamente en los browser mismo o en un servidor dedicado de Frontend. Aún las startups más chicas han separado la generación del Frontend del backend enteramente.
El frameworking discutido del momento es Next.js, de Guillermo Rauch, que digamos orgullosamente, es argentino. Un front end se encarga de utilizar una app interna y generar la aplicación que va a andar en el browser. Por cómo se arma una aplicación y se manda el browser, frontend involucra entender de tooling como transpiladores, preprocesadores, empaquetadores, sofuscadores y más. Entender al browser y cómo funciona es clave, cómo usar las herramientas de desarrollo, usar los perfiladores, la simulación de consola o leer request de HTTP. También uno va a terminar teniendo que entender de infraestructura de la web.
Empresas como Verceld resuelven muchos de los desafíos por voz, pero aún así hay que entender de CDNs, de cashing o la nueva moda de serverless o Edge functions para poder entregar una aplicación de categoría global. Para mí, Frontend no es una disciplina difícil, pero filtra a la mayoría de los desarrolladores por la parte estética. En este perfil es importante tener nociones básicas de diseño, poder ver rápidamente qué está mal a ojo, qué hay que corregir y qué es distinto a la implementación de lo que quieren los diseñadores en un Figma. Aunque la mayoría del trabajo de front end es similar, para volverse excepcional uno se puede especializar en infraestructura de la web, en tooling o en diseño de sistemas o UI. Una vez que sabemos qué hacen los front end y los back end, vemos a los full stack, los que tienen que hacer un poco de todo.
Como pasa en toda la organización económica, la especialización en cada rol va a depender principalmente del tamaño de la organización. A medida que tenés más programadores, cada uno va especializándose en una faceta particular de los sistemas. Pero al principio la superficie no es tan grande y para evitar que haya demasiadas dependencias entre programadores, para que un programador solo pueda traer una implementación de punta a punta a producción, producción, se busca un perfil más generalista. La evolución de los full tag desde que yo empecé en la industria fue sorprendente. Primero eran programadores que escribían código en algún lenguaje, como Java, Ruby o Python, para la lógica de negocio, y también escribía el HTML.
A medida que las experiencias web se iban haciendo más ricas con JavaScript, era el sueño poder escribir todo el stack con el mismo idioma. Esa era la promesa de Node.js, e incluyó iteraciones de la industria como apps universales para poder escribir en un solo idioma para todas las plataformas. Este sueño más o menos se cumplió. En el veinte veintidós, el combo no jazz en el backend y react en el front end es uno de los más populares para nuevas startups. En mi opinión personal, esto no fue tan bueno como nos imaginábamos hace una década.
Trabajar en el browser es muy distinto que en un servidor y no hay tanto potencial de ahorrarse trabajo. En conclusión, el perfil full stack es simplemente más generalista que ser solo backend o solo front end, con la idea de entender lo suficiente para trabajar sin asistencia de otro programado. Tecnología Informal es un podcast de Silver punto dev, cobra en dólares. Silver dev es una agencia de talento para programadores. Andá a silver punto dev y descubrí qué ofrece el mercado para vos.
Hay un perfil similar al full stack, que es el product engineer. El product engineer es generalmente un full stack, pero tiene un gran pulso por el producto, por el impacto en el negocio de lo que se implementa. Un product engineer tiene que poder leer métricas de negocio, de sistema, tomar decisiones sobre cómo mejorar conversiones o ventas, hacer cambios que impactan al cliente o al usuario del producto y poder armar un roadmap de producto. Por ejemplo, yo entré a Circle Medical como un front end engineer, pero rápidamente descubrí que el negocio tenía una falencia en otro sistema que era mucho más importante trabajar, y básicamente armé el esquema de métricas, la priorización de tareas y la implementación para cumplir esas metas. Este perfil es bastante inaccesible para programadores sin experiencia en startups, por lo que muy pocos argentinos pueden tener este rol.
Como mencionan los episodios diecinueve, entrevistas técnicas, o treinta, consultoras, hay varias razones por la que los programadores argentinos tienen poca experiencia de producto y terminan fallando las entrevistas. La mejor manera de adquirir esta experiencia fuera de una startup es creando tu propio producto con la filosofía de Silicon Valley, escuchando a los usuarios, enterando y buscando atracción. Vayamos al funding engineer. Una de las mejores maneras de empaparse de las startups y además de entrar a la industria de trabajo remoto, es entrar en una startup como uno de los primeros cinco o diez programadores. El funding engineer es el perfil del programador que se arremanga.
La realidad de las startup side es que todo está atado con alambres, desde el producto, la organización, y resolver esos problemas puede ser incómodo, inconveniente y muy por debajo del nivel profesional que uno espera en su trabajo. En una startup te puede tocar hacer customer support, vender un producto y hasta armar muebles u oficinas. En muchas startups que recién empiezan, a veces la rotación de personal es altísima, la gente entra y se va muy rápido. Funding engineer es en gran parte un llamado a las personas que están mentalmente preparadas a pasar al mal tramo del principio de una empresa, de ver que se acaba la plata, de que se va la gente, de que el producto no sirve. Es emocionalmente exhaustivo.
Mientras una startup serie B en adelante está todo hecho, desde recursos humanos hasta la tarea que te toca hacer, bien digerida y pasada por una larga cadena de gente que lo perfecciona. Este componente de tolerancia es una gran ventaja para los trabajadores remotos argentinos. Por un lado, porque para un americano la propuesta de riesgo valor no es muy buena. Es un perfil que paga menos y tiene más presión en riesgo, pero como es más fácil de entrar, sirve mucho para los remotos. Además, el trabajo remoto es un ecualizador de emociones.
Es muy distinto vivir el estrés de subsistencia de una start up a través de una pantalla que en una oficina. Los funding engineers son extremadamente generalistas y son los que están en la trinchera con los fundadores a veces por años. Casi cuatro, en mi caso, con Circle Medical. Cuando las empresas crecen, los funding engineer muchas veces se van y son reemplazados por especialistas técnicos. A mí me da la sensación de que los funding engineers no son apreciados por los programadores posteriores.
Literalmente son programadores que salvan a las startups de morir, mientras que en una startup serie B en adelante, ningún programador tiene ese impacto sobre la organización. Para este perfil, uno tiene que tener y demostrar resiliencia y madurez emocional. Un perfil popularizado de la última década es DevOps o infra. Hace veinte años, el que hacía infraestructura era el que estaba armando y manteniendo servidores en literalmente una habitación de la oficina, el server room. Con Cloud Computing y AWS, el proceso fue totalmente digitalizado, y en lugar de tener equipos de personal que manejan hardware, se fue moviendo a programadores y administradores de sistemas.
La administración de infraestructura en cloud tiene que ver con elegir qué computadoras usar, cómo poner reglas de redes, mantener los costos a raya, elegir políticas de deployment, conectar los servicios de infraestructura entre sí y más. Todo esto hoy en día tiene dos reyes indiscutidos. Kubernetes para orquestrar las aplicaciones en producción y Terraform, un lenguaje para manejar configuraciones de AWS con código. Los especialistas de infraestructura saben mucho de sistemas operativos, redes, costo de computación, arquitectura y simplemente la infraestructura del Internet. Uno de los bugs más épicos que jamás vi en producción en mi carrera lo diagnosticó un especialista de Infra.
Era una corrupción de hardware que produce una memoria inconsistente en AWS en un conjunto de máquinas específicas, todo diagnosticado desde terminales y consolas. DevOps es uno de los perfiles más apalancados de cualquier empresa. Manejan presupuestos que pueden ser del cinco por ciento de todo el costo operacional de una empresa. Millones y millones de dólares donde simples mejoras pueden ahorrarle a la compañía una cantidad de plata mensurable que justifica cualquier salario. Por último, vamos a ver al SRE, Site Reliability Engineer.
Este perfil lo inventó Google, incluido con los manuales y los estándares de la industria sobre cómo manejar software en producción. En términos técnicos, el SRE es parecía un programador de En términos técnicos, el SRE es parecido a un programador de infraestructura, pero su métrica principal es evitar incidentes como los mencionados en el episodio treinta y seis, SEVs y Unkles. Para esto, los SRE preparan toda la instrumentación y monitoreo para detectar los problemas, las herramientas para corregirlos los servicios internos para administrar incidentes. Los SRE tienen un componente cultural muy fuerte. No son plomeros que arreglan un escape de agua, sino más bien un ente regulador que trata de ver qué prácticas de la empresa están afectando al producto, proveer las facilidades para que no pase e instruir y poner las políticas para que todos hagan su parte para la salud del sistema.
En Robinhood, el equipo de SRE que estaba más cerca mío, tenía un L ocho de Google, un Principal Engineer con más de un millón de dólares de compensación anual. Este rol es más común y valioso en empresas grandes con más de quinientos programadores. Yo todavía no conocía a ningún argentino en esta área personalmente. Encontrar en el perfil que te gusta te va a dar a la larga mejores resultados, sea que quieres un rol más generalista o uno más especialista. Aunque la industria tiene espacio para todo tipo de programadores, los perfiles más comunes se distinguen por una parte técnica y por una parte más blanda.
Si les gustó el podcast de hoy, se vienen muchos más. Suscribite al podcast en Spotify o seguime en Twitter, en Conan Bat, con doble t, para estar al tanto de todo el contenido. Silver punto dev es mi agencia de talento donde ayudo a programadores a conseguir trabajos de contratación directa para startups en Estados Unidos. Todos los puestos son en dólares y van desde sesenta o doscientos mil dólares anuales de salario. Con silver punto dev hablás con un programador de carrera te ayuda a prepararte para entrevistas técnicas, navegar al mercado y negociar tu salario.
Para más información, podés visitar silver punto dev y agendar una consulta.