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

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

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

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.
Axios ist unser HTTP Client.
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-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 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.