Videos

Wie 7 Zeilen Code unsere Entwicklungszeit halbiert haben

Wir heilen auch Ihre Software. Und wir garantieren es!

Sie bauen Software selbst

Wenn Ihnen Ihr Software-Projekt aus dem Ruder läuft, Fehler zunehmen und sich die Entwicklung verlangsamt, bringen wir Sie wieder auf Kurs. Sie erhalten die Kontrolle über Ihr Projekt zurück und können die freigewordenen Kapazitäten sinnvoll einsetzen.

Sie wollen Software bauen lassen

Wenn Ihnen der Technologie-Partner für Ihr Web- oder Mobil-Projekt fehlt, füllen wir diese Lücke. Sie erhalten jederzeit vollen Einblick in unsere Entwicklung und können den aktuellen Stand der Software jederzeit testen. Die sofortige Rückmeldung vermeidet teure und zeitraubende Fehlentwicklungen und führt schneller zum Ziel.

Wer wir sind und was wir schon geleistet haben

ramy-small.jpg

Ramy Hardan
(Gründer, Chef)

Ramy entwickelt seit über 25 Jahren Software, hat sich während des Studiums selbständig gemacht und schart seit 2010 Top-Talente unter dem Dach der bitzeche GmbH in Koblenz um sich.

Vom koblenzer Verlag bis zum japanischen Weltkonzern reichen seine Kunden, die er mit hochskalierbaren Web-Anwendungen meist auf Java-Basis beliefert.

julia-small.jpg

Julia Schoschin
(Entwicklerin)

Julia sorgt für den Feinschliff an Web-Oberflächen, damit sie in allen gängigen Browsern pixelgenau sind.

Sie knackt bei uns die harten Javascript- und CSS-Nüsse mit Geduld und Disziplin und beherrscht Angular.js, Knockout.js, CoffeeScript, JSP, Struts und JSF.

patrice-small.jpg

Patrice Brend'amour
(Entwickler, Go-To-Guy)

Als Mann der ersten Stunde bei der bitzeche erwies sich Patrice als Glücksgriff. Als Entwickler beherrscht er neben Java, Javascript und Objective-C auch Python, PHP und C# und arbeitet sich schnell auch in sehr komplexe Software ein.
Darüber hinaus sorgt er für Aufbau und Verwaltung aller Server, ob für

  • CI (Hudson, Jenkins)
  • Web (Apache, Nginx, Tomcat)
  • Mail (Postfix, Exim, Spamassassin, Clamav, Dovecot, Courier, Graylist, Horde, SquirrelMail, Roundcube, Mailman)
  • Datenbank (PostgreSQL, Microsoft SQL Server)
  • File (Samba, NFS)
  • Monitoring (Nagios, Hyperic, Graylog, Munin)
  • Virtualisierung (XEN, KVM, VMware)
  • oder Cloud (Amazon Cloudfront, EC2, ELB, S3)

Und sollte einer unserer Macs streiken, nutzt Patrice seine Erfahrung aus der Zeit beim Mac-Support an der Uni Konstanz und biegt alles wieder hin.

Einige Nebenprodukte seiner Rastlosigkeit haben wir als Open-Source-Projekte veröffentlicht:

annette-small.jpg

Annette Pohl
(Entwicklerin)

Annette nutzt Java seit dessen Geburtsstunde 1995. Ihre Erfahrung reicht von Java-Applets über Swing-Anwendungen bis zu Web-Anwendungen mit JSF, Struts oder Spring.

Annette bringt Konzepte in DSLs mit Xtext auf den Punkt, nicht nur im Hobby-Projekt, sondern auch bei der bitzeche, wo sie für die Entwicklung der DSLs und Code-Generatoren verantwortlich ist.

simon-small.jpg

Simon Schauß
(Entwickler)

Simon arbeitet sich sehr schnell in Technologien ein (Dropwizard, Spring, Angular.js, Node.js, Knockout.js, Ember.js), und integriert sie in unsere Architektur (REST, CQRS, Event-Sourcing).

Wer einige unserer Kunden sind

ct.gif
athoris.png
onskreen-logo.jpg

Wie wir arbeiten

Wenn man Software schneller, mit weniger Aufwand und in höherer Qualität ausliefern will, ist die Komplexität der mächtigste Feind. Ihr erklären wir jeden Tag den Krieg! Die wirksamste Waffe ist die Vereinfachung, d.h. die Vernichtung von Komplexität durch Zerlegen und Zusammensetzen. Teile und herrsche!

Was ist Komplexität?

Komplex bedeutet "miteinander verwoben" (com-plectere). Miteinander verwobene Teile lassen sich nicht unabhängig voneinander ändern, sondern nur als Ganzes. Zusammengesetzte (com-ponere) Teile erlauben unabhängige Änderungen.

Ein anschauliches Beispiel ist die Primfaktorzerlegung. Jede natürliche Zahl läßt sich als Produkt von Primzahlen darstellen:

60 = 2 * 2 * 3 * 5
Die 60 ist die verwobene, komplexere Darstellung. Die Primfaktorzelegung ist die zusammengesetzte, einfachere Darstellung.
Soll aus der 60 eine 84 werden, müssen wir im zerlegten Fall nur die 5 durch die 7 austauschen:

84 = 2 * 2 * 3 * 7
Alle anderen Primfaktoren bleiben unberührt.
Ähnlich können wir in einer sauber zerlegten, "einfach gestrickten" Software gewünschte Änderungen am Gesamtsystem mit kleinen, lokal begrenzten Änderungen erreichen.

Warum ist Komplexität böse?

Komplexität tötet. Microsoft weiß es ("Complexity kills"), IBM weiß es ("Because we were IBM, we survived it"), wir wissen es. Nur wie tötet sie?

Je komplexer die Software, umso weniger Voraussagen können wir über ihr Verhalten treffen. Sie verringert unsere Sicht, wie Nebel auf einer kurvigen Strecke. Wir müssen langsamer fahren, um nicht von der Straße abzukommen (Crash) oder Leitplanken bauen (Tests), um den Schaden zu mindern. Und wenn wir nicht gerade Walter Röhrl sind, kommen wir nie oder zu spät an.

Komplexität ist verantwortlich für den Schmetterlingseffekt: Wir ändern das Verhalten eines Softwareteils (Flügelschlag) und ein völlig anderer Teil ändert unerwartet, und meist zerstörerisch, sein Verhalten (Tornado). Kleine Ursache, große Wirkung

Komplexität ist ansteckend. Selbst wenn man sie gut abschirmt, sickert sie durch und weitet sich aus.

Komplexität ist verführerisch. Sie leistet kurzfristig gute Dienste und beschleunigt die Arbeit des Entwicklers zu Beginn. Bibliotheken und Frameworks sind schnell eingebunden, ohne wissen zu müssen, wie sie genau funktionieren und welche Komplexität sie mitbringen. Aber wehe sie verhalten sich unerwartet oder passen nicht mehr zu den Anforderungen. Ein Austausch ist selten möglich, weil sie mit dem Rest der Software verwoben sind.

Wie erkenne ich Komplexität?

Wenn die Zahl der Fehler in Ihrer Software zunimmt, Sie immer mehr und aufwendigere Tests benötigen, Sie Angst vor Änderungen haben, neue Funktionen schwer zu integrieren sind, dann leiden Sie an Komplexität.

Wie kann ich Komplexität bekämpfen?

Zwar kann Komplexität viele Quellen haben, eine begegnet uns aber fast überall und sie macht die gesamte Software krank. Wir garantieren die Heilung.

Wie wir zusammenkommen

ramy-thumb.jpg
Dipl.-Inf. Ramy Hardan

r.hardan@bitzeche.de
+49 261 201 69 85

bitzeche GmbH
Universitätsstr. 3
56070 Koblenz