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.

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.

"Mein Antrieb ist ein Team aus sehr guten Softwareentwicklern aufzubauen und zusammen die immer neuen Herausforderungen zu meistern. myposter ist fĂŒr mich hohes Tempo, kollegiales Miteinander und rasantes Wachstum."

„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

jennifer2

„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

DAS TEAM

Unsere Softwareentwicklung besteht aktuell aus 20 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%
Frontend0%
App iOS0%
App Android0%
Devops0%

TECH-STACK

Backend

Das Zend Framework ist unsere Grundlage im Backend.
Das Zend Framework ist unsere Grundlage im Backend.
Die Komponenten von Symfony sorgen fĂŒr VerstĂ€rkung.
Die Komponenten von Symfony sorgen fĂŒr VerstĂ€rkung.
Doctrine mappt unsere Entities in die Datenbank.
Doctrine mappt unsere Entities in die Datenbank.
In PHP 7 ist unser Backend programmiert.
In PHP 7 ist unser Backend programmiert.
PhpStorm sorgt fĂŒr den Durchblick beim Programmieren.
PhpStorm sorgt fĂŒr den Durchblick beim Programmieren.
In PHPUnit schreiben wir unsere Unit Tests!
In PHPUnit schreiben wir unsere Unit Tests!
In Codeception fĂŒhren wir alle anderen Arten von Tests durch.
In Codeception fĂŒhren wir alle anderen Arten von Tests durch.
In Graylog laufen alle Backend- und Server-Logs zusammen.
In Graylog laufen alle Backend- und Server-Logs zusammen.

Frontend

vue.js ist unser Frontend-Framework: vielseitig und effizient.
vue.js ist unser Frontend-Framework: vielseitig und effizient.
ES6, oder doch ECMAScript 2015, 2016, ...
ES6, oder doch ECMAScript 2015, 2016, ...
Babel transpiliert von der Zukunft in die Gegenwart.
Babel transpiliert von der Zukunft in die Gegenwart.
Sass prĂ€prozessiert fleißig unser CSS.
Sass prĂ€prozessiert fleißig unser CSS.
Über Gulp automatisieren wir alle Frontend-Tasks.
Über Gulp automatisieren wir alle Frontend-Tasks.
BEM - viele Klassen fĂŒr viel Struktur.
BEM - viele Klassen fĂŒr viel Struktur.
Wir nutzen CSS3 fĂŒr moderne Layouts.
Wir nutzen CSS3 fĂŒr moderne Layouts.
Webpack wird bei uns als Module Bundler eingesetzt.
Webpack wird bei uns als Module Bundler eingesetzt.
Der Editor Atom ist bei uns im Frontend sehr beliebt.
Der Editor Atom ist bei uns im Frontend sehr beliebt.
In Rollbar laufen bei uns alle Frontend-Logs zusammen.
In Rollbar laufen bei uns alle Frontend-Logs zusammen.
Mit BrowserStack testen wir die exotischsten GerÀte und Browser.
Mit BrowserStack testen wir die exotischsten GerÀte und Browser.
Wir verwenden Jest zum Testen unserer Web-Applikationen
Wir verwenden Jest zum Testen unserer Web-Applikationen

App iOS

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

App Android

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

DevOps

In MySQL werden alle unsere Daten gespeichert.
In MySQL werden alle unsere Daten gespeichert.
Mit Grafana behalten wir unsere Server im Auge.
Mit Grafana behalten wir unsere Server im Auge.
Alle unsere Requests mĂŒssen durch HAProxy durch.
Alle unsere Requests mĂŒssen durch HAProxy durch.
Langsam aber sicher wird mit Docker alles zu einem Container.
Langsam aber sicher wird mit Docker alles zu einem Container.
Nginx ist fĂŒr PHP-Requests zustĂ€ndig.
Nginx ist fĂŒr PHP-Requests zustĂ€ndig.
In CEPH speichern wir alle Dateien.
In CEPH speichern wir alle Dateien.
Unsere Message-Queue lÀuft auf RabbitMQ.
Unsere Message-Queue lÀuft auf RabbitMQ.
Mit Harbor verwalten wir unsere Docker-Images.
Mit Harbor verwalten wir unsere Docker-Images.
Redis ist unser verteilter Backend-Cache.
Redis ist unser verteilter Backend-Cache.
Puppet wird fĂŒr die automatisierte Konfiguration genutzt.
Puppet wird fĂŒr die automatisierte Konfiguration genutzt.

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 fĂŒr Code Reviews Bitbucket.

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 an der Planung beteiligt.

 

Wir sprinten in einem zweiwöchigen Rhythmus und gehen dabei agil vor. Dazu gehören  tĂ€gliche Stand-ups und am Anfang jedes Sprints ein Planning. Je nach Bedarf fĂŒhren wir am Ende Reviews durch.

 

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.

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-Flow. Damit 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. 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.

BLOG ARTIKEL

TECH EVENTS

JOBS

Wir suchen VerstĂ€rkung fĂŒr unser Team! Und freuen uns immer ĂŒber neue Kollegen, die mit uns beherzt an immer neuen Funktionen unseres Online Shops und Apps tĂŒfteln und unsere Produktion zu noch mehr Leistung bringen.

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.