webfactory Neuigkeiten https://www.webfactory.de/assets-version-1484135180/bundles/webfactorywebsite/img/inside-logo.png Logo Webfactory http://www.webfactory.de Zend_Feed_Writer 2 (http://framework.zend.com) https://www.webfactory.de/blog/ © 2017 webfactory GmbH Bericht zur Beyond Tellerrand 2016 in Düsseldorf Nein, ich brauchte kein Visum, um nach Düsseldorf zu fahren. War tatsächlich ganz einfach da hin zu kommen, in die "verbotene Stadt", aber ob ein bönnsches/kölsches Herz das unbedingt möchte, sei mal dahingestellt...
Auf nach Düsseldorf also. Am 9. und 10. Mai 2016 fand die Beyond Tellerrand statt.

Nachdem ich letztes Jahr im November in Berlin war und positiv berichtete, hatten wir die Tickets für Düsseldorf schon gekauft, als noch so gut wie gar keine Speaker feststanden... Ich kannte bisher keinen der Namen der Speaker, die dann announced wurden, abgesehen von Val Head und Jeremy Keith, den ich sehr gerne zu meinen Freunden zähle :).

Die Location war super erreichbar und davor gab es viel Platz, um die Sonne zu genießen. In der Location selbst gab es mehrere Bars und man konnte sogar MarioKart spielen, was Stefan und ich uns nicht haben nehmen lassen. Dome und meinen alter Ausbilder Søren hat man natürlich am Kicker gefunden.

13 Talks auf zwei Tage verteilt ist angenehm. Da hat man abends noch genug Energie, um nach Hause zu fahren oder sich für den Tag mit einem, zwei oder mehr Bierchen zu belohnen. Gerne auch mit Jeremy Keith, Christian Heilmann, der diesmal für Microsoft da war, und ein paar Mitarbeitern der Konferenz.

Manche Talks waren ziemlich js-lastig, weshalb ich (mit meinen Anfänger jQuery skills) nichts verstand, andere habe ich leider grundsätzlich nicht verstanden. Manchmal sitzt man in einem Talk und weiß gar nicht so recht, was man denn jetzt daraus mitnehmen soll. Sachen gibts...

Nach jedem Talk hat der grandiose Baldower wieder seine Live-Mixes rausgehauen. In Berlin 2015 habe ich ihn das erste Mal gesehen und war fasziniert von diesem Mann. Ihn diesmal wieder zu sehen und zu hören war ein Fest!

 

Vier Talks habe ich mir rausgepickt.

Vier richtig gute, wie ich finde. Ich hatte mir vorgenommen, die Talks, die ich gut fand, als Poster zu designen. Ich war mir anfangs unsicher, ob ich das auch hinbekomme, da ich nie Poster oder typografische Gestaltung gemacht hatte. Resilience war das Erste. Als ich es auf Twitter veröffentlichte, fand Jeremy Keith es so schön, dass er es retweetete. Dadurch ist mein Twitter binnen kürzester Zeit buchstäblich explodiert! Fast 30.000 Leute haben dieses Poster gesehen und ich habe eine Menge positives Feedback bekommen, auch von einigen guten Speakern, die man so kennt. Von da an war ich mir sicher, dass die Idee mit den Postern eine ziemlich gute war :)

"Time + Creativity" by  Christopher Murphy @fehler

Christopher Murphy, der Kopf hinter tinybooks.com, ist Author, Designer und Lehrer für Ineraction Design.
Sein Talk "Time + Creativity" ging um Zeit. Die Zeit zwischen dem Briefing und wann wir tatsächlich anfangen zu arbeiten. Die Zeit, die Designer rumdoodlen zum Ideen entwickeln und Webdevs unerwartete Bugs fixen. Zeit, die auf erstem Blick, verschwendet wird also. Die typische Fuckoff Phase. Jeder kennt die Memes dazu.

Was Christoper Murphy in seinem Talk sagte war: Die Verzögerung, die Fuckoff Phase, ist gut! Gut, sofern man die Zeit effizient nutzt. Effizientes Zeitverschwenden also, oder: Yak Shaving. In dieser Zeit sollte man seine Fähigkeiten erweitern, sich von dem was kommt leiten lassen und draus lernen. Ideen, die man schon hatte neu kombinieren, denn Ideen sind nichts weiter als eine neue Kombination von alten Elementen. Das sagte schon Vilfredo Pareto. Magic ist das Zauberwort, wenn Dinge unerwartet aufeinandertreffen.

"Advice from a young designer to younger designers" by Lil Chen @lil_chen

Lil Chen ist noch recht jung, Interaction Designer für ein Youtube Gaming Team und zockt auch selbst Games. Davor war sie Designer für TED.

Ihr Talk "Advice from a young designer to younger designers" war eine Motivationsbombe für junge Menschen, die sich in der Designbranche etablieren wollen. Selbst wenn man schon lange Designer ist, tat es gut, all das noch mal zu hören.

10 Ratschläge umfasste ihr Talk.

  1. Lerne mit nicht-Designern über Design zu reden.
  2. Teile anderen mit, was du kannst.
  3. Benutze deine Stimme, sag was du denkst.
  4. Bestimme deine Zukunft, indem du handelst.
  5. Zeige anderen, wie du arbeitest.
  6. Lege keinen Wert auf Pixelperfektion, 5 grobe Ideen sind besser als eine Perfekte.
  7. Verstehe die Prozesse deiner Kollegen.
  8. Sei ein Advokat für deine Designs.
  9. Arbeite an persönlichen Projekten.
  10. Nehme Kritik an. Aber vertrete auch deinen Standpunkt.

"Designing meaningful animation" by Val Head @vlh

Val Head ist Designer und Web-Animation Berater, macht Motion Design Workshops und schrieb u.a. The Pocket Guide to CSS Animations.

Ihr Talk "Designing meaningful animation" beinhaltete drei Prinzipien: Timing & Spacing, Follow Through und Secondary Actions. Warum eine Animation implementieren? Wie animiere ich? Wie animiere ich mehrere Elemente gleichzeitig? Wie verläuft eine Animation? Was passiert während oder nach der Animation?

Animationen sollten subtil sein und den Gesetzen der Physik folgen. Sie ermöglichen Emotionen und Stimmungen. Mehrere Elemente können gleichzeitig animiert werden, sollten aber insgesamt stimmig sein. Dabei ist drauf zu achten, dass Elemente, die unterschiedlich starten, auch unterschiedlich stoppen. Animierte Elemente dürfen die Zielposition vor Ende der Animation überschießen.
Alles, was während oder nach der primären Animation passiert, nennt man Secondary Action. Die Secondary Action bestärkt die ursprüngliche Animation. Bestes Beispiel dafür ist das Like-Heart von Twitter.

Val hat uns auch einige Pro-Tips gegeben:

  1. Cubic-Bezier macht eine Animation zwar zahlenmäßig unübersichtlicher, aber das Endergebnis ist schöner.
  2. Muss man eine Animation inspizieren, kann sie in den Browser Dev-Tools verlangsamt und verändert werden.
  3. Der ultimative Pro-Tip: Animationen austanzen! Ganz recht, austanzen. Muss man jemandem eine Animation erklären, hilft es sehr, wenn man die Fähigkeiten der Gestik einsetzt. Bei komplizierteren Animationen kann es zwar schnell zu einem Full-Body-Workout werden, aber wenn Val Head das auf der Bühne schafft, schaffen wir das auch im Office ;).

"Resilience" by Jeremy Keith @adactio

Jeremy Keith, mein Lieblings-Talk-Mensch, ist Web Developer bei clearleft in Brighton, schrieb u.a. HTML5 For Web Designers, ist Blogger und spielt in einer Band.

Sein Talk "Resilience" war, wie immer eigentlich, ein großartiger Talk. Resilience, die Ausfallsicherheit, handelte um die Robustheit von HTML & CSS, die Fragilität von JavaScript und die Art und Weise, wie wir robuste Websites bauen sollten.

Drei Schritte stellte er vor:

  1. Hauptfunktionalität identifizieren. Hierbei gibt es kein “zu leicht” oder “zu schwer”.
  2. Diese Funktionalität mit der simpelsten Technologie verfügbar machen. Kein fancy JavaScript, nur mit HTML & CSS.
  3. Erweitern. Jetzt erst kommt JavaScript. Auch Layout sollte in manchen Fällen als Enhancement angesehen werden.

JavaScript ist fragil und kurzlebig. Oft ändert sich etwas. Oft werden winzige Fehler produziert, die die komplette Website crashen. Ein fehlendes Semikolon zum Beispiel stoppt das Parsing. HTML & CSS wurden über die Jahre erweitert, aber nie verändert. Ein kleiner Fehler im HTML & CSS stoppt das Parsing nicht. Es wird ignoriert. Das mag in bestimmter Sichtweise auch keine gute Idee sein, aber Robustheit betreffend ist diese Herangehensweise besser. Zu häufig werden Elemente auf Webistes mit kompliziertem JavaScript gebaut, wo simples HTML und CSS reichen würde. Wieso einfach, wenn es auch kompliziert geht? Falsch.

Jeremy stellte klar, dass die Bedürfnisse des Users viel höher gestellt sind als Gewohnheiten der Developer. Probleme sind unsere Probleme, nicht die der User! Das ist unser Job als Developer und das dürfen wir nicht vergessen.

Oft stehen wir vor vermeintlichen Problemen und sagen “dass ist nicht machbar”. Es ist machbar. Wir sehen es nur vor lauter komplizierten Technologien nicht mehr, weil es eigentlich ganz einfach ist. Man sieht den Wald vor lauter Bäumen nicht. Verdeutlicht wird das gut durch das kleine Pony im Apple Store. Das Web ist das kleine Pony im Apple Store.

Zum Ende sagt er noch: “Leave behind a web that lasts. A web that is persistent.” Ein Web, was überdauert. JavaScript kann sich bald schon wieder ändern und Websites crashen. HTML & CSS wird immer HTML & CSS bleiben. Daher ist es besser, sich auf eine Technologie zu verlassen, bei der man sicher sein kann, dass sie auch Jahre später noch funktionieren wird.

 

Zwei wunderbare Tage

Ich gehe sehr gerne zu Konferenzen, weil man so viele nette Menschen kennenlernt und einfach Spaß hat, obwohl man lernt und aufpassen und Notizen machen muss. Die meisten Talks (wie die vier die ich vorgestellt habe) sind einfach super gut. Und da tut es ganz und gar nicht weh, dass ich die Talks von Val und Jeremy schon in Oxford auf der Render gesehen hatte.
Ich freue mich immer besonders auf Jeremy und Christian. Zwei sehr liebe und angenehme Menschen, mit denen man sehr gern auf ein Bier absackt und lange, lange quatscht. Ich habe mich auch sehr darüber gefreut, Søren, meinen alten Ausbilder, dort zu treffen.
Die zwei Tage in Düsseldorf waren wunderbar und wenn ich kann bin ich nächstes Jahr auf jeden Fall wieder dabei!

Und sonst?

Essen kann man in Düsseldorf auch. Wer auf japanische Nudelsuppen, oder generell auf japanisches Essen steht, ist in Düsseldorf sehr gut aufgehoben. In Düsseldorf verbirgt sich nämlich mit über 6500 Japanern die einzige Japantown Deutschlands. Dementsprechend gibt es massig japanische Restaurants.
Ein sehr sehr Gutes (wenn nicht sogar das Beste) ist das Takumi 2nd Tonkotsu. Ein absolutes Muss für jeden Suppen-Fan! Ich empfehle die Tonkotsu Ramen, die beste Nudelsuppe, die ich jemals gegessen habe.

 

 

 

 

 

 

 

Links

Alle Talks auf Vimeo
https://vimeo.com/channels/beyondtellerrand/

Notes von Talks
http://www.sketchnotesbook.com/blog/2016/5/11/speaking-at-leandus-and-sketching-at-beyond-tellerrand-2016

]]>
Fri, 10 Jun 2016 14:24:46 +0200 https://www.webfactory.de/blog/bericht-zur-beyond-tellerrand-2016-duesseldorf https://www.webfactory.de/blog/bericht-zur-beyond-tellerrand-2016-duesseldorf webfactory GmbH webfactory GmbH 0
Kurzbericht zur SymfonyLive Cologne 2016 Die Konferenz wurde im KOMED im Kölner Mediapark veranstaltet. Mit rund 300 Teilnehmern hatte das Event eine für mein Empfinden angenehme Größe: Der Saal war gut gefüllt, trotzdem war es fast ein bisschen familiär. Das lag natürlich mit daran, dass das Event für uns praktisch vor der Haustür stattfand und wir viele bekannte Gesichter aus anderen Bonner und Kölner Agenturen, Softwarefirmen und nicht zuletzt der Symfony User Group Köln treffen konnten.

Es gab einen einzigen Track mit Vorträgen, was – positiv gesehen – die Entscheidung zwischen konkurrierenden Talks erspart. Aber nach 10 Vorträgen in 10 Stunden war ich abends spürbar erschöpft.

Hier also meine Kurzzusammenfassung der einzelnen Vorträge. Folien gibt es erst zum Teil online, sie lassen sich sicher in Kürze googlen. Ich gehe auch davon aus, dass es in einiger Zeit wieder die Videomitschnitte frei im Netz geben wird.

In seiner Keynote "Superhelden im Porzellanladen" zeigt Christian Schäfer, nach welchen Kriterien Entwickler auf Jobsuche Unternehmen beurteilen können. Daraus lassen sich interessante Rückschlüsse ziehen, welche Erwartungen im Hinblick auf Gehalt, Sicherheit, Spaß und Herausforderungen angemessen sind. Interessantes Takeaway: Das Unternehmen-Wachstumsmodell nach Greiner.

Bernhard Schussek, Lead-Entwickler der Symfony Form-Component, gibt in seinem Vortrag "Symfony Forms: Do's and Don'ts" zunächst einen Überblick über die wesentlichen Neuerungen und Umstellungen ab Symfony 2.7. Viele der Änderungen zielen dabei darauf ab, die mit Symfony im Backend erzeugten Formulare einfacher von JavaScript aus weiterverwenden zu können. Die zweite Hälfte brachte dann eine Reihe von Tipps und Empfehlungen, wie die verschiedenen Aspekte von Formularen (Validierung, HTML-Labels, …) zwischen Controller-Code und Views aufgeteilt werden können und wie sich die Form Component mit komplexeren Modell-Klassen zusammenbringen lässt, die z. B. nach dem Domain Driven Design-Paradigma entwickelt wurden.

"Maßgeschneiderte Testdaten mit Faker und Alice" von Philipp Rieber zeigt, wie einfach Faker "echt" aussehende Testdaten beispielsweise zur anfänglichen Befüllung von Demo-Datenbanken erzeugen kann. Mit Alice wird es einfach, solche Daten in YAML-Dateien zu beschreiben und dann mit Doctrine in Datenbanken zu laden. Ein interessanter Überblick, wenn man Faker und Alice noch nicht kennt – die Inhalte kann man sich dann aber auch schnell aus der Dokumentation aneignen.

Benjamin Eberlei stellt in "Go lernen für einen Symfony Websocket Proxy" zunächst die Vor- und Nachteile der "shared-nothing"-Architektur von PHP gegenüber. Für den Anwendungsfall asynchroner oder lange laufender Kommunikation begründet er damit dann, warum sich der Einsatz von anderen Sprachen wie Go oder Node.js besser eignet. Es folgt ein Go-Crash-Kurs, in dem ein kleiner Websocket-Proxy entsteht. Dieser erlaubt es, von einer Symfony-Anwendung aus Push-Nachrichten an eine große Anzahl gleichzeitig aktiver Websocket-Clients zu schicken. Auf jeden Fall eine technisch interessante Idee!

Kore Nordmann zeigt in "Wie wir Code analysieren" den Quality Analyzer, der bei Code Reviews Hinweise auf kritische Codestellen geben soll. Er verarbeitet dazu unter anderem die Metriken anderer Tools und versucht daraus abzuleiten, welche Stellen bei Änderungen potenziell Auswirkungen auf andere Teile der Anwendung haben. Am wichtigsten war mir persönlich eine Bemerkung von Kore im Rahmen des Fazits: Jede Zeile Code, sei sie auch noch so schlecht, ist nicht mit der Absicht entstanden, den heutigen Entwicklern das Leben schwer zu machen – sondern als Ergebnis der damaligen Situation mit eventuell hohem Zeitdruck, unzureichendem Können, anderen Anforderungen und ähnlichem. Eine Einsicht, die leider oft fehlt.

In "Modernisieren mit Symfony" von Alexander Turek ging es um eine Möglichkeit, wie sich alte PHP-Anwendungen mit Symfony verbinden lassen, um so eine schrittweise Migration zu ermöglichen. Die Ansätze waren altvertraut, wir haben selbst schon darüber berichtet.

Christoph Reinartz berichtet in "Pattern Library meets Symfony", wie das Team bei trivago eine Pattern Library entwickelt hat und welche Ansätze es gibt, um diese Komponenten allen Entwicklungsteams zur Verfügung zu stellen. Ein unterhaltsamer und humorvoller Vortrag, der viele spontane Lacher und Applaus bekommen hat. Leider gab es aber wenig Aufschluss darüber, wie genau das Ganze jetzt funktioniert und mit welchen Tools das Projektteam dabei gearbeitet hat.

Christian Flothmann gab in "FOSRest 2.0" einen Überblick über die Möglichkeiten und Neuerungen des FOSRestBundle 2.0. Ein Blick in das Changelog dürfte die Inhalte gut zusammenfassen.

Jan van Thoor erzählte in "Open Heart Surgery (In Production)" eine Reihe unterhaltsamer "war stories": Wie lässt sich eine geschäftskritische, gewachsene Anwendung, die noch dazu einer hohen Änderungsrate unterworfen ist, schrittweise aufräumen, entkoppeln und mit Tests untermauern? Das Ganze war mit vielen Codebeispielen aus der echten Codebasis von trivago.de unterlegt. Ich persönlich war überrascht, wie schlimm solche großen Systeme unter der Haube wirklich aussehen können.

Marco Pivetta, der aktuelle Release Manager des Doctrine Projects, gab in "Doctrine ORM Good Practices and Tricks" viele wertvolle Denkanstöße für objektorientiertes Design (OOD) im Allgemeinen und über das Doctrine ORM hinaus. Es ist schön zu sehen, dass viele Ideen des Domain Driven Design langsam in der PHP-Welt ankommen und es inzwischen einige renommierte Speaker gibt, die auf hohem Level über OOD sprechen können. Dieser Talk (und übrigens auch andere Vorträge von Marco wie dieser) ist definitiv die Zeit wert, setzt aber auch schon etwas Entwicklungserfahrung voraus.

]]>
Fri, 29 Apr 2016 10:41:30 +0200 https://www.webfactory.de/blog/notizen-symfony-live-cologne-april-2016 https://www.webfactory.de/blog/notizen-symfony-live-cologne-april-2016 webfactory GmbH webfactory GmbH 0
Warum wir (und unsere Kunden) uns nicht vor dem Erpressungs-Trojaner CTB-Locker fürchten Der genaue Weg, über den die Schadsoftware die Server befällt, ist noch nicht bekannt. Daher können wir nicht 100% sicher sein, sicher zu sein. Das ist aber kein Grund zur Besorgnis, sondern der Normalzustand in der IT.

Bezüglich CTB-Locker sehen wir keine konkrete Gefahr. Denn:

1. CTB-Locker ist auf Masse ausgerichtet. Diese Schadsoftware nutzt bekannte Sicherheitslücken in weit verbreiteter Software aus. Im heise-Artikel werden Wordpress und Joomla genannt, die schon in der Vergangenheit beliebte Angriffsziele waren. Beide (und vergleichbare Programme) haben wir auf unseren Servern nicht installiert.

Unsere Webseiten und Webanwendungen sind individuell programmierte Software. Sie werden eigene Sicherheitslücken haben, aber eben keine allgemein bekannten. Daher dürfte es für die Erpresser nicht lohnenswert erscheinen, diese heraus zu finden und gezielt dafür einen Schädling zu programmieren.

2. Um effizient zu arbeiten und robuste Lösungen zu schaffen, entwickeln aber auch wir nicht jede Komponente unserer Webanwendungen neu. Beispielsweise lieben wir das Symfony-Framework und setzen Symfony in den allermeisten Projekten ein. Symfony ist weit verbreitet - und wenn darin ein Fehler bekannt wird, könnte es theoretisch auch Ziel von Schadsoftware wie dem CTB-Locker werden.

Deshalb informieren wir uns täglich über die Sicherheitslage in der IT-Welt und haben dabei ein besonderes Augenmerk auf die von uns eingesetzte Software. So können wir rechtzeitig handeln, unsere Systeme absichern und ggf. mit betroffenen Kunden Kontakt aufnehmen. 

Generell empfehlen wir unseren Kunden regelmäßige Updates der wichtigen Komponenten. Bei aktuellen Aufträgen erledigen wir das auch gerne nebenher.

3. Da der konkret Angriffsweg des CTB-Lockers noch unbekannt ist, können wir zwar nicht konkret dazu Stellung nehmen. Aber wir können allgemein fest halten, dass wir unsere Server in der Amazon Cloud und damit in einem vernünftigen Sicherheitsrahmen hosten lassen. Die fachmännische Konfiguration unserer Server ergänzt dann den Schutz unserer Lösungen.

4. Selbst wenn so ein Schädling einmal in einen Server eindringen und dort wüten sollte - haben wir von allen wichtigen Dateien Backups, auf die der Schädling keinen Zugriff hat.

  • Code speichern wir in einem komplett getrennten Repository-System, der dann während der Installation/eines Updates auf den jeweiligen Webserver kopiert wird.
  • Für Datenbanken haben wir tagesaktuelle Backups, die auch mehrere Tage zurück reichen. Diese Backups werden nach ihrer Erstellung vom Server getrennt und sind für einen etwaigen Schädling nicht erreichbar.
  • Binär-Dateien (wie z.B. Bilder und PDFs) speichern wir vorzugsweise in Amazons S3-System, das wiederum getrennt ist, so dass ein Schädling ebenfalls keinen Zugang dazu hätte.

Die Prozedur, Daten aus Backups wiederherzustellen, führen wir alle etwa alle 2-3 Monate aus, wenn ein Kunde versehentlich seine Daten gelöscht hat und sie weiderhergestellt haben möchte. Daher haben wir darin eine gewisse Routine darin und können unsere Schritt-für-Schritt-Anleitung dafür aktuell halten. Eine solche Anleitung ist wichtig, damit man in einer solchen Stress-Situation nichts mehr falsch machen und die Daten schnellstmöglich wiederherstellen kann.

Insofern – bleiben wir wachsam, sehen aber keine aktuelle Gefahr durch CTB-Locker. Und selbst wenn er oder ein anderer Schädling es einmal schaffen sollte, in unsere Server einzudringen und dort wichtige Dateien zu verschlüsseln oder löschen - sind wir auch darauf vorbereitet. Helms Klamm hatte ja auch nicht nur eine Mauer.

 

]]>
Fri, 26 Feb 2016 12:37:04 +0100 https://www.webfactory.de/blog/warum-wir-und-unsere-kunden-uns-nicht-vor-dem-erpressungs-trojaner-ctb-locker-fuerchten https://www.webfactory.de/blog/warum-wir-und-unsere-kunden-uns-nicht-vor-dem-erpressungs-trojaner-ctb-locker-fuerchten webfactory GmbH webfactory GmbH 0
Wir sind ein Team: Warum unsere Softwareentwickler und Webdesigner eng zusammenarbeiten Seit 1997 arbeiten wir für Unternehmen und Organisationen, die unter anderem ihre internen Prozesse über Webanwendungen optimieren. Ein Teil der Arbeit besteht häufig darin, komplexe Formularfunktionen zu entwickeln und gestalten.

Ein Beispiel: Ein IT-Sicherheitsunternehmen steigt von Word-Dokumenten auf eine übergreifende Webanwendung um. Das neue webbasierte Zertifizierungsaudit wird in internationalen Konzernen weltweit genutzt. Der Fragenkatalog im Web passt sich dem jeweiligen Kunden individuell an (Mehr zu diesem Beispiel lesen Sie in unserem Beitrag "Fünf Webanwendungen made by webfactory").

Warum ist es uns wichtig, dass an solchen Anwendungen sowohl Programmierer als auch Webdesigner möglichst eng zusammenarbeiten? Die kurze Antwort: Weil dadurch die beste Lösung für den Auftraggeber und für die Nutzer entsteht.

Programmierer schauen auf den Code, Datenstrukturen, Wertebereiche. Webdesigner haben den User im Blick, den Seitenaufbau, Farbräume, Lesbarkeit.

Es ist wie beim Kickern: Die Verteidigung hat einen anderen Job als der Angriff. Das Spiel gewinnen sie aber nur gemeinsam.

Leider ist das keine Selbstverständlichkeit. Das wissen wir aus eigener Erfahrung.

Ein Blick zurück

In den Anfangsjahren der webfactory haben wir häufig mit exernen Grafikbüros zusammengearbeitet. Einige unserer Kunden hatten eigene Grafiker, die nicht selten ebenfalls externe Dienstleister waren. Dies führte immer wieder zu Komplikationen.

Zwei Beispiele:

Wenn Softwareentwickler ein vermeintlich fertiges Design zugeliefert bekommen, stehen sie schnell vor Problemen. Viele Designs funktionieren zwar auf dem Papier. Aber sie berücksichtigen selten den Aufwand in der Programmierung. Hinzu kommt, dass man in einer frühen Phase niemals alle späteren Fragen antizipieren und beantworten kann. Das Design kann also gar nicht vor Beginn der Umsetzung fertig und gut sein, sondern muss im Projekt modifiziert werden. Das führt zu größerem Abstimmungsbedarf, der selten eingeplant ist, damit zu Mehrarbeit und möglicherweise auch zu Konflikten.

Plakativ gesprochen: Das Design ist schön, aber die Kosten sind explodiert. Kein gutes Ergebnis für den Auftraggeber.

Umgekehrt sind Programmierer häufig blind, was die spätere Bedienbarkeit angeht. Natürlich können Webdesigner Formularfelder auch am Ende des Projekts „schön machen“. Aber mehr Wert besteht darin, dass sie in einer frühen Konzeptionsphase ihren Input geben. Zum Beispiel, ob Felder oder Buttons an einer bestimmten Stelle überhaupt passend sind und von den Nutzern verstanden werden.

Plakativ gesprochen: Das Formular funktioniert, aber die User fluchen darüber. Ein ebenso schlechtes Ergebnis.

Wie wir unsere Arbeit heute organisieren

Heute arbeiten Programmierer und Webdesigner bei uns in enger Abstimmung. Bereits im Kickoff-Meeting mit unseren Kunden sitzen sie im Idealfall gemeinsam am Tisch. Die Designer entwerfen erste Skizzen auf Papier.

Anschließend übernehmen die Coder und erschaffen etwas Anklickbares im Browser. In der nächsten Runde übernehmen wieder die Designer und bringen die rohen, ungestalteten Funktionen in Reinform, während die Entwickler weiter arbeiten.

Wir spielen uns die Bälle zu, informell im Team-Chat, beim gemeinsamen Mittagessen oder bei einem Kaffee in der Küche. Jeder kann zu jedem Thema ein Feedback geben, weil sich beide Disziplinen für die Arbeit der anderen Seite interessieren und auskennen.

Für Egoismen ist kein Platz, wenn man das beste Endergebnis für den Kunden und die User erschaffen will.

Auch die Zusammenarbeit mit unseren Kunden hat sich in den vergangenen zehn Jahren verändert. Wir werden in Projekten deutlich früher einbezogen. Wir liefern ganzheitliche Lösungen. Webportale und Webanwendungen, die “unter der Haube” funktionieren - und bei denen die “Verpackung” stimmt.

Und beim Kickern werden wir auch immer besser.

Mehr zu unseren Mitarbeitern:

]]>
Wed, 09 Dec 2015 16:20:12 +0100 https://www.webfactory.de/blog/teamwork-softwareentwickler-und-webdesigner https://www.webfactory.de/blog/teamwork-softwareentwickler-und-webdesigner webfactory GmbH webfactory GmbH 0
Unser Bericht von der code.talks 2015 Wir waren dieses Jahr zum dritten Mal dabei. Vier Mitarbeiter hatten zwei Tage lang die Gelegenheit, im Cinemaxx Hamburg Dammtor bei Popcorn und Nachos neue Ideen zu sammeln und von den Erfahrungen (und Fehlern) anderer zu profitieren.

Hier unser Kurzbericht von der Konferenz.

Radical Agility with Autonomous Teams and Microservices in the Cloud

von Jan Löffler (Zalando)

Jan Löffler stellt den Ansatz „Radical Agility“ vor, mit dem Zalando Entwicklungsteams weitgehend voneinander entkoppelt und weitreichende Entscheidungsmöglichkeiten einräumt. Das hat natürlich Auswirkungen auf die Organisation der Technik und die gesamte Organisations- und Führungsstruktur. Für ein börsennotiertes Unternehmen stellt sich dabei auch die Frage, wie sich Compliance und Innovation vereinbaren lassen.

Data-Driven Software Development: The quest for the intelligent machine that manages software projects

von Stefan Richter (freiheit.com technologies gmbh)

Wie kann eine Softwareschmiede wie freiheit.com 90% Entwickler beschäftigen? Wo ist da der Projektmanagement-Wasserkopf? Stefan Richter hat einen interessanten Ansatz gezeigt, mit dem möglichst wenig invasiv datengetrieben typische Projektemanagement-Aufgaben automatisiert werden können. Dabei lassen sich die Entwickler ein bisschen freiwillig überwachen. Ein interessanter Vergleich zu unserer Arbeitsweise, bei der wir ja auch mit einem Minimum an Projektmanagement auskommen.

Two-Stack CMS

von Arne Blankerts (thePHP.cc) und Robert Lemke (Flownative)

Die beiden berichten von einer Architektur, in der das CMS auf der einen Seite für die Vorab-Erstellung von „Content-Snippets“ in HTML zuständig ist. Zur Auslieferung werden diese Inhalte dann performant zu Gesamtseiten zusammengesetzt. Dieser Ansatz eigne sich auch gut, um Inhalte aus verschiedenen Fremdsystemen zu integrieren. Leider war die Art der Präsentation als "lustiges Streitgespräch" zwischen den beiden meiner Ansicht nach nicht so gelungen. Die Kernidee war eine Wiederauflage von Arnes letztjährigem Vortrag an gleicher Stelle. Ich bin mir nicht sicher, ob sie auch alleine, nur mit dem heutigen Vortrag, zu verstehen gewesen wäre.

A tour of the language landscape

von Yan Cui (Gamesys)

Andrew Hunt und David Thomas empfehlen in ihrem Pragmatic Programmer Entwicklern, jedes Jahr eine neue Sprache zu lernen. Denn Programmiersprachen folgen Paradigmen, die die Art beeinflussen, wie wir Probleme sehen und lösen können. Anders gesagt sind die erlernten Programmiersprachen eine Begrenzung des Lösungsraums, den ein Entwickler sieht. Eine neue Programmierprache haben wir in diesem Talk natürlich nicht gelernt, aber Yan Cui hat uns spannende Konzepte und Eigenheiten vorgestellt, die Lust auf mehr Blick über den Tellerrand machen.

Patterns in a containerized world?

von Dennis Benkert und Matthias Lübken (Giant Swarm)

Matthias Lübken und Dennis Benkert von GiantSwarm, einem Kölner Start-up für Docker-basierte Anwendungen, stellen in „Container Pattern“ zunächst einige Eigenschaften vor, die die Unabhängigkeit und Eigenständigkeit von Containern sicherstellen sollen. Anschließend beschreiben sie einige Muster, wie sich aus solchen Containern mit Hilfe von „Pods“ verschiedene Deployment-Probleme lösen lassen.

Fuck, wir sind pleite!

von Joscha Krug (marmalade GmbH)

In seinem leider etwas kurzen Talk zeigte Joscha Krug, wie er mit seiner Typo3-Agentur mehrfach an Nahezu-Pleiten vorbei geschlittert ist und wie er die Probleme in den Griff bekommen hat. Beispielsweise - ganz agil - sich im Wochenintervall um ein in sich abgeschlossenes, dem Kunden in Rechnung stellbares Zwischenprodukt bemühen und Rechnungen pünktlich zu stellen. Und im Gegenzug natürlich selbst auch pünktlich zu zahlen - denn man ist auf eine gute Beziehung zu seinen Kunden und Dienstleistern angewiesen. Und wenn es da dauerhaft nicht so läuft, empfiehlt er die harte Trennung. Ich war sehr froh, dass wir solche Trennungen schon hinter uns haben und im Moment mit allen Kunden und Dienstleistern gerne und toll zusammen arbeiten!

Composer im Unternehmensalltag

von Stephan Hochdörfer (bitExpert AG)

Stephan beschrieb, wie die bitExpert AG in den letzten Jahren zum Paketmanagement von selbstgebauten Lösungen auf Composer umgestiegen ist und welche Tools aus dem Composer-Ökosystem hilfreich sind. Im Prinzip hat er genau das beschrieben, was wir seit 2011 bei der webfactory auch getan haben :-). Insofern gab es leider keine grundsätzlich neue Ideen. Es war aber eine gute Gelegenheit, Stephan einmal persönlich kennenzulernen, da ich bisher nur virtuell auf GitHub Änderungsvorschläge für die Composer- und Satis-Codebasis mit ihm diskutiert habe.

Performance Testing Crash Course

von Dustin Whittle (AppDynamics )

Dustin Whittle - ein toller Speaker - empfiehlt, Performance als Feature zu betrachten, und belegt das mit dem konkreten Business Value, den verringerte Ladezeiten bei großen Seiten wie Amazon oder Yahoo haben. In seinem Talk stellte er einige auch Cloud-basierte Werkzeuge wie Bees with Machine Guns vor - noch spannender fand ich persönlich aber die leider nur am Rande erwähnte Möglichkeit, Performance-Tests automatisiert in den development/build-Prozess aufzunehmen. Warum nicht nach jedem Update von Dritt-Bibliotheken, oder auch einem neuen Feature automatisiert testen, ob die Performance noch stimmt? Das sollten wir uns mal näher anschauen.

Mit CQRS, DDD und Event Stream von der Legacy Application in eine schöne neue Welt

von Verena Ruff (FLYERALARM)

Verena Ruff berichtete davon, wie bei flyeralarm.de die Software-Architektur schrittweise im Microservices aufgeteilt wurde. Diese Umstellung ging mit einer weitreichenden Re-Organisation der Teams und einer Änderung der gewohnten Vorgehensweisen einher. In den einzelnen Services wird das CQRS-Prinzip angewendet. Schreibende Zugriffe werden über Domain Events und eine Event Queue an alle anderen Dienste kommuniziert.

Microservice-Teststrategie mit Symfony2

von Per Bernhardt (Chefkoch GmbH)

Ehrensache, dass wir den Talk unseres ehemaligen Auszubildenden besucht haben. Per Bernhardt hat ein Thoughtworks-Paper zum Testen von Microservices konkret auf die Symfony-Welt bezogen und mit seinen praktischen Erfahrungen bei und Code-Beispielen von Chefkoch gewürzt. Spannend, da wir auch gerade für einen unserer Kunden einen Monolithen aufbrechen und zu einer Microservice-Architektur migrieren und vor den ganz ähnlichen Problemen stehen.

Code Qualität in agilen Teams - wie wichtig ist das wirklich?

von Frank Sons (code-quality.de)

Als Frank Sons ankündigte, bei der fortgeschrittenen Uhrzeit gäbe es jetzt nur noch leichte Koste und keine harten Software-Metriken, war ich ehrlich gesagt ziemlich enttäuscht. Und so empfand ich auch den Rest des Talks als relativ oberflächlich. Nun muss ich dazu sagen, dass dieses Thema seit Jahren ein Steckenpferd von mir und es deshalb zugegeben schwer ist, mir hier etwas wirklich Neues zu erzählen - aber ich hatte mir halt deutlich mehr vom Titel erhofft.

CRDT und mehr – über extreme Verfügbarkeit und selbstheilende Daten

von Uwe Friedrichsen (codecentric AG)

Ein toller Vortrag mit Ausflügen zurück in die Zeit der Informatik-Vorlesungen. Zunächst gab Uwe Friedrichsen einen Überblick über das CAP-Theorem und die verschiedenen Konsistenzeigenschaften verteilter Systeme, die sich daraus ableiten lassen. Anschließend stellte er "Conflict-free replicated data types" (CRDTs) vor. Das sind grundlegende Datenstrukturen, die sich in Systemen mit „Eventual Consistency“-Garantien sicher und widerspruchsfrei zusammenführen lassen. Der Talk machte deutlich, welche Herausforderungen die Arbeit mit entsprechenden Datenbanksystemen stellt und dass man entsprechende Technologien nicht zu blauäugig einsetzen sollte.

Whirlwind tour through the HTTP/2 spec

von Ole Michaelis (Jimdo)

Dieser Vortrag wurde dem Titel gerecht: In Windeseile führte Ole Michaelis durch die Neuerungen des HTTP/2-Protokolls und zeigte die Neuerungen und Möglichkeiten dieses Protokolls auf. Dabei hatte er keine Angst davor, stellenweise tief in technische Details einzusteigen und die Kompressionsalgorithmen sowi Byte-Strukturen der Protokollköpfe zu erläutern. Die nächsten Jahre werden in dieser Hinsicht sicherlich sehr interessant, weil einige Performance-Optimierungen aus der Zeit von HTTP/1.1 in Zukunft nachteilig sein könnten und sich die Tools und Paradigmen zum Einsatz von HTTP/2-Streams und Server-Push erst noch entwickeln müssen.

Don’t Make The Browser Think

von Regine Heidorn (DEMOS Gesellschaft für E-Partizipation)

Ich hatte gehofft, nochmals ein paar Ideen zur Organisation von Stylesheets mitnehmen zu können, um so zu besser wartbarem, wiederverwendbarem und strukturierterem CSS zu gelangen. In den letzten Jahren gab es zu dem Thema großartige Vorträge, beispielsweise von Nicole Sullivan mit "OO-CSS" oder mit Prinzipien wie SMACSS oder der BEM-Methodik. Leider blieb der Vortrag trotz des "Advanced"-Levels in der Ankündigung weit dahinter zurück und verzettelte sich damit, die grundsätzliche Funktion der CSS-Kaskade zu erläutern, die m. E. zu den Grundlagen der Mediengestalter-Ausbildung gehört. Schade!

Docker – why we shouldn’t use it

von Daniel Schweighöfer (POSpulse)

Docker ist ein heißes Thema, kaum ein Slot auf der Konferenz kam ohne einen Vortrag dazu aus. Alle reden davon, wie sie auf Docker-Plattformen wechseln wollen oder gewechselt sind und was man alles "verpasse", wenn man es nicht tut. Insofern war es nicht überraschend, dass ein Vortrag mit diesem Titel bis auf den letzten Platz besetzt war. Im Laufe des Vortrags bekam ich aber zunehmend den Eindruck, dass die vorgetragene Kritik nicht in allen Punkten substanziell war. Zu Punkten wie (vermeintlich?) fehlenden Resourcen-Limits für Container wurde aus dem Publikum vehement widersprochen, und Einwände wie "es gibt kein gutes Konfigurationsmanagement innerhalb von Containern" wurden damit gekontert, dass die Container-Architektur eine komplett andere Denkweise als die "traditionelle" Systemadministration erfordere und das Konfigurationsmanagement jetzt in den Build-Prozess verlagert werde. Auch die hohe Anzahl von Teilnehmern, die während des Vortrags den Saal verließen, bestätigten diesen Eindruck.

]]>
Thu, 08 Oct 2015 11:36:12 +0200 https://www.webfactory.de/blog/bericht-von-der-codetalks-2015 https://www.webfactory.de/blog/bericht-von-der-codetalks-2015 webfactory GmbH webfactory GmbH 0
Zwischen Kundenanfrage und Angebot: Wie wir mit „Trello“ Aufträge feinjustieren Trello ist eine webbasierte Projektmanagement-Software. Die Oberfläche ist schlicht, die Bedienung ist intuitiv und zeitsparend. Genau so, wie wir es auch für Webanwendungen beanspruchen, die wir für unsere Kunden entwickeln.

Wir nutzen Trello täglich für die Planung. Auch in der Angebotsphase hat es sich als nützliches Tool erwiesen. Der erste Kontakt mit einem Kunden verläuft meistens so: Wir führen ein Telefonat und sprechen grob über das Projekt. Anschließend erhalten wir ein Anforderungsdokument – meistens eine Word- oder PDF-Datei, in der die Features aufgelistet sind, die wir entwickeln sollen. Der Kunde erwartet anschließend ein Angebot.  

Genau hier, zwischen Anfrage und Angebot, haben wir einen Zwischenschritt eingeführt, der sich bewährt hat.

Wir legen für das Projekt ein eigenes „Trello-Board“ an. Per E-Mail-Einladung kann genau festgelegt werden, wer Einblick in das Projekt hat. So haben wir und unser potenzieller Auftraggeber mit seinen relevanten Mitarbeitern den Zugriff.

Im Board listen wir die Features auf, inklusive unserer Aufwandeinschätzung. Meistens erstellen wir auch eine Liste mit Annahmen, Ideen und Fragen. Hier ein realitätsnahes Beispiel:

Ein Beispiel-Trello-Board mit typischen Karten aus unterschiedlichen realen Projekten

Innerhalb eines einzelnen Features legen wir Checklisten an. Dort beschreiben wir näher, welche Aufgaben zu erledigen sind, um das Feature zu erstellen. Außerdem können wir dort noch Kommentare oder Anhänge einfügen, Fristen setzen und verantwortliche „Mitglieder“ hinzufügen. 

Beispiel für eine Checkliste, die das Feature weiter herunterbricht

Diese Form hat drei wesentliche Vorteile:

  1. Überblick: Es kostet unseren Kunden Zeit und Mühe eine mehrseitige PDF „durchzuarbeiten“ – erst Recht, wenn wir dort alle technischen Details auflisten. Trello dagegen bietet einen schnellen Überblick und gleichzeitig die Möglichkeit, bei Bedarf in die Tiefe zu gehen. Durch die vertikale und horizontale Struktur ist mehr Platz vorhanden. Die einfache Bedienung macht es angenehm, das Projekt zu erkunden, auch für Projektteilnehmer, die sich noch nicht auskennen.
  2. Interaktivität: Ein PDF oder eine Word-Datei sind statische Dokumente, die auf einem einzigen Rechner liegen. Wird etwas geändert, entsteht sofort eine neue Version. Trello dagegen ist eine interaktive Webanwendung, auf die gleichzeitig mehrere Personen Zugriff haben können. Wir können gemeinsam am Board besprechen, welches Feature wie viel Aufwand produziert. Wichtige Features verschieben wir nach oben, andere löschen wir vielleicht wieder oder fügen Kommentare hinzu. Das Board passt sich dynamisch und in Echtzeit an.
  3. Feinjustierung: Viele IT-Entwicklungsprojekte werden teuer, weil Auftraggeber und Auftragnehmer zu wenig miteinander sprechen. Das trifft besonders auf die Angebotsphase zu, in der noch unklar ist, ob man miteinander arbeitet. Doch hinter jedem geforderten Feature stecken zahlreiche Gedanken, Probleme, Wünsche, Versuche und Erfahrungen. Je besser wir dies verstehen, desto erfolgreicher das Projekt. Über Trello können wir die Feinjustierung vornehmen und die Hintergründe klären.

Und was ist mit dem offiziellen Angebot in PDF-Form? Natürlich verschicken auch wir ein solches Dokument. Aber erst, wenn wir verstanden haben, welche Features unseren Kunden wirklich wichtig sind und wenn wir unsere Fragen geklärt haben. So können wir anschließend ein passgenaues Angebot schreiben.

Nach der Auftragsvergabe

Das Board begleitet uns durch den gesamten Projektverlauf. Unser Kunde hat die komplette Zeit Zugriff und sieht jederzeit, woran wir aktuell arbeiten. Häufig ändern sich die Anforderungen im Laufe des Projektes. Bei Trello verursacht dies praktisch keine Bürokratiekosten. Zum einen, weil in Trello schnell ein Kommentar eingefügt ist oder eine Checkliste erweitert wird. Zum anderen, weil wir unseren Aufwand in T-Shirt-Größen einschätzen und damit Spielraum haben. Wir bleiben flexibel und klammern uns nicht an unserer Anfangseinschätzung. Trello ist ein organisatorischer Baustein für unsere agilen Entwicklungsmethoden.

„Inside webfactory“ – drei weitere Beispiele:

]]>
Fri, 04 Sep 2015 17:23:58 +0200 https://www.webfactory.de/blog/trello https://www.webfactory.de/blog/trello webfactory GmbH webfactory GmbH 0
Wie wir Kundenprobleme lösen und dabei Open Source-Software entwickeln Für manche Inhaber von Software-Agenturen ist der Code ihr ein und alles. Sie hüten ihren erschaffenen Quelltext als Betriebsgeheimnis. Der Gedanke dahinter: Sie verfügen über Wissen, das ihnen niemand nehmen kann – weder ihre Kunden noch eine andere Agentur.

Wir haben genau die gegenteilige Einstellung.

Wir teilen unseren Code, den wir für Symfony entwickeln, konsequent in der Open-Source-Gemeinde. Zum Beispiel unser webfactory/exceptions-bundle, das in der offiziellen Dokumentation empfohlen wurde und mittlerweile in den Core integriert ist. Es wurde schon 130.000 Mal heruntergeladen. In der Symfony-Code-Contributors-Liste steht Matthias Pigulla auf Platz 81 von weit über 1000 Entwicklern. Auch unsere Mitarbeiter halten wir an, den Code zu teilen.

Wir meinen es also ernst mit unserem Open Source-Engagement. Aber warum verschenken wir unser Wissen? Folgende Argumente sprechen dafür:

  • Fairness: Weltweit treiben Programmierer die Entwicklung von Symfony und anderen Open-Source-Produkten voran. Davon haben wir in der Vergangenheit häufig profitiert. Ob Login-Formular, Registrierungsprozess oder Navigation: Es spart häufig viel Zeit, eine existierende Open-Source-Lösung für ein Feature zu integrieren und zu individualisieren statt es komplett neu zu entwickeln. Es entspricht unserem Verständnis von Fairness, wenn wir der Community etwas zurückgeben.
  • Anerkennung: Jeder Softwareentwickler ist stolz auf das, was er erschaffen hat. Wir sind Programmierer aus Leidenschaft und identifizieren uns mit unseren Arbeitsergebnissen. Wir wollen zeigen, was wir können. Es macht Spaß, die Ergebnisse mit anderen Entwicklern zu teilen und zu sehen, wie sich unsere Arbeit verbreitet und weiterentwickelt wird.
  • Weiterentwicklung: Wir haben einen hohen Qualitätsanspruch an unsere Arbeit. Auf GitHub diskutieren wir über den Code. Durch die Gespräche und Kritik erweitert sich unser Horizont und wir werden jeden Tag ein kleines Stück besser. Wir bleiben am Puls der Zeit. Das nützt uns und unseren Kunden, für die wir kontinuierlich gute Arbeit abliefern.

Und unsere Kunden?

Durch unser Open Source-Engagement begeben wir uns theoretisch in die Gefahr, unsere Kunden zu verlieren. Schließlich könnte jeder Kunde den Code herunterladen und sich damit an eine neue Agentur wenden, die vielleicht günstiger arbeitet.

Tatsächlich läuft es aber anders. Mit unseren aktiven Kunden arbeiten wir im Durchschnitt über zehn Jahre zusammen. Und zwar nicht, weil sie auf unseren Code angewiesen sind und damit von uns abhängig sind. Sondern weil sie es schätzen, dass wir immer wieder neue Probleme für sie lösen. Unsere Kunden arbeiten mit uns zusammen, weil sie es wollen – und nicht weil sie es müssen.

Dazu kommt: Durch unser Open Source-Engagement bekommen wir regelmäßig neue Aufträge. Entwicklungschefs werden auf unsere Arbeit aufmerksam. Wir müssen ihnen nicht beweisen, dass wir Symfony beherrschen. Man kann sich einfach unseren Code anschauen und sich ein Bild machen.

Ein Beispiel für ein Open Source-Projekt

Wir entwickeln Open Source-Software, in dem wir spezifische Kundenprobleme lösen. Ein Beispiel hierfür: Unser Kunde JUGEND für Europa führt jedes Jahr mehrere Konferenzen unterschiedlicher Größe durch, für die häufig eine eigene Website benötigt wird.

Statt jedes Mal eine Agentur mit der Neuentwicklung einer Konferenzwebsite zu beauftragen, wollte JFE ein Standardsystem schaffen, so dass jedes Mal eine Konferenzwebsite mit individuellem Design, aber einheitlicher Funktionalität eingerichtet werden kann.

Dabei entstand das Problem, dass manche Konferenzen eine mehrsprachige Website brauchten, die meisten aber mit einer Sprache auskamen. Wir mussten also eine Lösung entwickeln, die die Pflege von mehrsprachigen Inhalten ermöglicht, dabei aber die Pflege einsprachiger Websites nicht komplizierter macht.

Hierfür haben wir nach einer Open Source-Lösung gesucht, allerdings keine gefunden. Also haben wir ein eigenes System entwickelt, dass wir Polyglot genannt haben. Nachdem wir Polyglot in mehreren Projekten erfolgreich eingesetzt haben, haben wir den Library-Code geopensourct.

Das Fazit: Wir haben ein Kundenproblem gelöst und gleichzeitig Open Source-Software entwickelt.

Mehr von webfactory zum Thema Open Source

]]>
Fri, 04 Sep 2015 16:14:45 +0200 https://www.webfactory.de/blog/open-source-engagement https://www.webfactory.de/blog/open-source-engagement webfactory GmbH webfactory GmbH 0
Zwei gebürtige Bonner kehren zurück: Unsere neuen Mitarbeiter Jessica und Sebastian

Welche Ausbildung habt ihr absolviert und welche Aufgaben habt ihr bei der webfactory?

Jessica: Ich bin gebürtige Bonnerin und habe von 2010 bis 2012 meine Ausbildung als Mediengestalterin bei der webfactory absolviert. Danach habe ich für etwa 2,5 Jahre in Berlin gelebt und gearbeitet, bevor ich wieder zurück nach Bonn gekommen bin. Bei der webfactory bin ich für das Webdesign und Frontend Webentwicklung zuständig.

Sebastian: Ich komme auch gebürtig aus Bonn. März 2015 habe ich meinen Master in Informatik an der RWTH in Aachen abgeschlossen und bin froh, dass ich jetzt wieder in meiner Heimatstadt arbeiten kann.

Wie seid ihr auf die webfactory aufmerksam geworden und warum habt ihr euch für den Job hier entschieden?

Jessica: Ich habe gesehen, dass Sebastian und Matthias jemanden gesucht haben und mich beworben. Parallel habe ich auch noch weitere Bewerbungen abgeschickt und hatte mehrere Zusagen, unter anderem von einer deutlich größeren Agentur aus Köln. Für die webfactory habe ich mich entschieden, weil ich mich hier sehr gut entfalten kann. Die Wege sind kurz und es gibt praktisch keine bürokratischen Hürden. Sebastian und Matthias bringen ihren Mitarbeitern viel Vertrauen entgegen.

Sebastian: Ich habe über eine Bekannte meiner Eltern gehört, dass die webfactory Programmierer sucht. Sie meinte, die Leute sind total nett und machen coole Projekte. Schon die Website hat mich überzeugt. Man sieht sofort, dass hier ein eingespieltes Team arbeitet und dass allen etwas an ihrer Arbeit liegt. Für die webfactory habe ich mich auch entschieden, weil Matthias und Sebastian Verständnis und Interesse für meinen Nebenberuf gezeigt haben. Ich arbeite in Teilzeit, weil ich seit acht Jahren Folkmusiker bin und als Liedermacher mit einem Soloprogramm auftrete. 

Was begeistert euch an eurer fachlichen Arbeit?

Jessica: Ich begeistere mich für die Verbindung aus Design und Frontend Entwicklung. Ich entwerfe Webseiten und Logos mit Stift und Photoshop. Danach erwecke ich sie mit HTML/CSS und Javascript zum Leben. Es fühlt sich dann einfach komplett an, so wie man es sich vorgestellt hat. Ganz anders als wenn du nur für das Design zuständig bist und die Webentwicklung erledigt jemand anderes.

Sebastian: Ich finde es spannend, eine Problemstellung zu bearbeiten und zu lösen. Ich arbeite an einer Funktion, überlege mir ein Konzept und zum Schluss funktioniert es. Alle Zahnräder greifen ineinander und es läuft. Das ist einfach ein gutes Gefühl.

Eure Lieblingsmahlzeit beim gemeinsamen Mittagessen?

Jessica: Ich muss gestehen, dass ich beim Essen keine besonderen Ansprüche habe. Aber die Tortellini mit Sahnesauce von Sebastian – die kann es gerne häufiger geben.

Sebastian: Mein Favorit sind bisher die Eier in Senfsoße von Malte. Die schmecken richtig gut. 

Weitere Mitarbeiter bei der webfactory

]]>
Wed, 19 Aug 2015 16:29:19 +0200 https://www.webfactory.de/blog/zwei-gebuertige-bonner-kehren-zurueck https://www.webfactory.de/blog/zwei-gebuertige-bonner-kehren-zurueck webfactory GmbH webfactory GmbH 0
Unsere Oase der Kreativität und des Teamworks: Das webfactory Lab Das Lab von der Straße aus gesehen

Vor etwa vier Jahren war es so weit: In unseren Büroräumen in der Bonner Südstadt war jeder Arbeitsplatz besetzt. Für einen neuen Mitarbeiter war schlicht kein Platz mehr vorhanden. Mehr Personen in einen Raum zu zwängen, kam für uns genauso wenig in Frage wie umzuziehen. Seit 1999 haben wir unseren Sitz in der Lessingstraße.

Dann gab auf der gegenüberliegenden Seite ein Weinhändler sein Ladenlokal auf. Den Raum – ausgestattet mit typisch hohen Südstadtdecken und einer breiten Fensterfront – mieteten wir sofort an.

Unser neuer "Ausweichsitz" sollte allerdings kein klassisches Büro werden. Wir wollten den Raum flexibler nutzen. Also bestellten wir Tische aus einem leichten Metallgestell, die sich leicht verschieben lassen. Die Tischplatten hat unser Schreiner aus einem ultraleichten Wabenmaterial hergestellt und dann mit Eiche-Kanten und Linoleumoberflächen versehen. Vier Personen wollen sich für mehrere Stunden besprechen? Mehrere Gruppen arbeiten parallel an verschiedenen Aufgaben? Oder ein Vortrag, für den keine Tische benötigt werden? Kein Problem. Mit wenigen Handgriffen haben wir die passende Sitzordnung.

Der Anfang war gemacht. Mittlerweile hat sich eine Reihe von Situationen entwickelt, für die wir unser webfactory Lab nutzen:

Kickoff Meetings: Wir nutzen unser Lab gerne für Workshops und Kickoff Treffen zu Beginn eines Projektes. An unserem etwa sechs Meter langen Whiteboard können wir das Projekt planen, ohne die Übersicht zu verlieren. Erst kürzlich haben Matthias und Dominik dort eine gemeinsame Woche mit einem neuen Entwickler-Team von Chefkoch.de verbracht, das sie unterstützen.

Gastarbeitsraum: Hin und wieder nutzen Kunden von uns das Lab als “Gastarbeitsraum”. So wie das IT-Team von SALTO-YOUTH, deren Mitarbeiter in ganz Europa verstreut sind. Sie treffen sich seit einigen Jahren bei uns für ihr jährliches Arbeitstreffen. Der Vorteil: Wenn sie eine Frage oder Idee haben, sind wir schnell zur Stelle.

War Room: Wenn eine Deadline für ein Projekt näher rückt, kommt es regelmäßig vor, dass einige unserer Mitarbeiter ins Lab umziehen. Es hat vor allem einen psychologischen Effekt, wenn man sich dort praktisch “einschließt” und intensiv am Abschluss des Projektes arbeitet.                                                             

Team-Workshops: Da derzeit wieder einige Mitarbeiter direkt bei einem Kunden vor Ort arbeiten, sehen wir uns nicht jeden Tag. Jeden Freitag findet deswegen ein Team Meeting statt. Den Beginn zelebrieren wir ein Stück weit. Wir kochen Kaffee, gehen gemeinsam auf die andere Straßenseite. Es ist ein kurzer Weg – und trotzdem bereitet man sich automatisch innerlich auf das Treffen vor.

Das webfactory-Lab beim Teamworkshop (1/2)Das webfactory-Lab beim Teamworkshop (2/2)

Vorträge und Erfahrungsaustausch: Nachdem wir das Lab bereits in den letzten Jahren sporadisch für Fachvorträge genutzt haben, freuen wir uns sehr darauf, am 20.08.2015 zum ersten Mal die UXBN, einen Stammtisch für User Experience-Spezialisten in Bonn, bei uns zu Gast zu haben. Wir haben den festen Vorsatz, dass dies nicht das letzte Event dieser Art bleiben soll.

Fußball gucken: ja, auch dafür eignet sich unser Lab! Zur WM haben wir dort gemeinsam Fußball geschaut. Natürlich nicht, ohne vorher in unserer eigens entwickelten Webanwendung die Ergebnisse zu tippen.

Wofür könnten wir unser Lab noch nutzen? Was fänden Sie interessant? Vielleicht eine Vortragsreihe zur Digitalisierung der Unternehmen und ihrer Arbeitsprozesse? Eine offene Fragestunde mit Profis zum Thema Web-Technologie? Wir freuen uns über Feedback und Vorschläge. Übrigens stellen wir unser Lab auch immer gerne für Gastnutzer zur Verfügung. Sprechen Sie uns bei Interesse einfach an.

Mehr zum Thema Arbeiten bei der webfactory

]]>
Fri, 07 Aug 2015 14:09:27 +0200 https://www.webfactory.de/blog/wofuer-wir-unser-webfactory-lab-nutzen https://www.webfactory.de/blog/wofuer-wir-unser-webfactory-lab-nutzen webfactory GmbH webfactory GmbH 0
Ponyhof, Monstercurry und andere Luxusprobleme: Warum unser Entwickler Malte für die webfactory arbeitet Malte arbeitet seit eineinhalb Jahren als Entwickler bei uns. Er hat sich eine Stunde mit dem freien Journalisten Benjamin O’Daniel zusammengesetzt. Sie sprechen über den „Ponyhof“ webfactory, agile Methoden und unseren gemeinsamen Mittagstisch.

Hi Malte! Wie bist du auf die webfactory aufmerksam geworden?

Malte Wunsch: Über den Programmier-Stammtisch Code & Coffee. Wir saßen damals zusammen und haben über unsere Arbeit beklagt. Viel Druck, kurzfristige Anforderungen – eben der klassische Agenturalltag.

An meinem Tisch saß ein Bekannter, der bei der webfactory gearbeitet hat. Der strahlte wie ein Honigkuchenpferd und hatte diese Probleme nicht. Also habe ich ihm auf den Zahn gefühlt.

Was hat dich dazu bewogen, dich bei der webfactory zu melden?

Malte: Drei Punkte haben in dem Gespräch interessant geklungen. Erstens: Hier wird Weiterbildung aktiv gefördert. Und zwar nicht nur zähneknirschend wie in vielen anderen Unternehmen. Die beiden Geschäftsführer Matthias und Sebastian schlagen aktiv vor, wo man hingehen könnte und bezahlen es komplett. Sie wollen, dass man sich weiterentwickelt. In meinen ersten vier Monaten war ich auf zwei Konferenzen in London und Hamburg.

Zweitens: Beide Geschäftsführer haben Programmiererfahrung. Sie haben eine gute Intuition dafür, ob eine Aufgabe einfach oder schwierig ist und welche Lösung was für Konsequenzen hat. Sie verstehen, dass sich manche Probleme erst im Laufe der Arbeit ergeben und manches auch mal unerwartet länger dauern kann. Sie sind aber in meiner ganzen Zeit hier nicht einmal den quick-and-dirty-Weg gegangen, sondern haben immer mit großer Disziplin zukunftsgerichtet gearbeitet. Man hat einen Austausch auf fachlich sehr hohem Niveau.

Als dritten Punkt haben mich die agilen Methoden neugierig gemacht. Das ist ein komplett anderes Arbeiten – auch wenn ich da zu Beginn sehr skeptisch war.

Was hat dich skeptisch gemacht?

Malte: Vom Typ her war ich eher jemand, der einen riesigen Anforderungskatalog wollte und dann für Wochen und Monate vor sich hin geplant und im Team implementiert hat. Man bunkert sich ein und baut eine je nach Zeit schöne Lösung für die spezifizierten Anforderungen. Nur ist es dann meistens so, dass der Kunde drei Tage vor Ende anruft und mittlerweile völlig andere Vorstellungen hat. Das ist unglaublich frustrierend und sorgt für Stress. Außerdem neigt man in so einem System dazu, seine Lösungen zu verteidigen – einfach weil man so viel Arbeit hineingesteckt hat – statt mit dem Kunden weiter zu suchen.

Im agilen Mindset arbeitet man dagegen eng mit dem Kunden zusammen, in überschaubaren Einheiten und mit kurzen Feedbackschleifen. Die Anforderungen, Probleme und Lösungen werden den Beteiligten nach und nach deutlicher und es gibt immer die Möglichkeit, kurzfristig nachzusteuern. Aber wie man so einen Prozess vernünftig steuern und den Kunden einbinden kann, das war mir völlig unklar.

Aber in der täglichen Arbeit und auf der Q-Con in London – meiner ersten Weiterbildung bei der webfactory – habe ich immer mehr darüber gelernt und bin jetzt fest überzeugt vom agilen Ansatz.

Wie lief dein erstes Gespräch mit Sebastian und Matthias ab?

Malte: Zuerst einmal bin ich für ein Gespräch vorbei gekommen. Meine Bewerbung hatte ich da noch nicht abgegeben. Sebastian und Matthias haben sich richtig Zeit genommen, um mich kennenzulernen.

Was mir persönlich gefallen hat: Die beiden halten sich selbst nicht für unfehlbar. Wenn der Chef ein guter Programmierer ist, kann es ja auch sein, dass er alle Prozesse dominiert. Aber das Gegenteil ist der Fall. Hier gibt es einen sehr offenen Umgang mit Fehlern. Wir suchen gemeinsam nach der besten Lösung. Erst nach dem Gespräch habe ich meine Bewerbung abgegeben und hatte noch ein offizielles Gespräch.

Und wie lief dieses zweite Gespräch ab?

Malte: Im webfactory Lab habe ich meine Diplomarbeit vorgestellt, weil ich wegen Geheimhaltungsvereinbahrungen nicht über meine aktuelle Arbeit sprechen konnte. Alle Mitarbeiter waren dabei und haben sich intensiv mit meiner Arbeit auseinandergesetzt und schon fast unangenehm kritische Fragen gestellt ;-)

Im zweiten Teil bin ich mit zwei Team-Mitgliedern Kaffee trinken gegangen – ohne die Chefs. Dort haben wir offen über den Arbeitsalltag gesprochen. Der einzige Kritikpunkt, der dort angesprochen wurde, war, dass manchmal zu viel diskutiert wird. Aus meiner Sicht ist das ein Luxusproblem. Alle Team-Mitglieder haben eben einen hohen Wissensstand und häufig geht es dabei um Abwägungsfragen, für die es keine klare oder richtige Antwort gibt.

Und hast du nach dem Gespräch sofort zugesagt?

Malte: Nein, ich hatte noch einen kleinen Konflikt mit mir selbst zu lösen. Ich hatte vorher ziemlich klassische Karriere-Vorstellungen. Also: Große Firma, Teamleitung, unanständig viel Geld und so weiter. Ich hatte auch entsprechende Angebote in diese Richtung. Auf der anderen Seite stand die webfactory und damit fachliche und persönliche Weiterentwicklung, ein menschliches Arbeitsklima, flache Hierarchien, offene Kommunikation.

Irgendwann hat Sebastian mir dann eine SMS geschrieben: „Lass dein Herz entscheiden!“ Hört sich schnulzig an. Aber so war es auch. Ich habe mich für die webfactory entschieden und bin bis heute sehr glücklich über diesen Schritt.

Die webfactory arbeitet mit Symfony, einem Framework, mit dem du vorher noch nicht gearbeitet hast. Wie lief der Einstieg?

Malte: Was die unterschiedlichen Frameworks angeht, bin ich relativ agnostisch. Man schaut sich halt an, was das Ding kann. Bei Symfony war es eine kleine Offenbarung. Viele Komponenten, die man sonst selbst entwickelt hat, liegen bei Symfony schon vor – und dann auch noch in schön! Und die Dokumentation bietet einen hervorragenden Einstieg.

Hinter Symfony steht eine sehr lebendige Entwickler-Community. Auch wir entwickeln es weiter. Das webfactory/exceptions-bundle wurde zum Beispiel in der offiziellen Dokumentation empfohlen (und ist mittlerweile in den Core integriert) und wurde schon 130.000 Mal heruntergeladen. In der Symfony-Code-Contributers-Liste steht Matthias auf Platz 79, in den letzten beiden Monaten sogar auf Platz 8. Wir geben der Entwickler-Gemeinde auch etwas zurück. Das ist die Einstellung hier.

Es gibt bei der webfactory die Tradition des gemeinsamen Mittagessens. An jedem Tag bereitet ein anderer Mitarbeiter das Mittagessen vor. Dein Favorit?

Malte: Ganz klar das Monstercurry von Dominik. Selbst wenn ich Urlaub habe, komme ich dafür vorbei.

Das Mittagessen ist auch so eine Sache. Bei der webfactory bist du halt nicht nur der Code-Monkey. Hier bist du Mensch und kannst dich ganz anders ausleben. Es gibt ja das berühmte Zitat: „Das Leben ist kein Ponyhof!“ Bei der webfactory ist es genau umgekehrt: Wir sind ein Ponyhof und stolz drauf.

Umgekehrt gibt es keine Entschuldigung dafür, wenn man unzufrieden ist. Hier kannst du alles aktiv gestalten und ändern, wenn du gute Argumente hast und damit die anderen überzeugst. Einfach zurücklehnen, sich über die Chefs beschweren oder ein kaputtes System schulterzuckend akzeptieren – das klappt hier nicht.

Seid ihr PHP-/Symfony-Entwickler und es spricht euch an, wie wir arbeiten? Hier findet ihr auch unsere aktuelle Stellenanzeige. Und wenn ihr jemanden kennt, der/die passen könnte, freuen wir uns, wenn ihr das Interview weiterleitet.

Auch interessant?

]]>
Fri, 05 Jun 2015 17:02:40 +0200 https://www.webfactory.de/blog/interview-mit-malte https://www.webfactory.de/blog/interview-mit-malte webfactory GmbH webfactory GmbH 0