Softwareentwickler C++ (m/w/d)

Fast timer icon

Permanent Employment

Location icon

Berlin

Softwareentwickler C++ (m/w/d)

Calendar
Immediately searched (unlimited)
Clock
32–42 h per week
Dollar
75.000 € per year (negotiable)
Remote work Icon
Remote work not possible
Responsibilities Icon

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 uns 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
  • Unser Unternehmen 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.

Occupational fields

Softwareentwickler (m/w/d)

Software Development & Engineering

Tech

Advantages Icon

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

Parental Leave

Free Course Offers

Fair Remuneration

Holiday Pay

Flat Hierarchies

Promotion of Employee Initiatives

User Icon

Ü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.

All levels welcome (no experience required)

Languages

German

Skill set

C++

Company Icon

About think-cell

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 wir ein hochprofitables und von externen Investoren unabhängiges Unternehmen sind. 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.
Foundation year icon
Founded in 2002
Employee icon
25-49 employees
Company sectors icon
IT
Company size icon
Mittelständler
Company estimated annual revenue icon
100 - 500 M € annual revenue

By loading the map, cookies are set as specified in our data privacy. Learn more.

More information about the company
Frequently asked questions

Frequently asked questions

Arrow

Who or what is Campusjäger by Workwise?

Campusjäger is part of Workwise - a job platform that supports you throughout your entire career. We take care of recruiting for various companies and accompany you through the entire application process. Via Campusjäger by Workwise you can find jobs for students and graduates. You can manage your applications in your Workwise profile. Learn more about the connection between Workwise and Campusjäger.

Arrow

Is the job I see still available?

For jobs that are still open, you can click the 'Apply now' button. If this is not possible, the job has already been filled or temporarily deactivated.
Arrow

Which documents do I need for my application?

That depends entirely on the job you are applying for. In many cases it is sufficient to upload your PDF resume or fill out your Workwise profile.

Arrow

Where can I upload my records or documents?

You can upload your application documents in your Workwise profile. These can only be viewed by companies you are applying to.

Arrow

Where can I find more information about the company?

You can find more information in the company profile of think-cell.

Arrow

Can I process my application afterwards?

Yes, this is possible. In your application overview you can view your information and make changes. If you have already been invited to an interview, editing is no longer possible. However, you can still add general information and upload additional documents in your profile.

Arrow

How do I get news about my application?

In your application overview at Workwise you have an overview of the application progress at any time. Additionally, we send you emails about the most important status changes.

Arrow

Can I send several applications at once?

The number of your applications is not limited. An overview of your applications can be found at Workwise.

Arrow

Can other companies see where else I have applied?

No, companies can only see the applications they have received.
Arrow

Can I also contact the company's contact person directly?

Personal contact is possible via chat as soon as you have been invited for an interview. Before that, you will receive all important status changes by e-mail. If you have any questions, you can contact your personal Candidate Manager:in from Workwise.

Arrow

I don't think I meet all the requirements. Can I still apply?

Even if you don't meet all the requirements, you can make up for missing knowledge with additional skills. Use the application's questions to address your motivation and show the company why you are still a good fit for the job. If you don't meet many or all of the requirements, the application will not be successful.
Arrow

What do I have to consider if I am not from Germany?

Please make sure to provide all necessary documents within your Workwise profile. It should include an EU work-permit (if you have no EU citizenship) and a CV at least. Depending on the position you are applying to, you could also be asked for a certificate of enrollment, a transcript of records or a language certificate. We would also recommend to inform yourself thoroughly in advance about visa regulations. Therefore you can use the official visa navigator from the Federal Foreign Office.

Arrow

What do I have to consider if German is not my mother tongue?

Please take into account the job’s language requirements and make sure the requirements match your skills. In the job search you can use the language filter to find jobs without German language requirements. It is also helpful to provide language certificates. This section in our help center may support you during the application process.

Our job offer Softwareentwickler C++ (m/w/d) sounds promising? We're looking forward to your application.

Similar Jobs for you

Find similar jobs