Sviluppatore C++

Lavora per noi come sviluppatore C++
Sede: Berlino, Germania

La bellezza è l'unica difesa dalla complessità.

David Gelernter

Credi nella bellezza quando si tratta di programmazione? Nutri un vivo interesse per gli algoritmi eleganti? Hai dimestichezza con C++? In caso affermativo, vorremmo incontrarti.

Informazioni sul nostro software

Dal 2002, think-cell produce programmi di grafica che eseguono la maggior parte del lavoro certosino di creazione di diapositive basate su dati per utenti professionali di Excel e PowerPoint. La creazione di slide PowerPoint è una delle attività più comuni per cui i professionisti usano il computer. Perciò, è piuttosto sorprendente che, nonostante il software intelligente abbia rivoluzionato molte attività che svolgiamo di frequente, come ad esempio ricerche sul Web con il browser o il riconoscimento vocale del telefono in un call center, i software di produttività per ufficio non siano cambiati granché nell'ultimo decennio.

think-cell ha intenzione di cambiare questa situazione. Ci distinguiamo dai molti altri software per presentazioni perché siamo pronti a svolgere il faticoso compito di sviluppare algoritmi sofisticati e perfezionare l'interfaccia utente, rendendo così l'uso del software soddisfacente per i nostri utenti. Ecco alcuni dei risultati del nostro lavoro:

Algoritmi

  • Abbiamo sviluppato un nuovo algoritmo per l'etichettatura automatica delle nuvole di punti che consente il posizionamento delle etichette lontano dai punti effettivi.
  • Abbiamo sviluppato un nuovo algoritmo per l'etichettatura automatica degli istogrammi.
  • Collaboriamo con John Forrest, autore del risolutore lineare CLP, per rendere il suo codice simplex più rapido con il nostro tipo di problemi.
  • Abbiamo sviluppato diverse strutture di dati generici non in C++ o Boost, ad esempio le partizioni.

Hacking

  • Per fare cose che sarebbero impossibili con le API di Microsoft Office documentate, utilizziamo molta ingegneria inversa unitamente al disassemblatore IDA della Hex-Rays.
  • Abbiamo scritto probabilmente il miglior motore di aggancio funzioni in circolazione. Ad ogni avvio del software, correggiamo gli eseguibili di Microsoft Office in memoria. Cerchiamo piccole porzioni di codice assembly piuttosto che cablare a codice gli indirizzi delle patch, in modo che siano più solide in caso di piccole modifiche al codice.
  • Reindirizziamo i contenuti delle finestre di PowerPoint ed Excel in buffer fuori schermo e utilizziamo Direct3D 9.0 per il rendering dell'interfaccia utente in cima.

Altri elementi salienti

  • Finanziamo il gruppo di lavoro per i linguaggi di programmazione dell'Istituto tedesco per la standardizzazione (DIN). Alcuni dei nostri dipendenti fanno parte di questa commissione e votano nel processo di standardizzazione internazionale di ISO/IEC C++.
  • In molti casi, siamo già passati alle funzionalità C++11, soprattutto per i riferimenti lambdas e rvalue.
  • Utilizziamo Boost in tutto il nostro codice, ad esempio Boost.Spirit per quasi tutte le nostre esigenze di analisi.
  • Abbiamo le nostre librerie con conteggio di riferimento e persistenza, per salvare e ripristinare intere strutture di oggetti.
  • Abbiamo scritto un parser e un writer per il formato .xls di Excel.
  • Disponiamo di una vasta infrastruttura per la segnalazione degli errori. I controlli di asserzioni ed errori rimangono nel codice di rilascio, mentre il software comunica i guasti automaticamente al nostro server. Il server analizza l'errore, lo classifica e lo inserisce in un database al quale possono accedere tutti i sviluppatori. Se un aggiornamento corregge l'errore, l'utente lo può scaricare direttamente da una pagina Web di risposta per l'errore.

Informazioni sul lavoro

Cerchiamo sviluppatori intelligenti e creativi con solide basi teoriche. Il candidato dovrà essere in grado di osservare un problema dal punto di vista dell'utente, discutere concetti astratti con gli altri colleghi sviluppatori e produrre un'implementazione elegante. Gli sviluppatori assunti in passato hanno conseguito nella maggior parte dei casi un master in informatica con risultati eccellenti o addirittura un dottorato.

Noi di think-cell amiamo le gerarchie orizzontali. Il candidato lavorerà principalmente in maniera indipendente e, nell'implementare una nuova funzione, sarà responsabile di una vasta gamma di attività. Ci aspettiamo che tutti i nostri sviluppatori si occupino di architettura, progettazione, implementazione e correzione di guasti, piuttosto che suddividere questi compiti tra diverse persone. In questo modo riduciamo al minimo la perdite di informazioni per problemi di comunicazione e affidiamo a ciascuno il controllo del proprio lavoro. Le idee di tutti sono ben accette, anche se questo comporta la modifica di una grande quantità di codice per migliorare le cose.

Abbiamo pubblicato un gran numero di articoli scientifici nei settori dell'intelligenza artificiale e la grafica digitale e incoraggiamo i nostri dipendenti a fare lo stesso. Patrociniamo la partecipazione a conferenze e abbiamo rapporti stretti con le università e gli istituti di ricerca negli Stati Uniti e in Germania.

think-cell incoraggia un sano equilibrio tra vita lavorativa e vita privata. Non lavoriamo la notte o nei fine settimana e aiutiamo le famiglie dei nostri dipendenti con una baby sitter aziendale a tempo pieno, disponibile gratuitamente in caso di malattia dei bambini o anche quando si ha voglia di passare una serata fuori casa.

I nostri stipendi sono competitivi e dopo un anno di impiego offriamo ai nostri sviluppatori EUR 120.000 all'anno. Se necessario, faremo tutto ciò che è nelle nostre possibilità per aiutare il candidato a trasferirsi a Berlino e ottenere il permesso di lavoro.

Interessato?

Se sei la persona che manca al nostro team, inviaci la tua candidatura in formato elettronico.

Invia subito la tua candidatura per e-mail

Vuoi saperne di più?

In caso di domande relative ad una posizione lavorativa presso think-cell, le nostre posizioni aperte o gli eventi, puoi contattare la nostra collega Annika Klauske.

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