
Imagen:
DAVID HOLT ,
CC BY 2.0Según las estadísticas del portal Stack Overflow, el sector financiero se encuentra entre las diez industrias más populares entre los desarrolladores. Hoy hablaremos sobre qué esperar para los especialistas que planean comenzar una carrera en compañías financieras.
Condiciones de trabajo
Los trabajos en finanzas son definitivamente diferentes a los trabajos en startups o grandes corporaciones de TI. Aquí hay un enfoque más tradicional para la organización del proceso de trabajo, rara vez es posible encontrar oficinas de "diseño" o mucho entretenimiento para los empleados. A menudo también hay un cierto código de vestimenta, que puede ser inusual para los desarrolladores que trabajan en startups.
Por ejemplo, no hace mucho tiempo, los reporteros de Business Insider analizaron la popularidad de las compañías financieras entre los solicitantes de LinkedIn y descubrieron que Morgan Stanley, que ocupó el cuarto lugar, atrajo a muchos debido a la falta de un código de vestimenta demasiado estricto (en comparación con otros bancos).
Cuando consigues un trabajo en un banco de inversión, fondo de cobertura o empresa de corretaje, también es difícil contar con una
oficina de diseño con grandes áreas de juegos y deportes, salas de masajes, salas de dormir y comida completamente gratis. Lo más probable es que algo de esto suceda, pero no en una escala como en Google condicional.

Por ejemplo,
la oficina de Goldman Sachs tiene un gimnasio, y los empleados pueden obtener un descuento en sus tarjetas del club. Un hecho interesante: incluso en las pantallas de los simuladores se muestran las noticias económicas:

Como puede ver, desde el punto de vista de los atributos externos de "genialidad", el trabajo en el campo de las finanzas puede ser inferior a las nuevas empresas de TI y las grandes empresas de tecnología. ¿Por qué, entonces, muchos desarrolladores todavía vienen a esta área? Esto se ve facilitado por la capacidad de utilizar tecnologías avanzadas para trabajar en proyectos interesantes.
¿En qué proyectos puedo participar?
El mercado financiero está representado por una amplia gama de empresas: hay bolsas, bancos, fondos de inversión, casas de bolsa y desarrolladores de software independientes (por ejemplo, robots comerciales). En consecuencia, los desarrolladores pueden participar en una variedad de proyectos, desde la escritura de sistemas y herramientas comerciales para trabajar con Big Data hasta la construcción de infraestructura utilizando el hardware más moderno.
Utilizando ITI Capital como ejemplo, puede comprender lo que enfrentan los profesionales de TI en las empresas de corretaje. Estamos desarrollando nuestro propio sistema comercial Matrix, el terminal
SmartX (puede encontrar más información sobre la historia de este proyecto
aquí ), está desarrollando una API para nuestra infraestructura llamada
SmartCOM . Un área separada es la creación de aplicaciones móviles para el comercio en línea.
Interfaz de terminal comercial SmartXEn el campo de las finanzas, la velocidad y la productividad máxima son importantes, por lo tanto, se dedica mucho esfuerzo a mejorar estos indicadores de los productos de software creados. En el blog, hablamos repetidamente sobre cómo, por ejemplo, funciona la
optimización del terminal comercial.
Lenguajes de programación comunes
Una parte importante de la infraestructura de las empresas de corretaje y los intercambios se crea utilizando el lenguaje C ++, con su ayuda se crean una variedad de productos desde bibliotecas para calcular modelos de precios de derivados hasta módulos para procesar flujos de datos. Los especialistas que conocen este idioma tienen una gran demanda. Además, el creador del lenguaje, Bjarne Stroustrup,
trabaja en Morgan Stanley Investment Bank como Director de Tecnología.
Además de C ++, C # y Java están muy extendidos: con su ayuda, a menudo implementan ciertas partes de aplicaciones comerciales o servicios de front-end de compañías financieras (por ejemplo, GUI de terminales comerciales).
Los lenguajes de scripting como Python, MATLAB y R también se utilizan para describir estrategias comerciales y modelos de creación de prototipos. Los lenguajes de scripting también son populares, que incluso pueden integrarse en terminales comerciales, como
TradeScript , con los que los robots comerciales pueden escribirse directamente dentro del terminal SmartX.
Una estrategia simple de TradeScript registrada en la ventana del terminal de negociaciónAdemás, de acuerdo
con los reclutadores de compañías financieras encuestados por el portal Efinancial Careers, los desarrolladores de Python tienen demanda, este lenguaje es indispensable para crear herramientas analíticas y modelos cuánticos, las tecnologías de procesamiento de datos como Hadoop, Cassandra y Scala también están ganando popularidad.
¿Qué más necesitas para poder
Cada empresa tiene sus propios requisitos, pero también se pueden formular algunas tendencias en esta dirección. Los especialistas en trabajar con infraestructura cuando se trasladen al campo de las finanzas no tendrán que reconstruir seriamente, pero los desarrolladores pueden necesitar algún conocimiento específico.
Para conseguir un trabajo en una empresa financiera seria, necesariamente debe conocer perfectamente la OOP y los algoritmos estándar. El desarrollo de sistemas financieros cliente-servidor también va de la mano con la programación multiproceso. Por lo tanto, el especialista no debe temer las tareas que involucran, por ejemplo, escribir un servidor TCP estándar, un servidor de equilibrio de carga y un servidor de alto rendimiento.
La base de los sistemas para el sector financiero son las bases de datos, por lo que los desarrolladores necesitarán un conocimiento profundo de SQL. El conocimiento de los operadores de selección simples no será suficiente; a menudo, en el curso del trabajo, tendrá que ocuparse de la creación de procedimientos de almacenamiento, de índices y de varios tipos de bloqueos.
Los sistemas de negociación suelen utilizar la plataforma UNIX (a menudo Linux). Para Windows, generalmente se crean terminales comerciales con interfaces gráficas, mientras que UNIX se utiliza para desarrollar el "motor" del software comercial. Además, los especialistas involucrados en el desarrollo de software comercial deben poder trabajar con
GPU ,
coprocesadores y tarjetas de red modernas (por ejemplo, Mellanox y Solarflare).
No se olvide del conocimiento tecnológico que se aplica específicamente al sector financiero: antes de buscar un trabajo en una empresa de corretaje condicional, debe comprender, por ejemplo, los protocolos de transferencia de datos como FIX o, en el caso de la Bolsa de Moscú, el Puente ASTS en nuestro El blog publicó una serie completa de materiales sobre estas tecnologías (
FIX ,
Fast ,
Plaza II ,
ASTS Bridge ).
Otros materiales financieros y bursátiles de ITI Capital :