Die digitale Vermessung der Welt

Software Engineering
Ready to Deploy

  1. Skalierbare Architektur Bei der Menge an Daten und der hohen Parallelität der Anfragen, ist eine skalierbare Architektur aus verschiedenen Services unumgänglich. Unsere Komponenten kommunizieren Workflow- und Event-basiert untereinander – aber auch mit den lokalen Hardware-Komponenten und Nutzer-Oberflächen.
  2. Container und Serverless Einen großen Teil unser Software-Komponenten entwickeln und betreiben wir in Containern. In Verbindung mit Serverless Computing ermöglicht uns dies komplikationslos zu deployen und automatisch zu skalieren – und dazu bei minimalem operationalen Aufwand.
  3. Tech Stacks Unsere Backend-Stacks basieren (neben etlichen anderen Sprachen wie C++ und Python) im Wesentlichen auf Java Spring, C# .NET Core, sowie NodeJS – je nach Team-Präferenz. Web-Frontends entwickeln wir teils reaktiv, teils responsiv u.a. mit React. Datenbank-Technologien umfassen klassische relationale und NoSQL-Datenbanken, sowie zunehmend NewSQL.
  4. Blockchain Um in sensiblen Märkten für mehr Sicherheit und Transparenz zu sorgen, speichern wir wichtige Daten manipulationssicher in Blockchain-Transaktionen. Wenn Kunden z.B. bei einem Fahrzeugkauf viel Geld ausgeben, ersetzen wir damit Glaube und Hoffnung durch beruhigendes Wissen.

Unser Arbeitsprozess
In a nutshell

  1. Spezifikation Anforderungen aller Art werden von den Product-Ownern an unsere IT Projekt-Manager übergeben. Diese erstellen zusammen mit den technischen Leads die Spezifikation für die Entwicklungsteams. Die Spezifikation enthält insbesondere auch die Abnahme-Bedingungen (teilweise schon formalisiert), sodass jeder Entwickler oder Forscher eine klare Aufgabenbeschreibung zur Verfügung gestellt bekommt.
  2. Forschung und Entwicklung Unser Entwicklungsprozess ist gekennzeichnet von agilen Methoden, die wir auf uns zugeschnitten verwenden. In jedem Sprint wird die Implementierung automatisiert getestet und mehrfach täglich gebaut, deployt und erneut getestet, um die Lauffähigkeit in der Cloud weitgehend problemlos sicherzustellen.
  3. Quality Unsere QA-Teams entwickeln danach E2E UI-Tests, um das Zusammenspiel der verschiedenen Komponenten zu verifizieren. Weitere Tests werden manuell oder automatisiert durchgeführt wie Last-, Performance-, Migration- oder Usability-Tests. QA übergibt dann ein Release zur Freigabe oder zum Cherry-Picking an das Produkt-Management.
  4. Operations Das Operationsteam ist sowohl für die verschiedenen Systeme der Entwicklungs- und Testumgebungen verantwortlich (CI/CD), als auch für den Betrieb on-premise und in der Cloud. Auch hier steht Automation im Vordergrund (IaC), um Fehlerquellen systematisch zu vermeiden. Skalierung, Backup/Restore, Sicherheit und Support sind weitere Schwerpunkte.

Software Engineering
Team Player

Michelle Zeyuan
Head of QA

Michelle ist aufgrund ihrer langjährigen Erfahrung im Bereich QA eine zentrale Anlaufstelle. Sie koordiniert die verschiedenen QA-Aufgaben, wie Test-Entwicklung, Durchführung, Dokumentation, sowie die Übergabe der Ergebnisse an die Entwicklungsteams oder das Produktmanagement.

Michelle durchlief ihre Ausbildung und sammelte umfangreiche Berufserfahrung in China, Singapur, Deutschland und Neuseeland. Sie ist Master of Engineering in Informatik sowie Master of Business Administration.

Sie ist erfahren in den Bereichen Softwaretestmethodik, Forschung, Automatisierungstests, Testmanagement und Softwareentwicklung. Zudem sammelte Michelle umfangreiche Erfahrungen in der Geschäftsanalyse in Kernbanksystemen, Funktionsspezifikation, Change Management, Geschäftsprozessoptimierung, Datenbankdesign und Berichtserstellung.

Ihr berufliches Profil hat sie mit den nächsten Etappen bei NCS, Gemalto und BrightOil Petroleum in Singapur im Bereich der Business- und Systemanalyse erweitert. Gap Identification, Function Specification, Erweiterungsdokumentation, Datenbankendesign und Reporterstellung gehörten hier zu ihren Aufgaben. In Auckland hat sie bei Olympic Software außerdem Entwicklerinnen und Entwickler in den Disziplinen Unit Testing und Testing Plan geschult.

#GhostInspector #SQL #JIRANerd #REST #SOAPUI

Matthias Pyka
Senior Software Engineer

Seit vielen Jahren für die Twinner GmbH tätig, gehört Matthias zu den erfahrenen Software-Engineers mit Überblick über einen großen Teil der unterschiedlichen Dienste unserer Applikationsstruktur. Als Team-Lead koordiniert Matthias die Implementierung seines Teams in Leipzig und stimmt sich auf technischer Ebene regelmäßig mit den anderen Team-Leads ab, um durchgängige Interoperabilität über die gesamte Infrastruktur zu gewährleisten.

Matthias hat Software-Entwicklung zunächst als Beruf gelernt und danach Informatik mit Schwerpunkt Verteilte Systeme studiert.

Danach hat er sich über viele Jahre für einen der größten deutschen Portalbetreiber vom Junior-Entwickler bis zum Entwicklungsleiter im Bereich Payment Solutions vorgearbeitet. Dort war er zuletzt fachlich verantwortlich für die Führung unterschiedlicher Teams, insbesondere für Entwicklung und Qualitätssicherung. Über die von ihm verantworten Systeme liefen viele hundert Millionen Euro Transaktionsvolumen, sodass er sich auch um Security und entsprechende Zertifizierung der Implementierung nach PCI DCC (Payment Card Industry Data Security Standard gekümmert hat.

Matthias ist ein erfahrener Praktiker und hat langjährige tiefgehende Erfahrung vom Backend bis zum Frontend, von verteilten Datenbanken (auch Sharding) bis zu hoch-performanten Messaging-Protokollen.

#Postgres #Meteor #Zend #JS #Git #Blockchain #Payment #PCI #GraphQL #WebSocket #Camel #Azure #AWS

Kolos Tatar
Head of Project Management

Kolos ist bei Twinner GmbH für das Management der Entwicklungsprojekte zuständig. Mit über 15 Jahren Erfahrung im internationalen IT-Projektmanagement sowie solidem DevOps-Background ist er in der Lage, ein Projekt auch in kritischen Phasen zeitgerecht zum Release zu führen. Ein hundertprozentiger Teamplayer, der mit aller Kraft dafür sorgt, dass jeder Mitarbeiter sein volles Potential im Projekt entfalten kann.

Kolos studierte technische Informatik in Budapest mit Schwerpunkt verteilter Datenbanksysteme. Erste berufliche Stationen als C++ Entwickler im CAD-Bereich führten ihn als Senior Software Engineer zu Sharp Electronics, wo er Anwendungen auf Basis der Open System Architecture entwickelte. Für SpinVox, einer internationalen Voice-to-Text Firma, optimierte er die Software-Lifecycle und verantwortete das Team-Coaching im Bereich Prozessoptimierung. Kolos war weiterhin über 6 Jahre für Cisco Systems tätig und entwickelte dort unter anderem eine interne Cloud-basierte CDaaS (Continuous Delivery as a Service) mit Jenkins, Docker, Mesos und Marathon. Zudem entwickelte er Plugins für Atlassian JIRA zur Prozessoptimierung, wie z.B. zur automatischen Generierung von Release-Dokumentationen. Vor seiner Mitarbeit bei Twinner war Kolos Deployment-Manager und Teamleader bei Magyar Telekom, einem der führenden ungarischen Telekommunikationsunternehmen.

#Jenkins #Maven #Ansible #IaaS #C++ #Java #Sonar #Automation #OpenStack #KanBan #Docker #Atlassian #Linux #OpenSource #Guitar #BubbleBall