Tech Team

Martin_Terrasse

WE ♥ TECH

Wir sind das führende E-Commerce Unternehmen im Bereich des Premium Digitaldrucks!

Von unserem Online Shop, über die Anbindung unserer Produktion bis zur Ansteuerung der Produktionsmaschinen, wird bei uns alles Inhouse programmiert!

 

Und genau deshalb kommt der Softwareentwicklung eine ganz besondere Bedeutung in unserem Unternehmen zu. Getrieben von den neuesten technischen Entwicklungen und dem Ziel unseren Kunden die beste Website im Hinblick auf Usability und Funktionalität zu bieten, bewältigt unsere Softwareentwicklung jeden Tag aufs Neue spannende Herausforderungen.

 

myposter ist stolz die Weiterentwicklung von Open Source Software zu unterstützen.

Seit Anfang 2019 sind wir Patreon von Anton Lavrenov, der das 2D Canvas Framework „Konva“ entwickelt. Konva ist ein zentraler Bestandteil unserer Produkt-Designer und ermöglicht uns einen komfortablen Umgang mit dem <canvas>-Element.

Technisch sind wir immer am Puls der Zeit. Wir halten uns an Clean Code, automatisieren und testen, haben einen CI-Server und verwenden die neueste Hard- und Software. Dabei halten wir uns natürlich an die Grundprinzipien guter Softwareentwicklung, um optimale und nachhaltige Lösungen zu schaffen.

„Wir sind ein Team, in dem man sich kollegial unterstützt, aufeinander verlassen kann und zusammen auf hohem Niveau Software entwickelt wird. Wir geben unser Wissen aktiv an andere weiter, tauschen uns aus und helfen uns gegenseitig. Denn wir glauben, dass die Entwicklung von Software so am besten funktioniert. Um noch mehr zu lernen, veranstalten wir regelmäßig Tech-Talks, nehmen an Konferenzen und Schulungen teil und probieren neue Ideen aus.“

Max, Leitung Softwareentwicklung

„Als Frontend Entwicklerin gefällt mir besonders, dass ich das Frontend bei unserem Relaunch direkt mitgestalten konnte und immer die neuesten Technologien ausprobieren kann. Aber nicht nur meine Aufgaben, sondern auch unser Team und die unbürokratische Arbeitsweise bei myposter, waren für meinen Start im November 2015 ausschlaggebend. Zuvor habe ich an der LMU Medieninformatik studiert und als Freelancer gearbeitet.“

Jennifer, Frontend Entwicklerin

DAS TEAM

Unsere Softwareentwicklung besteht aktuell aus 22 Entwicklern verschiedenster fachlicher Disziplinen. Viele unserer Softwareentwickler arbeiten im Backend und sind vom Online-Shop, über unsere eigenen APIs, bis hin zur Steuerung der Produktion überall involviert.

Unsere Frontend Entwickler kümmern sich vor allem um die Weiterentwicklung des Online-Shops, von Landing-Pages bis hin zu komplexen Online-Konfiguratoren.

Auch unsere iOS und Android Apps werden komplett inhouse entwickelt. Unsere App-Entwickler zeigen, was auf mobilen Geräten rund um das Thema Bilder alles möglich ist.

Zudem stellt unser DevOps Team, die für die hohen Anforderungen nötige Infrastruktur zur Verfügung.

Backend0%
Devops0%
Frontend0%
App iOS0%
App Android0%

TECH-STACK

myposter Tech Stack

Backend

Die Komponenten von Symfony 4 sorgen für Verstärkung.
Das Zend Framework ist unsere Grundlage im Backend.
Doctrine mappt unsere Entities in die Datenbank.
In PHP 7 ist unser Backend programmiert.
PhpStorm sorgt für den Durchblick beim Programmieren.
In PHPUnit schreiben wir unsere Unit Tests!
In Codeception führen wir alle anderen Arten von Tests durch.

DevOps

Mit Terraform bauen wir unsere Infrastruktur.
In MySQL werden alle unsere Daten gespeichert.
Nginx setzen wir primär als Webserver ein.
Unsere Message-Queue läuft auf RabbitMQ.
Redis ist unser verteilter Backend-Cache.
Ansible hilft uns, um schnell und einfach verteilte Aufgaben auszuführen.
Mit Datadog behalten wir unsere Infrastruktur im Auge.
Langsam aber sicher wird mit Docker alles zu einem Container.
In AWS S3 speichern wir alle Dateien.
Kubernetes nutzen wir, um unsere Application in der Cloud zu betreiben.
PHP-FPM ist für die meisten dynamischen Requests zuständig.
Mit Amazon ECR verwalten wir unsere Docker-Images.
Für das optimale Routing innerhalb unseres Clusters nutzen wir ISTIO.
Alle unsere Requests müssen durch AWS ALB durch.

Frontend

vue.js ist unser JavaScript Framework: vielseitig und effizient.
Vue CLI erlaubt es uns schnell und einfach neue Projekte mit Vue.js aufzusetzen.
JavaScript entwickelt sich weiter - und wir auch!
Babel transpiliert von der Zukunft in die Gegenwart.
Webpack wird bei uns als Module Bundler eingesetzt.
Electron bringt unsere Webseite auch auf den Desktop.
Wir nutzen CSS3 für moderne Layouts.
Sass präprozessiert fleißig unser CSS.
Mit BEM strukturieren wir unser CSS.
Wir verwenden Jest zum Testen unserer Web-Applikationen
Nightwatch.js - End-to-End Testing leicht gemacht!
ESLint hilft uns bei der Einhaltung unserer JS Coding Guidelines.
stylelint ist das ESLint-Pendant für unser CSS.
Mit BrowserStack testen wir die exotischsten Geräte und Browser.
In Rollbar laufen bei uns alle Frontend-Logs zusammen.
Der Editor VSCode ist bei uns im Frontend sehr beliebt.

App iOS

Wir programmieren unsere App stets mit der aktuellen Swift-Version.
Xcode ist unsere IDE, was auch sonst?
Externe Abhängigkeiten verwalten wir über CocoaPods.
ReactiveX für Swift? RxSwift!
ReSwift (Redux), denn "Massive View Controller" war gestern.
Bitrise kümmert sich darum, dass wir immer einen aktuellen Build haben.

App Android

Android Studio ist die IDE unserer Wahl.
Unsere Android-App wird in Kotlin programmiert.
RxJava wird zur asynchronen Datenverarbeitung genutzt.
Für Instrumentation-Tests setzen wir Barista ein.
Bitrise kümmert sich darum, dass wir immer einen aktuellen Build haben.

Außerdem nutzen wir für die Dokumentation Confluence, für Continuous Integration TeamCity, für die Planung der Aufgaben Projectplace, für die interne Kommunikation Slack, für lokale Entwicklungsumgebungen Vagrant und Docker und für Code Reviews Bitbucket.

UNSER QUELLCODE

 

Unseren Quellcode verwalten wir mit Git und verwenden als Server Bitbucket, worüber wir auch unsere Code Reviews durchführen. Unser Branching-Modell richtet sich nach Git-FlowDamit unser Quellcode möglichst fehlerfrei und homogen bleibt, verwenden wir diverse Linter und Sniffer, sowohl im Backend mit PHPCS, PHPMD und PHPCPD als auch im Frontend mit ESLint und stylelint. Bei uns schlagen Builds am CI-Server auch fehl, wenn der Code Style nicht eingehalten wird.

UNSERE SERVER

 

Aktuell betreiben wir in 2 Rechenzentren 33 Bare-Metal-Server. Von diesen 33 Bare-Metal-Servern dienen 7 zur Virtualisierung von weiteren Servern. Zusammen kommen wir auf 56 Systeme, die die Webseite von myposter hosten. Alles ist redundant ausgelegt, um für eine sehr hohe Verfügbarkeit zu sorgen. Mehr dazu steht im Blog-Artikel Server Architektur. Um die Bilder unserer Kunden hochverfügbar zu halten betreiben wir außerdem einen Storage-Cluster mit 280TB Speicherkapazität.

SO ARBEITEN WIR

 

Wir arbeiten in kleinen interdisziplinären Projektteams, die wir individuell je nach Projekt zusammenstellen. Dies hat zwei Vorteile: zum Einen sind immer alle nötigen Spezialisten in einem Projekt vertreten. Zum Anderen arbeitet man auch immer wieder mit anderen Kollegen aus der Softwareentwicklung, aber auch aus den anderen Teams, zusammen. Und natürlich sind bei jedem Projekt unsere Softwareentwickler von Anfang an bei der Planung mit dabei.

 

Wir halten uns nicht starr an eine Projektmethode, sondern greifen uns je nach Thema und Ziel die passenden Elemente aus den bewährten agilen Methoden (z.B. Srcum und Kanban) heraus. Bei uns kann jedes Projektteam selbst entscheiden, wie es arbeiten möchte. So sprinten manche z.B. im regelmäßigen Rhythmus und treffen sich in täglichen Stand-ups. Die meisten arbeiten mit Boards und Karten, um den Überblick nicht zu verlieren. Auch Plannings und Reviews gehören immer wieder mit dazu.

 

Abgeschlossene Projekte werten wir aus, um daraus abzuleiten, was verbessert und geändert werden kann. Daraus ergeben sich dann auch Verbesserungen, Optimierungen und mehr Effizienz für das gesamte Unternehmen.

 

Wenn das nach nach Dir und Deiner Arbeitsweise klingt, werde Teil unseres Teams! Unsere offenen Stellen findest Du hier.

UNSERE NEUESTEN TECH BLOG ARTIKEL

I am test text for Image with text shortcode.

myposter verwendet Cookies, um Ihren Online-Einkauf und Ihr persönliches Shoppingerlebnis so angenehm wie möglich zu gestalten. Wenn Sie unsere Services weiterhin nutzen, gehen wir davon aus, dass Sie der Verwendung von Cookies zustimmen.Hier finden Sie weitere Informationen zu Cookies und wie Sie diese ablehnen.