Coden am Fleet

Coden am Fleet

Am Rande der Hafencity coden wir direkt am Wasser und werden dabei nur begleitet von Möwen, Wassergeplätscher und ein bisschen Touristengemurmel. Wir sind uns jedenfalls einig: Diese entspannte Atmosphäre ist einzigartig! Wir lieben es.

Definierte Prozesse bei flexiblen Strukturen

Definierte Prozesse bei flexiblen Strukturen

Wir arbeiten routiniert in vorgegebenen Prozessen, die wir aber dennoch für jedes Projekt hinterfragen und gegebenenfalls neu definieren. So arbeiten einige unserer Teams nach Scrum, einige nach Kanban, aber auch eigene Prozesse sind möglich, wenn die Situation es erfordert.

Arbeiten ohne künstliche Barrieren

Arbeiten ohne künstliche Barrieren

Technologiewahl ist kein Selbstzweck. Wir wählen jeweils die beste Technologie für das Projekt im Hinblick auf Performance, Infrastruktur und Security. Davon profitieren nicht nur unsere Projekte, sondern letztlich auch unsere Teams, welche die Entscheidung mittragen.

Hard- und Software ganz individuell

Hard- und Software ganz individuell

Egal ob Windows, Linux oder macOS. Ob Apple, Dell, Lenovo oder andere Hersteller: Bei uns sucht sich jeder Kollege sein Arbeitsgerät nach persönlichen Vorlieben aus. So gibt es nur zufriedene Gesichter, und jeder kann in seiner gewohnten Umgebung produktiv durchstarten.

Jetzt wird's ernst: Was machen wir?
  • Branchenübergreifende Softwarelösungen mit verschiedenen Technologie-Stacks sind unser Schwerpunkt. Unser Referenzportfolio ist breit gefächert: Cloud-basierte Enterprise Plattformen, Cross-Media Marketingtools, Energie-Fördermittel Rechner, Online-Shops. Kunden schätzen neben unserer Flexibilität insbesondere unsere Fachkompetenz, die eben nicht bei A wie Apache beginnt und bei P wie PHP aufhört, sondern sich über viele Sprachen, Frameworks und Datenbanksysteme erstreckt.
Wie gehen unsere Teams dabei vor?
  • Bei alemo sind mehrere agile Teams parallel tätig. Abhängig von den Anforderungen des Kunden und den technischen Ansprüchen an das Projekt wählen wir die passende Projektmanagement-Methode aus, meistens wahlweise Scrum oder Kanban, und definieren die technische Basis. Dabei spielt Interoperabilität ebenso eine Rolle, wie auch bereits vorhandene Infrastruktur, sowie die Zielgruppe. Die Umsetzung erfolgt dann durch das Projektteam bei uns im Hause, oder auch beim Kunden vor Ort.
Was machen wir sonst noch?
  • Neben den Entwicklungsleistungen gehören auch die Requirement-Analyse, und Consulting in den Bereichen Projekt- und Prozessmanagement zu unserem Portfolio, ebenso Test- und Qualitätsmanagement, sowie im Bereich e-Commerce das Sales Marketing, Google AdWords-Betreuung und -Optimierung, Amazon Shopmanagement und vieles mehr. Unser Fokus liegt immer auf den projektspezifischen Anforderungen und Zielstellungen hinsichtlich Skalierbarkeit, Sicherheit und Flexibilität.

Je nach Projekt und Ausgangslage setzen wir wahlweise Scrum oder Kanban ein. Die Wahl des richtigen Prozessworkflows richtet sich nach den Anforderungen des Projektes.

PHP

Wir nutzen PHP fast ausschließlich mit verschiedenen Frameworks, wie etwa Symfony oder auf Basis unseres eigens entwickelten Halo Frameworks.

RabbitMQ

In vereinzelten Projekten greifen wir auf RabbitMQ zurück, um Nutzer ressourcenschonend dynamisch benachrichtigen zu können. RabbitMQ hat sich in diesem Bereich als namenhafte Lösung durchgesetzt und wird von vielen großen Unternehmen und Projekten weltweit eingesetzt.

C#

Neben PHP stellt die .net-Plattform bei uns den häufigst genutzten Technologie-Stack dar. Als Sprache wird hierbei in der Regel C# gewählt.

Angular

Angular und AngularJS kommen in mehreren unserer Projekte zum Einsatz.

Docker

Nicht im Live-Betrieb aber durchaus in der Entwicklungsphase machen wir uns das Leben mit Docker einfach. Der Einsatz hängt natürlich vom Projekt ab und ist nicht bei jedem Projekt immer sinnvoll.

Jira

Da wir schlanke Workflows mögen und uns ungern aufwändig selbst organisieren, nutzen wir Jira in Kombination mit Bitbucket Server. Unsere Teams lieben das bereitgestellte Setup: Es spart Zeit, unterstützt bei der Arbeit, erhöht die Effizienz und die Zufriedenheit.

git

Als Versionsverwaltung ist die Effizienz von git unbestritten. Ohne thematische Branches und Pull Request (in Verbindung mit Bitbucket Server) wäre unsere Q/A längst nicht so gut, wie sie es ist.

Composer

Da wir mitunter viele verschiedene Bibliotheken einsetzen, machen wir es uns einfach: Die Bibliotheken werden je Projekt mittels Composer eingebunden. Schnell und unkompliziert.

Bitbucket

Gemeinsam Arbeitsergebnisse betrachten, vergleichen oder Nachbesserungen vorschlagen: Sowohl für die Qualitätssicherung, als auch für den Lernfaktor und die Teamzusammenarbeit ist Bitbucket Server im täglichen Prozess gesetzt.

PHPUnit

Bei vielen Aufgabenstellungen nutzen wir das Prinzip des Test-Driven-Development und beginnen mit dem Unit Test. Da viele Projekte auf PHP basieren, ist PHPUnit hier das Mittel der Wahl. Letztlich handelt es sich bei PHPUnit, wie auch generell beim Test-Driven-Development um einen weiteren Baustein zur Qualitätssicherung und stabiler, sicherer Software.

Mocha.js

Auch JavaScript Code wird bei uns umfassend getestet: Hier bedienen wir uns Mocha.js, einem einfach zu handhabenden Test Framework für JavaScript Applikationen.

PostgreSQL

Tatsächlich nutzen wir in den meisten Projekten PostgreSQL anstelle alternativer Datenbanksysteme. Kenntnisse sind aber auch schnell erlernbar, wenn ein andere relationales DBMS bereits beherrscht wird, z. B. MariaDB.

Python

Da wir auch für spezifische Hardware und Embedded Systeme programmieren, ist Python an dieser Stelle die uns zur Verfügung stehende Sprache. Tatsächlich ist Python die einzige Skriptsprache, die auf den meisten Embedded Systemen bereit nativ vorhanden ist.

GraphQL

Die von Facebook entwickelte Query-Sprache sorgt für eine effizientere Kommunikation zwischen Server- und Clientanwendung und ermöglicht uns eine schärfere Trennung zwischen Front- und Backend-Entwicklung.

Jenkins

Von Testautomation bis Continuous Integration profitieren wir inzwischen in vielen Projekten von Jenkins.

Symfony

Neben unserem eigenen Framework, welches vor allem in älteren Projekten noch zum Einsatz kommt, wächst die Verwendung von Symfony als Basis unserer aktuellen Projekte. So können wir uns ganz auf die Anwendungslogik konzentrieren.