Empecé este negocio para centrarse en el diseño de mejores sistemas de comercio. Programación, obviamente, juega un papel importante en el proceso.
Lo que mucha gente no sabe es que la experiencia en programación puede ser bastante difícil. Cuando un proyecto requiere más tiempo de lo esperado, tiende a tomar mucho más tiempo que la estimación original.
La programación es como viajes en avión
Muchos de ustedes viajan regularmente. Volar es casi un hecho cuando viaja una distancia significativa.
¿Cuántas veces has viajado y el vuelo llegó 5 hora temprana? La pregunta es de risa. No sucede.
20 minutos más temprano a las puertas hace volantes más frecuentes éxtasis. Saben que llegar temprano, aunque sólo sea por unos minutos, es tan bueno como se pone.
Performance se relaciona a la compañía aérea en algún grado. Comprobación de problemas de mantenimiento evita sorpresas 20 minutos antes del despegue o, cielo prohibido, al aire.
La tripulación llegar a tiempo ayuda. La última vez que volé de Dulles a Dallas, la tripulación de reemplazo llegó a la puerta de una hora de retraso.
Las dos últimas veces que volé a Dublín, United Airlines perdieron mis maletas… en ambas ocasiones. A veces, lo que realmente es 100% las aerolíneas’ criticar.
Fuerza mayor
Esas experiencias aparte, ¿cuántas veces aerolíneas goof tan mal que los viajeros llegan días de retraso? Los viajeros no llegan con graves retrasos, pero esas circunstancias son por lo general relacionados con el clima. Está fuera de las aerolíneas’ control.
Recuerdo el volcán en Islandia que estalló hace unos años. Muchos pasaron literalmente en Europa durante una semana.
El secuestro es un gran ejemplo. En lo que es sin duda una elección deliberada de infligir dolor en volantes, la FAA decidió furlough controladores de tráfico aéreo en los principales aeropuertos.
Estos aeropuertos son los mismos que yo frecuento. Cuando vuelo a Dublín el martes y estoy potencialmente 4 horas de retraso, Voy a estar enojado. Pero Te, También voy a saber a dirigir la indignación en el Congreso en lugar de la línea aérea.
Programación y viajes son sistemas frágiles
La idea de este artículo surgió de Antifagile, Nassim Taleb, donde se explica cómo pequeños cambios crear problemas exponenciales.
El viaje es familiar para todos nosotros, así que cuando pensamos en el delta, que representa a los pequeños cambios, imaginar como el retardo de tiempo o aumentar en el tiempo de tránsito.
Tenga en cuenta los efectos de la 3 diferentes deltas
Considere mi escala en Newark. ¿Hasta qué hora puedo estar antes de que se pierda el vuelo de conexión. Si pierdo la conexión, ¿cuánto tiempo se me retrasa?
20 acta – El cambio aquí es mínimo. Voy a sufrir una gran cantidad de (probablemente innecesario) el estres. Mi esposa y yo podría correr a través de la terminal, buscando un poco tonto en el proceso. No obstante, la oportunidad de hacer la conexión es casi segura.
60 acta – Este es el escenario está justo en el borde del desastre. Mi pobre mujer me va a escuchar gemir y morderme las uñas como le doy la vuelta a cabo por perder la conexión.
Si hacemos el vuelo, es sólo porque la aerolínea decidió celebrar él vuelo en la puerta. Si lo hace, inconvenientes a cientos de pasajeros esperando mientras un puñado de viajeros escabullen para abordar el vuelo.
Si ellos no tienen el vuelo, bien, entonces yo estoy jodido.
El mejor escenario la pueden ocurrir después de perderse la conexión es que la aerolínea nos traslado a otro destino europeo. La aerolínea necesita entonces para ponernos en una aerolínea asociada a nosotros volar en Dublín, dar marcha atrás en el que sólo vinimos. A demoras una hora nos lleva a
- Espere a otro vuelo europeo
- Vuela una hora extra a un destino diferente
- Espere a que una conexión de Dublín en un aeropuerto diferente
- Volar un retroceso horas
Un retraso como esto fácilmente podría resultar en un extra 6-8 horas de tiempo de viaje- todo desde una 1 hora de retraso.
3 hora de retraso – La captura de otro vuelo a Europa se ve muy optimista. El mejor caso es que la aerolínea nos puso en un hotel para pasar la noche y nos envía el vuelo Dublín de mañana. La 3 horas de retraso se expande a una 24 hora de espera, restante más el tiempo de vuelo.
Programación
Okay, Shaun, Okay. ¿Qué significa su tienen que ver con la programación?
Al igual que viajar, un proyecto de programación sólo puede ir tan bien. Siempre que ocurre algo inesperado, agravan los problemas a sí mismos de manera exponencial.
El mal Delta
El tiempo es el enemigo del viajero. En los robots de comercio de programación (o programar nada, realmente), El Delta es el grado de sorpresa.
Cambios en el sistema operativo: Desarrollamos una MT4 plugin haciendo que un cliente que le gusta al comercio escalas de precios. Una semana después de entregar el software, Microsoft lanzó una actualización del sistema operativo. La actualización rompió el código en el software que le hemos proporcionado.
Comunicación: Usted cree que usted pidió una cosa, pero te dan otra. Los productos que se parecen como descuidos menores pueden estallar en grandes problemas.
Chris trabajó en un proyecto el mes pasado que trató de ejecutar una red de intercambios comerciales en intervalos precisos. Chris’ órdenes originales del mercado de la versión utilizada. Un puñado de bichos apareció, pero el núcleo de la versión original funcionó bien. El cliente, sin embargo, Supusimos que utilizaríamos los pedidos pendientes y pidió que se le cambió.
El cambio arruinó el diseño original. Más importante, descubrimos que el logro de la ejecución exacta era fundamentalmente imposible porque no podíamos controlar con precisión el tiempo de ejecución.
Lo que empezó como un 5 proyecto hora sopló hasta 30 horas de trabajo. El delta de sorpresas comunicación es malo.
Mecánica básica de mercado: A veces nos preguntamos preguntas donde el comerciante debe saber la respuesta. Una pregunta común inducida comerciante a que lleguemos pregunta por qué oficios repente estrecha en el mercado. Los operadores deben tener suficiente conocimiento y experiencia para evitar este tipo de problemas básicos.
El delta en estas cuestiones varía, pero no son tan graves como los problemas de comunicación. Pueden ir a cualquier parte de 20 Minutos empleados a investigar el tema a varias horas.
Cosas que pueden ir justo en un proyecto de programación
- Entregar código en tiempo de. Los requisitos de tiempo para la entrega a tiempo son los más fáciles de predecir. Los proyectos comienzan con un gol. El codificador tiene una buena idea de la cantidad de tiempo necesario para construir una versión de trabajo.
Veo esto como algo análogo a una tripulación de vuelo llegar a tiempo. El bar es bastante baja aquí. - El código funciona libre de errores la primera vez – Sin duda su primera respuesta aquí es, “Esa es la manera que debe ser!”. Es sin duda la forma en que me gustaría que fuera, pero a menudo no funciona de esa manera.
La mayoría de los problemas de software resultan de comunicación. Cuando escribimos un ámbito de trabajo y el programa de un asesor experto, creemos que somos totalmente conscientes de los requisitos.Con frecuencia sucede que algunos de los requisitos no fueron comunicadas. El producto sigue literalmente la orden. Es sólo cuando se visualizan las operaciones entran en el mercado de que el cliente se da cuenta de que no piden algo – al igual que el cliente que quería órdenes pendientes en lugar de órdenes de mercado. Ellos asumieron incorrectamente que se entendía cuando no era. La experiencia de ver las características que faltan es la única manera que el usuario reconoce la supervisión.
- Tratar a las personas nicely – La programación es un servicio de, pero nadie quiere sentir como la persona en el otro extremo sólo se preocupa por el dinero. Yo realmente se preocupan por el diseño de los sistemas de comercio y ayudar a la gente. Cuando un cliente hace negocios con OneStepRemoved, Quiero que ellos comercian mejor y saber que nos preocupamos por su éxito a largo plazo.
Usted siempre puede enviarme un email personalmente si usted siente que ha sido tratado de otra manera.
¿Qué tipo de sorprendido has tratado al programar su robot de comercio? Comparte tus experiencias en la sección de comentarios.