¿Cómo es ser desarrollador en una startup?

Aquí hay algunas cosas:

  • estar rodeado de personas entusiasmadas con el proyecto, gran espíritu de equipo
  • conocer y hablar con todos en la empresa
  • no tener a nadie a quien recurrir con preguntas; eres el experto residente en todo lo que necesites hacer
  • trabajando horas extremadamente largas, a veces durmiendo en la oficina, sin tener mucha vida social fuera de la empresa
  • preguntándose cómo despegará el proyecto, o preguntándose si despegará el proyecto

Hay una gran diferencia entre las empresas emergentes financiadas y las empresas no financiadas. Ambos requieren mucho trabajo, pero las nuevas empresas financiadas ofrecen beneficios mucho mejores (y, a veces, mimos como Google) a cambio de tener que realizar el sueño de otra persona. En las startups sin fondos, las condiciones pueden ser difíciles, pero a cambio usted tiene mucho más que ver con el desarrollo de la idea.

He trabajado en varias startups en Silicon Valley / San Francisco.

Muchos de los roles en una gran empresa se condensan en unas pocas personas clave, incluido (con suerte) usted. Además de la ingeniería de software, es posible que también esté definiendo el producto (gerente de producto), probando el producto (aseguramiento de la calidad), configurando la infraestructura de TI (IT), configurando herramientas y procesos internos (devOps); Es una gran oportunidad tener la propiedad del producto y ser directamente responsable del crecimiento de la empresa. Eso es algo bueno: para obtener más información al respecto, lea el ensayo de Paul Graham: Cómo hacer riqueza, especialmente la sección ” Pequeño = Medición” .

Hay mucha presión de tiempo. La compañía generalmente tendrá fondos suficientes para operar durante 6-18 meses; Hay una lucha constante para que la empresa llegue al punto en que pueda recaudar otra ronda de financiación o para financiarse a sí misma (es decir, la rentabilidad). Constantemente se preguntará cómo será su situación laboral dentro de un año o dos. El estrés laboral y la presión del tiempo pueden ser difíciles para las relaciones personales: asegúrese de que usted y su cónyuge / pareja estén en la misma página sobre lo que está entrando.

En el frente del desarrollo, existe una tensión entre hacer un diseño robusto y tener un diseño “suficientemente bueno” para cumplir con el próximo hito (que a menudo es el motor de la próxima ronda de financiación). Esto explica por qué algunas compañías en crecimiento tienen un código bastante malo que alguien nuevo necesita limpiar.

Lo que más he disfrutado en las startups es el sentido de comunidad. Conocerá a todos por su nombre y podrá (en general) conocer a las personas mejor que en las grandes empresas.

En cuanto a la compensación, recomiendo leer la publicación del blog de WealthFront:
14 preguntas cruciales sobre las opciones sobre acciones

Incluso con las respuestas a esas preguntas, aún es fácil estar fuera del ciclo; cuando la empresa plantea una nueva ronda de financiación, ¿cuál es la nueva valoración 409a? ¿Qué tan diluidas están sus opciones en comparación con el nuevo grupo de acciones? A menos que le pregunte al CEO / CFO, probablemente no lo sabrá. A menos que sea uno de los primeros empleados y la empresa lo esté cuidando, a menudo es más rentable trabajar en una empresa grande.

Usted es en parte ingeniero de software, en parte empresario, en parte inversionista. Entonces, antes de unirse, debe estar preparado para los tres roles:

1. Ingeniero de software
El ingeniero de software de inicio es un generalista. Debe poder hacer casi todo y hacerlo rápido. A diferencia del tipo de ingeniería de software de las grandes empresas, no cuenta con infraestructura y equipo de soporte. Harás todo eso. Debe aprender a intercambiar la calidad del código, la escalabilidad y el rendimiento por flexibilidad y agilidad. Si bien se aplican la mayoría de los postulados de una buena ingeniería de software, ¿qué hace que una buena cultura de ingeniería? necesita saber cuándo doblar las reglas y crear una cantidad manejable de deuda técnica para obtener el resultado más rápido.
2. Emprendedor
Su objetivo principal es apoyar el aprendizaje sobre los clientes. Debe ser proactivo para averiguar qué hipótesis debe validarse y cuáles son las mejores formas de validar esto rápidamente.
3. inversor
A medida que se une a la etapa inicial, está haciendo una inversión. Invierte su carrera, su reputación y, supongo, una parte importante de su paquete de compensación son acciones de la compañía.

Aquí están las preguntas para hacer y obtener respuestas muy claras. Si no tiene clara alguna de estas preguntas, piénselo dos veces:
1. ¿Describa el cliente típico? ¿Por qué crees que necesitan el producto? ¿Qué problema se está resolviendo?
2. ¿Cuál es la experiencia del equipo al servir a estos clientes? ¿Hay alguna forma de verificar las referencias?
3. ¿Tienen clientes que pagan? Si es así, ¿cuál es el orden de magnitud de los ingresos?
4. ¿Cuál es la estrategia de distribución? Es decir, ¿cómo están planeando vender?
5. ¿Cuál es el ingreso proyectado por cliente? (Está totalmente bien tener algo de distribución allí, pero necesita escuchar la situación típica)
6. ¿Qué hace que el producto sea pegajoso? ¿Qué significa que el cliente volverá a pagar más?
7. Lo que se necesita para registrar un nuevo cliente. (El costo de adquisición del cliente).

Es posible que la startup esté en el espacio de Internet del consumidor (piense en Twitter), por lo que los ingresos no son la primera prioridad. En este caso, debe averiguar cuál es la relación de crecimiento. ¿Cuántos usuarios nuevos se registran por día? ¿Cuántas horas pasan los usuarios usando el producto por día?

More Interesting

Corremos un software financiero en línea. ¿Cómo protegemos la aplicación para que ni nosotros / los creadores podamos ver los datos del cliente?

¿Cuál es la diferencia entre un archivo de certificado .jks y un archivo .cer? ¿Es posible convertir de uno a otro?

¿Cómo evitan los ingenieros experimentados en las startups el estancamiento debido al exceso de problemas operativos?

¿Debería un geek convertirse en ingeniero?

¿Qué aplicaciones matemáticas enfrentan los programadores de software a diario en sus trabajos?

¿Qué deben saber todos los ingenieros de software para garantizar que su aplicación o producto sea escalable, funcione bien y esté seguro?

¿Por qué Python cubre tantas áreas de desarrollo de software?

¿Cuál es el mercado laboral actual para los desarrolladores de Ruby on Rails en los Estados Unidos?

En un proyecto de desarrollo de software, ¿qué tipo de cambios requerirían una solicitud de cambio formal y qué no?

¿Por qué los estudiantes de informática se llaman ingenieros?

¿Qué tecnologías necesito saber para DevOps?

¿La mayoría de las compañías de software que usan tecnologías de Microsoft usan principalmente patrones de diseño ASP.net MVC?

¿Por qué la Fundación Apache ha declarado que ninguno de sus nuevos proyectos de software puede incluir React.js?

¿Cuál es la arquitectura MVC (modelo-vista-controlador) en términos simples?

¿Qué podría haber sido una alternativa a los "archivos" tal como los conocemos hoy?