Software Developer / Testing / Design /International (m/w/d)



  • Über diesen Job

    Wir suchen intelligente, kreative Entwickler mit soliden theoretischen Kenntnissen. Fast alle unsere Entwickler haben einen überdurchschnittlich guten Master-Abschluss oder eine Promotion im Fach Informatik. Du wirst größtenteils selbständig arbeiten und bist bei der Implementierung einer neuen Funktion für den gesamten Prozess zuständig. Du solltest Probleme aus der Benutzerperspektive sehen und abstrakte Konzepte mit anderen Entwicklern erörtern können. Wir erwarten von allen unseren Entwicklern, dass sie selbstständig in den Bereichen Architektur, Design, Implementierung, Kundenfeedback und Fehlerbehebung arbeiten, anstatt diese Tätigkeiten auf mehrere Mitarbeiter aufzuteilen. Daher überlassen wir jedem die volle Kontrolle über seine Arbeit.

    Unser Angebot

    • Ein breites Spektrum an besonders spannenden Aufgaben in der C++-Entwicklung
    • Ein internationales Team brillanter Köpfe
    • Eine Arbeitsumgebung, in der das Team sich wohlfühlt und beständig wächst
    • Genug Zeit, um sicherzugehen, dass Deine Lösung bis ins kleinste Detail stimmt
    • Flache Hierarchien und genug Raum für Deine Ideen
    • Keine angesetzten Meetings
    • Familienfreundliche Arbeitszeiten, keine Deadlines, keine Überstunden
    • Unterstützung beim Umzug
    • Von Beginn an eine wettbewerbsfähige Vergütung und eine Gehaltserhöhung auf 120.000 EUR Jahresgehalt nach nur einem Jahr

    Unsere Software

    Unser Schwerpunkt liegt auf kaufmännischen Präsentationen (im Gegensatz zu eher künstlerischen Anwendungsbereichen), da diese ein größeres Potenzial zur Automatisierung von Aufgaben bieten, die bislang in der Regel von PowerPoint-Anwendern selbst durchgeführt werden. Die Herausforderungen sind dabei zahlreich: von einem eingehenden Verständnis dazu, was ein gutes Layout ausmacht und welche Richtlinien bei der Erstellung eines Layouts beachten werden müssen, über Algorithmen, die akzeptable Ergebnisse liefern, die schnell genug für ein interaktives Foliendesign sind, und einer neuen grafischen Benutzeroberfläche, die unseren neuen, originellen Ansatz bezüglich des Folienlayouts leicht verständlich und reibungslos gestaltet, bis hin zu soliden technischen Lösungen für die automatisierte Fehlerberichterstattung und automatische Updates sowie der Kompatibilität mit Software von Drittanbietern auf den Computern von über einer halben Million Benutzern. Nachfolgend haben wir einige Highlights unserer Arbeit zusammengestellt. Sprache

    • Wir programmieren alles in C++. Selbst unser Kundenportal ist in C++ geschrieben. Der Glue Code wird gegebenenfalls in Assembler erstellt und unsere Build-Scripts sind in Python geschrieben, aber davon abgesehen geht es bei think-cell nur um C++.
    • Selbstverständlich verwenden wir C++ Funktionen wie Lambdas und R-Wert-Referenzen in unserer gesamten Codebasis. Und wir sind auf C++17 umgestiegen, wo unsere Compiler dies unterstützen.
    • Wir finanzieren die Arbeitsgemeinschaft für Programmiersprachen des Deutschen Instituts für Normung (DIN). Einige unserer Mitarbeiter sind Mitglied dieses Ausschusses und im internationalen Standardisierungsprozess von ISO/IEC C++ wahlberechtigt.
    • Wir sponsern die Standard C++ Foundation und fördern so die Anwendung und das Verständnis von modernem Standard-C++ auf allen Compilern und Plattformen.
      Bibliothek
    • Wir verwenden Boost in unserem gesamten Code, zum Beispiel Boost.Spirit für das Parsing.
    • Wir haben eine eigene Range-Bibliothek, die mit Boost.Range oder range-v3 von Eric Niebler vergleichbar ist, aber weiter geht als diese, indem z. B. externe und interne Iterationen vereinheitlicht werden. Zu diesem Thema haben wir einen Vortrag gehalten und der Großteil des Codes ist verfügbar.
    • Wir entwickeln unsere eigene plattformunabhängige Bibliothek zur Unterstützung von Windows und Mac auf einer gemeinsamen Codebasis.
    • Wir haben unsere eigenen Reference-Counting- und Persistenzbibliotheken, um ganze Objektstrukturen zu speichern und wiederherzustellen.
    • Wir besitzen eine umfangreiche Infrastruktur für Fehlerberichte. Assertions- und Fehlerprüfungen bleiben im freigegebenen Code und unsere Software meldet Fehler automatisch an unseren Server. Der Server analysiert den Fehler, kategorisiert ihn und speichert ihn in einer Datenbank, auf die alle Entwickler Zugriff haben. Wird der Fehler durch ein Update behoben, kann der Benutzer dieses Update direkt von einer Fehlerantwortseite herunterladen.
      Algorithmen
    • think-cell wurde mit dem Ziel gegründet, einen Algorithmus für ein automatisches Folienlayout zu entwickeln, und bis zum heutigen Tag befinden wir uns auf einer aufregenden Reise, um diese ambitionierte Vision zu erreichen. Hier siehst Du unsere neueste Version in Aktion!
    • Wir haben einen neuen Algorithmus für die automatische Beschriftung von Punktwolken entwickelt, der es ermöglicht, die Beschriftungen entfernt von den Punkten zu positionieren.
    • Wir haben einen neuen Algorithmus für die automatische Beschriftung von Säulendiagrammen entwickelt.
    • Wir arbeiten mit John Forrest, dem Verfasser des Linearen Solvers CLP, zusammen, um seinen Simplex-Code für unsere gegenwärtigen Probleme schneller zu machen.
    • Wir haben mehrere allgemeine Datenstrukturen entwickelt, die nicht in C++ oder Boost zu finden sind, zum Beispiel Partitionen.
    • Unsere Software erstellt nicht nur Diagramme, sie ist auch in der Lage, diese vom Blatt zu lesen. Für unser Tool zur Diagrammerkennung verwenden wir OpenCV und die Leptonica Image Processing Library.
      Reverse Engineering
    • Wir nutzen häufig das Reverse Engineering mit dem Disassember IDA von Hex-Rays um Dinge zu erreichen, die über die dokumentierte API von Microsoft Office nicht möglich sind.
    • Wir haben das wahrscheinlich beste Modul für das Function Hooking geschrieben. Bei jedem Start unserer Software patchen wir die ausführbaren Dateien von Microsoft Office im Speicher. Anstelle von fest codierten Patch-Adressen suchen wir nach kurzen Abschnitten von Assembler-Code, um robust gegenüber kleinen Code-Änderungen in den Binärdateien zu sein.

    Über uns

    Wir sind ein schnell wachsendes Software-Unternehmen mit Sitz in Berlin, das auf die Entwicklung innovativer Grafikprodukte spezialisiert ist. Mehr als 750.000 Anwender weltweit verlassen sich bei ihrer täglichen Arbeit auf unsere Software, um PowerPoint-Präsentationen einfacher, schneller und effizienter zu erstellen. Zu unseren Kunden zählen viele renommierte Beratungsunternehmen sowie große internationale Firmen. Wir müssen hinsichtlich der Codequalität und -ästhetik keine Kompromisse eingehen, da think-cell ein hochprofitables und von externen Investoren unabhängiges Unternehmen ist. In der Entwicklung fortschrittlicher Algorithmen und bei der Verbesserung unserer Benutzeroberfläche scheuen wir keinen Mehraufwand und können stolz auf eine Vielzahl zufriedener Kunden blicken. Unser Unternehmen wird von erfahrenen Informatikern geführt und das trägt mit Sicherheit dazu bei, dass sich außergewöhnliche Entwickler in dieser Arbeitsumgebung wohlfühlen.

    Wenn diese Stelle dein Interesse weckt, bewirb dich jetzt über Campusjäger bei uns! Wir freuen uns darauf.

    Mehr Informationen und Bewerbung unter Campusjäger by Workwise: https://www.campusjaeger.de/s/YqjKnJx-software-developer--testing--design-international-mwd