Desarrollador de C++

Únase a nosotros como desarrollador de C++
Lugar: Berlín (Alemania)

La belleza es la mejor defensa frente a la complejidad.

David Gelernter

¿Cree en la belleza en el campo de la programación? ¿Tiene un interés especial en los algoritmos elegantes? ¿Domina el lenguaje C++? Si es así, nos gustaría conocerle.

Acerca de nuestro software

Desde 2002, think-cell produce software de gráficos que realiza la mayor parte del meticuloso trabajo de crear diapositivas basadas en datos para usuarios profesionales de Excel y PowerPoint. La creación de diapositivas de PowerPoint es una de las tareas más habituales para las que se utilizan ordenadores en el mundo de la empresa. Por ello, resulta curioso que, mientras que el software inteligente revolucionó muchas de nuestras tareas más frecuentes, como la búsqueda web en nuestro explorador, o el reconocimiento del habla en los centros telefónicos de atención al cliente, el software para productividad en la oficina no ha cambiado mucho durante la última década aproximadamente.

think-cell está destinada a cambiar esto. Sobresalimos respecto a otros productos de software de presentaciones porque estamos dispuestos a hacer todo el trabajo previo de desarrollar algoritmos sofisticados y perfeccionar la interfaz de usuario, para que trabajar con nuestro software sea muy gratificante para los usuarios. Estos son algunos de los pasos que ya hemos dado.

Avances en los algoritmos

  • Hemos desarrollado un nuevo algoritmo para el etiquetado automático de nube de puntos que permite colocar las etiquetas fuera de los puntos reales.
  • Hemos desarrollado un nuevo algoritmo para el etiquetado automático de gráfico de columnas.
  • Estamos trabajando con John Forrest —autor del solucionador lineal CLP— para que su código simplex sea más rápido en nuestro tipo de problemas.
  • Hemos desarrollado un número considerable de estructuras de datos genéricos que no están ni en C++ ni en Boost, por ejemplo, particiones.

Avances en la realización de modificaciones

  • Para llevar a cabo tareas que no son posibles mediante la API de Microsoft Office documentada, llevamos a cabo muchos procesos de ingeniería inversa con el desensamblador IDA de Hex-Rays.
  • Hemos escrito el que es probablemente el mejor motor de enlace de funciones del mercado. Cada vez que se inicia nuestro software, parcheamos los ejecutables de Microsoft Office en la memoria. Buscamos pequeños trozos de código ensamblador en lugar de parchear las direcciones mediante codificación para que sean estables frente a leves modificaciones de código.
  • Redirigimos los contenidos de la ventana de PowerPoint y Excel a búferes fuera de pantalla y utilizamos Direct3D 9.0 para representar nuestra interfaz de usuario encima.

Otros avances

  • Financiamos el grupo de trabajo de lenguajes de programación del Instituto Alemán de Normalización (DIN). Algunos de nuestros empleados son miembros de este comité y votan en el proceso de normalización internacional de ISO/IEC C++.
  • Ya hemos cambiado a la funcionalidad C++11 en muchos lugares, en particular, en expresiones lambda y referencias rvalue.
  • Utilizamos Boost en nuestro código, p. ej., Boost.Spirit para la mayor parte de nuestras necesidades de análisis.
  • Contamos con nuestras propias bibliotecas de persistencia y recuento de referencias para guardar y restaurar árboles completos de objetos.
  • Hemos escrito un analizador y un redactor para el formato .xls de Excel.
  • Tenemos una amplia infraestructura de creación de informes de errores. Las afirmaciones y las comprobaciones de errores permanecen en el código de liberación y nuestro software notifica automáticamente los errores a nuestro servidor. El servidor analiza el error, lo clasifica y lo archiva en una base de datos a la que pueden acceder todos los desarrolladores. Si el error se repara mediante una actualización, el usuario puede descargar la actualización directamente de una página web de respuesta a errores.

Acerca de este trabajo

Buscamos desarrolladores hábiles y creativos con una sólida formación teórica. Deben poder analizar un problema desde la perspectiva del usuario, analizar conceptos abstractos con otros compañeros de la profesión y llevar a cabo una implementación elegante. Los desarrolladores que contratamos habitualmente tienen un máster en informática excepcional o incluso un doctorado.

En think-cell, nos gustan las jerarquías planas. Trabajará principalmente de manera independiente y será responsable de toda la serie de actividades relacionadas con la implementación de una nueva característica. Esperamos que todos nuestros desarrolladores se encarguen de la arquitectura, el diseño, la implementación y la corrección de errores, en lugar de dividir estas actividades entre varias personas. De este modo, se minimiza la falta de comunicación y hacemos que cada cual controle su propio trabajo. Las ideas son bienvenidas, incluso si significa que hay que cambiar una cantidad considerable de código para realizar mejoras.

Hemos publicado varios artículos científicos en las áreas de inteligencia artificial y gráficos por ordenador, y le animamos a que haga lo mismo. Patrocinamos visitas a congresos y tenemos una estrecha relación con universidades e institutos de investigación en Estados Unidos y Alemania.

think-cell fomenta un equilibrio de vida laboral saludable. No trabajamos por la noche ni los fines de semana, y ayudamos a las familias de nuestros empleados con una niñera de empresa a jornada completa. Está disponible de forma gratuita cuando los niños enferman y también si los empleados desean salir una noche.

Pagamos salarios muy competitivos y ofrecemos a nuestros desarrolladores 120 000 EUR anuales tras el primer año con nosotros. En caso necesario, dejaremos nuestros quehaceres para ayudarles con la mudanza a Berlín y haremos todo lo posible por ayudarles a obtener un permiso de trabajo.

¿Le interesa?

Si es la persona que falta en nuestro equipo, envíenos su solicitud electrónica.

Enviar solicitud por correo electrónico

¿Desea más información?

Si tiene alguna pregunta sobre cómo es trabajar en think-cell, las vacantes que tenemos disponibles o los eventos que tenemos previsto realizar, póngase en contacto con nuestra compañera Annika Klauske.

hr@think-cell.com
+49 30 666473-10