„Als Student kann man bei Mayflower unheimlich viel bewegen“

Praktikum, Werkstudententätigkeit, Betreuung von Bachelorarbeiten – all das bieten wir für Studenten an. Aber wie sieht es konkret aus? Wie ist es als Student bei Mayflower zu arbeiten? An welchen Projekten arbeitet man da? Was lernt man? Was nimmt man für das Studium mit?

Einen Einblick gibt Stephanie Ehrenberg, die seit 2016 Teil der Mayflower-Crew ist und Informatik an der Hochschule München studiert. Steff hat bei uns zunächst ein Pflichtpraktikum im Rahmen ihres Studiums absolviert und uns danach als Werkstudentin unterstützt. Seit kurzem schreibt sie nun auch ihre Bachelorarbeit bei uns.
Weiterlesen

React-Workshop für Einsteiger

In diesem React-Workshop möchte ich einen schnellen und praktischen Einstieg in die Entwicklung mit dem JavaScript-Framework bieten und alle Bestandteile vorstellen, die man benötigt, um eigene Anwendungen mit dem erfolgreichen und weit verbreiteten System zu entwickeln.

Hierfür erstellen wir zusammen eine kleine Web-Applikation, die den Benutzer eine ToDo-Liste verwalten lässt, in der er neue Tasks anlegen sowie bestehende Tasks löschen und umpriorisieren kann. Im Laufe der Umsetzung werden alle wichtigen Grundprinzipien von React Schritt für Schritt vorgestellt und in die Praxis umgesetzt.

Was ist React?

React-Logo

Bei React handelt es sich um ein von Facebook ins Leben gerufenes Web-Framework für die Entwicklung von Single-Page-Webanwendungen. Die einzelnen Bestandteile unserer Anwendung werden unter React konsequent durch die Realisierung unabhängiger und modularer Komponenten konzeptioniert.

Der Benutzer erfährt hierdurch eine sehr responsive und gesamtheitliche User-Experience, die mit Hilfe des Frameworks sehr einfach und gut strukturiert umgesetzt werden kann.

Weiterlesen

Vom „Geheimbund der transparenten Gehälter“ zu einem neuen Gehaltsworkflow

Bereits 2015 reifte in den Köpfen einiger Kollegen die Idee von „transparenten Gehältern“. Doch es gab Widerstände unter dem Rest der Crew. Also bedienten wir uns eines „Kultur-Hacks“: In einer Bierlaune gründeten wir den „Geheimbund der transparenten Gehälter“. Alle Mitglieder, die durch Unterschrift auf die „Magna Carta“ aufgenommen wurden, verpflichten sich, innerhalb des Geheimbundes ihre Gehälter offen zu legen, nach außen jedoch absolutes Stillschweigen zu bewahren.

Der Geheimbund der transparenten Gehälter

Diese Geschichte spielte sich im Wiki unserer Firma ab. Jeder sah was da gespielt wird, die Gehälter-Seite war aber nur den Mitgliedern zugänglich. Wir hatten angeregte Diskussionen, mit reger Beteiligung.

Weiterlesen

„Mit NixOS hat man keine Angst mehr, sein System neu zu deployen.“

NixOS Hummingbird LogoVor ein paar Tagen ist NixOS 17.09 „Hummingbird“ erschienen. An Bord sind nicht nur Updates und Neuerungen wie beispielsweise das Handling von UIDs/GIDs, sondern auch zahlreiche neue Services.

Die dafür verantwortlichen Release-Manager Franz und Robin sind Admins in unserem Münchner Mayflower-Büro – und wer hätte es geahnt: Beide besitzen eine ausgeprägte Leidenschaft für das Betriebssystem, das vor allem im Bereich des Configuration Managements einiges anders macht als andere Linux-Distributionen und Puppet, Ansible und Co damit vergessen macht.

Weiterlesen

Symfony Flex – der Workflow für Symfony 4.0

Im November ist es wieder so weit: Wenn in Cluj die diesjährige Symfony Con stattfindet, wird es auch zur Vorstellung von Symfony 4.0 kommen. Neben einigen Änderungen in der Struktur und Größe einer Symfony-Applikation scheint es eine weitere bahnbrechende Veränderung für Symfony-Applikationen zu geben: Symfony Flex.

Bei Symfony Flex handelt es sich nicht um ein neues Produkt oder ein neues Bundle; vielmehr geht es darum, einen neuen Workflow zu etablieren – einen Workflow, bei dem den Entwicklern beim Erstellen einer Symfony-Applikation einiges an Arbeit abgenommen werden soll.

Weiterlesen

Of races and mutexes: synchronizing async operations in JavaScript

While JavaScript is a strictly single-threaded language, the asynchronous nature of its execution model can easily lead to situations in which two or more async operations run at the same time and compete with the program flow depending on which operation succeeds first. The result is a specimen of the dreaded species of race conditions.

Issues of this type can be arbitrarily hard to reproduce, debug and fix, and I guess that every seasoned JavaScript developer can relate one or two horror stories where they literally spent days before finally fixing such an issue for good.

Race conditions are a well-known problem from any language that supports for concurrency, and often a mutex is used as a tool to synchronize such operations. This article shows how to apply the concept of mutexes to JavaScript in order to avoid race conditions.

Weiterlesen

10 Dinge, die Entwickler an (JIRA-)Tickets schätzen

Im letzten Monat habe ich auf dem PO-Camp darüber gesprochen, welche Bestandteile und Prinzipien aus Entwickler-Sicht für gute (JIRA-)Tickets erforderlich sind. Die gesammelten Anforderungen basieren auf der einen Seite auf kurzen Interviews mit Entwickler-Kollegen, die ich im Rahmen unserer Slacktime durchgeführt habe („Was machen für Dich gute JIRA-Tickets aus?“). Zum anderen fließen aber auch meine persönliche Erfahrung als Entwickler und Team-Mitglied, das relativ viel mit dem Kunden kommuniziert, mit ein.

Herausgekommen sind 10 Punkte, die sich auf das Format, den Inhalt und die Rahmenbedingungen, unter denen das Team mit den Tickets arbeitet, beziehen. Weiterlesen

TypeScript für Java-Entwickler

Java-Entwickler die einen Job als Webentwickler annehmen, werden früher oder später mit der Programmiersprache JavaScript konfrontiert. Obwohl die Namen der beiden Sprachen sehr ähnlich klingen und auch deren Syntax recht ähnlich ist, handelt es sich dabei um zwei grundverschiedene Programmiersprachen.

TypeScript für Java-Entwickler

Für Webentwickler mit Java-Hintergrund stellt TypeScript eine attraktive Alternative für die Entwicklung von JavaScript-Anwendungen dar. Mit dieser Transpilersprache lässt sich JavaScript-Quellcode sehr gut strukturieren und effektiv verwalten.

Weiterlesen

TypeScript-Tooling mit npm und Webpack

In diesem Beitrag beschäftige ich mich mit dem TypeScript-Tooling. Ich werde zeigen, wie einfach und komfortabel man ein Webprojekt mit TypeScript als Compiler und Webpack als Bundler unter Verwendung des Node Package Managers npm installieren und betreiben kann.

Darüber hinaus zeige ich an einem praktischen Beispiel, wie sich externe JavaScript-Bibliotheken mit den dazugehörigen TypeScript-Definitionsdateien via npm importieren und typisiert einsetzen lassen.

Weiterlesen

Kanban Anti-Pattern: der Kanban-Modus

Die Situation kommt vielleicht bekannt vor: Das Scrum-Team rückt einer Deadline näher, der Scope ist noch immer groß und die Projektbeteiligten machen sich Sorgen, ob denn die Deadline zum geplanten Release gehalten werden kann. In so einer Situation gibt es verschiedene Herangehensweisen, um erfolgreich zu sein.

Ich war Scrum Master eines Teams, das sich entschlossen hat, in dieser heißen Phase in den sogenannten Kanban-Modus zu wechseln. In diesem Blogpost möchte ich beschreiben, was sich das Team davon erhofft hat, was wir dabei gelernt haben und ob wir damit die Deadline halten konnten.
Weiterlesen