Leistungen

Hier können wir Sie unterstützen

Turn-Key Projekte

Sie sind interessiert an einer schlüsselfertigen Softwarelösung um Ihre Geschäftsprozesse effizienter und schlagkräftiger zu gestalten?

Kontaktieren Sie uns, sodass wir gemeinsam mit Ihnen Ihre Anforderungen analysieren und Ihnen ein Angebot machen können.

Coaching

Software Craftsmen leben in ihren Projekten einen agilen Entwicklungsprozess und legen Wert auf klare Anwendungsarchitektur sowie messbare Qualität.

Mit einer beratenden Projektbegleitung durch einen Senior Software Craftsman können Kunden von unseren Erfahrungen profitieren.

Training

Der Großteil unseres Teams hat langjährige Erfahrung als Vortragende an Fachhochschulen und Technischen Lehranstalten. Darüber hinaus bieten wir eine Reihe fertige Trainingsmodulen zu Themen im Java Enterprise Umfeld, Agilen Methoden und Collaboration an.

Zero2Hero ist eine von Software Craftsmen initiierte Trainingsserie.

Consulting

Benötigen Sie mehr als beratende Unterstützung bei der Umsetzung Ihrer Projekte, so können wir Ihnen mit den passenden Skills auch längerfristig aktiv bei der Realisierung Ihrer Vorhaben zur Verfügung stehen.

Clean code is not written by following a set of rules.
You don’t become a software craftsman by learning a list of heuristics.
Professionalism and craftsmanship come from values that drive disciplines.
― Robert C. Martin

Methodik

So wird Software bei uns entwickelt

Requirements Engineering

Der Grundstein der Softwareentwicklung

Gemeinsam mit dem Product Owner des Kunden erarbeiten wir auf Basis von User Stories alle Anforderungen und dokumentieren diese mit unseren selbst entwickelten Atlassian Confluence Erweiterungen und Seitenvorlagen. Diese sind mit Atlassian JIRA Story Issues verlinkt, sodass der Entwicklungsfortschritt jederzeit ablesbar ist.

Technologien

Bevorzugte Technologien

Java Enterprise, Springframework (+Spring Ökosystem), Hibernate, NoSQL, QueryDSL, AngularJS, Angular2, MaterialDesign, TypeScript, ECMAScript6, Redux, Webpack, Grunt, Gulp, npm, node, SASS, REST, HATEOAS, elasticsearch, Gradle, Spock, Geb, Oracle, PostgreSQL.

Continuous Delivery

Der stetige Prozess

Die Continuous Delivery Pipeline ist nach dem von Jez Humble und David Farley im Buch "Continuous Delivery" beschriebenen Prinzip modelliert. Diese sorgt dafür dass jede Codeänderung eine vollständig automatisierte Folge von Build Prozess Schritten durchläuft.

Test Strategien

Kontrolle ist besser als Vertrauen

Um höchste Qualität liefern zu können durchlaufen alle Code Änderungen eine Suite von automatisch ablaufenden Unit Tests, Komponenten Tests, Integrations Test, Akzeptanz Tests, Performance Tests.

Daten Migration

Sicher von A nach B

Jedes neue Softwarerelease kann natürlich Änderungen an internen persistenten Datenstrukturen nach sich ziehen. Damit Bestandsdaten weiterhin verwendet werden können, müssen diese zuerst an die neuen Strukturen angepasst werden. Diesen Vorgang nennt man auch Datenmigration. Wir verwenden dazu das populäre Framework flyway mit dem eine Migration entweder automatisch direkt in der produktiven Anwendung oder auch als manueller Arbeitsschritt ausgeführt werden kann.

Generally, the craft of programming is the factoring of a set of requirements into a a set of functions and data structures.
- Douglas Crockford

Trainings

from zero to hero

Java 8 Update

Martin Ahrer

In diesem 2 tägigen Workshop erfahren Sie Hands-On wie Sie neue Features aus Java 8 effizient in Ihren Projekten einsetzen können. Nach dem Workshop sind sie in der Lage Lambda Expressions zu verstehen und mit Hilfe des neuen Stream API Elemente der funktionalen Programmierung umzusetzen. Darüberhinaus erhalten Sie einen Überblick über API Verbeserungen wie dem Date Time API oder Optional

Lambda Expressions
  • Introduction to Lambdas and Functional Interfaces
  • Type Checking, Target Typing, Type Inference
  • Method References
  • Composing Lambdas
Functional Style Data Processing
  • Introductions to Streams
    Streams and Collections, Stream Operations
  • Working With Streams
    Filtering, Slicing, Mapping, Finding, Matching, Reducing, Numeic Streams, Building Streams
  • Collecting Data With Streams
    Patterns, Reducing, Grouping, Custom Collectors
  • Parallel Processing With Streams
    Sequential/Parallel Streams, Multi-threading and fork/join, Performance
API Additions
  • New Date Time API
  • Optional
  • Miscellaneous API Enhancements

Infrastructure As Code with Docker

Martin Ahrer

In diesem 2-tägigen Workshop erfahren Sie warum Sie Docker in Ihren Projekten berücksichtigen sollten. Sie verstehen die Architektur sowie die wesentlichen Konzepte um Images zu bauen, Container zu starten und deren Daten zu managen sowie eigenständig einen Docker Host zu erstellen. Nach diesem Workshop sind Sie in der Lage komplexe Anwendungen als Docker Container zu betreiben.

Docker Essentials
  • Why should I care about containers and Docker? Which problems does Docker solve
  • Understanding Docker, its architecture, tools and API
  • Working with Docker containers and images
  • Automated build of docker images with Dockerfiles (best practices)
  • Container networking and software defined networks (SDN)
  • Multi container applications and docker-compose
  • Image management (Repository, Registry, Docker Hub)
  • Data management with Docker volumes
  • Machine Provisioning and docker-machine
Docker in practice
  • Dockerize your favourite tool using the Docker CLI
  • Building a simple web application with Spring Boot and docker-compose
  • Publishing images to a registry and running private registries
  • Deploying an application to a cloud provider

Versionsverwaltung mit Git

Martin Ahrer

Dieser Workshop zeigt wie Sie mit der populären Versionsmanagementsoftware Git Änderungen an Sourcecode managen können. Sie erlernen wesentliche Kommandos für effizientes Codemanagement und erfahren fundamentale Konzepte von Git und dessen Architektur. Fragen Sie nach einem für Sie maßgeschneiderten Training an!

Basics
  • What is Git, and why you should move to Git?
  • Initializing a repository?
  • Git storage areas
  • Configuring Git
  • Add files, make changes, view history
  • Initializing a repository?
  • Branches (fast-forward, 3-way-merge)
  • Merging
  • Branch management
  • Remote repositories and remote branches (clone, fetch, merge, pull, push)
  • Stashing and cleaning
  • ...
Advanced
  • The .git directory (git internals)
  • Rewrite history (amend commit, rebase, filter-branch)
  • Undo and reset
  • Revision selection
  • Plumbing and porcelain
  • ...
Any fool can write code that a computer can understand. Good programmers write code that humans can understand.
- Martin Fowler

Das Team

Was Sie über uns wissen müssen

Klaus Unger

Geschäftsführer und Partner

Klaus konzentriert seine Augenmerk darauf, die Anforderungen des Kunden zu verstehen und zu hinterfragen. In der Umsetzung legt er großen Wert auf technisch saubere Lösungen um eine nachhaltige Wertschöpfung sicherzustellen. Dabei setzt er gleichermassen auf bewährte Technologien und Konzepte als auch auf innovative neue Lösungen.

Java
Datenbanken
Training
Agile Methoden

David Loidolt

Partner

David ist ein Vollblut-Frontend-Entwickler. Neben der Entwicklung von skalierbaren JavaScript Applikationen zählt auch die Automatisierung der Frontend Build Pipeline zu seinen Stärken. Sein Fokus liegt nicht nur auf Clean Code, sondern auch auf einer angenehmen User Experience und der Erstellung und Umsetzung von klaren responsive Webdesigns.

Javascript
Responsive Webdesign
Web Performance
Build Automatisierung

Martin Ahrer

Partner

Martin ist leidenschaftlicher Verfechter des Prinzips 'Qualität ist kein Feature, sondern eine Einstellung'. Er ist auch stets bestrebt diese Einstellung seiner Umwelt einzuprägen und ist aktiv in der Java Community. Als Gründer und Leiter der Enterprise Java User Group Österreich organisiert er Vorträge rund um die Technologie Plattform Java.

Java
Spring Framework
Architektur
Continuous Delivery
Container (Docker)
Training

Helmut Maurerbaur

Partner

Helmut ist ein Experte in Sachen API Design und Umsetzung auf Basis verschiedener Implementationen, sowohl auf Basis REST als auch klassischer Web Services. Zusätzlich hat er sich die Virtualisierung von Entwicklung- und Testinfrastruktur sowie Produktionsserverumgebungen auf Basis Docker auf die Fahnen geschrieben.

Java
Spring Framework
Virtualisierung
Testautomatisierung

Testimonials

Was unsere Kunden über uns sagen

Partner

In Kooperationen erbrachte Leistungen

Hosting

In enger Zusammenarbeit mit unserem Kooperationspartner digimagical.com unterstützen wir unsere Kunden mit indiviuellen Lösungen im Bereich Application/Server Hosting und Virtualisierung.

Security

Security hat viele Facetten und ist auf allen Ebenen essentiell, darum überlassen wir hier nichts dem Zufall. Vielschichtige Erfahrungen aus PCI/DSS Zertifizierungsprojekten fliessen hier, ebenso wie standardisierte Audits mit unserem Partner digimagical.com, in unser tägliches Handeln ein.