DynaMITe Services - Software mit Qualitätsgarantie
Willkommen
Herzlich willkommen bei Igor Akkerman, Ihrem Experten für die Entwicklung umfangreicher Softwarelösungen im Java-Umfeld - von der Einzelplatzanwendung bis zum Internet-Portal.
Leistungen
- Softwareentwicklung
- Softwarearchitektur
- Technische Projektleitung
Kernkompetenzen
- OOP / OOA / OOD, Java EE
- XML, SOA, Web Services
- IT Security
Arbeitsumfeld
- im Team vor Ort
- eigenständig via Remote Office
Eingesetzte Technologien und Werkzeuge
- Java SE/EE
- Java SE/EE 6, EJB 3.1, CDI, Weld, Seam, Spring, JSF 2.0, JSP, Swing, AspectJ
- OOP/OOA/OOD
- Design Patterns, UML, MDA/MDD, Inversion of Control, Dependency Injection, AOP
- Persistenz
- JPA 2.0, Hibernate, EclipseLink, TopLink, SQL
- Datenbanken
- Oracle, PostgreSQL, MySQL, Derby/Java DB, Informix
- XML
- XML Schema, XPath, XSLT, DOM, SAX, StAX, SOAP Web Services
- Anwendungsserver
- Tomcat, JBoss, Oracle AS
- Build Management
- Maven 3, Ant
- TestDriven Development
- JUnit, Hamcrest, Arquillian, Selenium
- Continuous Integration
- Hudson, CruiseControl
- Web
- HTML, CSS, JavaScript; Webserver: Apache; CMS: Contao, Joomla
- IT Sicherheit
- PKI, XML Encryption/Signature, WSS, Kryptoverfahren, Security Infrastrukturen
- Tools
- Eclipse, SVN, Git, FindBugs, Poseidon, Microsoft Visio, Oxygen XML, XML Spy, Jira
Softwareentwicklung mit Niveau
Ziele
- Qualitativ hochwertige Produkte
- Schneller Abschluss von Projekten und Meilensteinen
- Effiziente und produktive Realisierung
- Zuverlässigkeit bei Vereinbarungen und Absprachen
Anspruch
- Äußerste Präzision bei Analyse, Realisierung und Qualitätssicherung
- Einsatz der fortschrittlichsten Technologien und Vorgehensweisen
- Vertrauensvolle Kommunikation mit allen Beteiligten in sämtlichen Projektphasen
Software für modernste Ansprüche
Die Entwicklung von Anwendungssoftware erfordert fundierte Kenntnisse der heutigen Technologien, Routine im Umgang mit modernsten Methoden und große Souveränität beim Vorgehen in umfangreichen IT-Projekten, gesammelt in zahlreichen äußerst professionell arbeitenden Projektteams.
Qualitätsmerkmale
Neueste Entwicklungen und Technologien zu kennen, ist mir ein wichtiges Anliegen. Während in zahlreichen Projekten Techniken der Softwareentwicklung und Vorgehensweisen eingesetzt werden, die nicht mehr zeitgemäß sind, profitiere ich von aktuellen Erkenntnissen und Trends in meinem Fachgebiet. Ihnen verdanke ich, dass von mir geplante und realisierte Software modernsten Ansprüchen standhält:
Präzision
Jedes Standard- und Sonderszenario, jeder Normal- und noch so exotische Ausnahmefall werden berücksichtigt: die korrekte Funktionswese wird stets garantiert.
Wartbarkeit und Skalierbarkeit
Dank einer äußerst gut durchdachten Systemarchitektur entstehen verständliche Strukturen, die eine einfache Wartbarkeit und Weiterentwicklung ermöglichen, insbesondere auch optimale Skalierbarkeit.
Wiederverwendbarkeit
Durch konsequente Modularisierung werden jederzeit wiederverwendbare Bausteine ausgegliedert, auf die in neuen Projekten ohne Neuentwicklung zurückgegriffen werden kann.
Interoperabilität
Bei der Auswahl von Technologien, Formaten und Protokollen werden möglichst standardisierte Verfahren und Konzepte eingesetzt. Sie gewährleisten eine reibungslose Zusammenarbeit verschiedener Komponenten oder Anwendungen.
Sicherheit
Eine professionelle Analyse der Sicherheitsanforderungen garantiert die Wahrung von Daten- und Prozesssicherheit.
Performance
Alle Anwendungsteile genügen den Anforderungen an die Performance, ggf. durch den Einsatz hocheffizienter Spezialalgorithmen.
Hochverfügbarkeit und Fehlertoleranz
Die Verfügbarkeit und Funktionstüchtigkeit der Dienste sind auch bei einer Vielzahl von Anwendern, hohem Datenaufkommen und beliebigen Eingaben stets gewährleistet.
Benutzerfreundlichkeit
Auf einfache Bedienbarkeit und Fehlertoleranz im Sinne des Nutzers wird besonderer Wert gelegt.
Effiziente Realisierung
Aufträge werden effizient und kostensparend ausgeführt.
Akkurate Aufwandsschätzung
Projekte werden in time und in budget fertiggestellt.
Kontinuierlich unter Kontrolle
In zahlreichen Projekten erlebt man eine gewisse Nachlässigkeit bei der Erfüllung der gestellten Anforderungen, speziell in der Analyse- und Entwurfsphase. So sind die zuvor aufgelisteten Qualitätsmerkmale keineswegs selbstverständlich. Des Weiteren wird bei Wartungs- und Programmpflegearbeiten häufig die Architektur nicht an neue Umstände angepasst. Stattdessen behilft man sich mit provisorischen kurzfristigen Lösungen und hinterlässt ein strukturelles Minenfeld. Dies geht auf Kosten der Fehlerfindung sowie der weiteren Wartung, die anschließend weitaus aufwendiger werden und unnötige personelle und finanzielle Ressourcen verschlingen.
Mein Ziel ist es, die Voraussetzungen dafür zu schaffen, dass die Architektur des Systems jederzeit flexibel und dynamisch anzupassen ist. Der Vorteil besteht in einer kontinuierlich sauberen Programmstruktur, die Folgeaufwände und somit Kosten reduziert.
Erwarten Sie:
- Weitsichtige wartbare modulare Lösungen
- Durchdachte nachhaltige Softwarearchitekturen
- Zweckmäßiges objektorientiertes Anwendungsdesign
- Frühestmöglichstes Refectoring bei neuen Gegebenheiten
- Strukturierten, verständlichen, dokumentierten Programmcode
Erwarten Sie nicht:
- Monolithische unflexible Programmeinheiten
- Kurzsichtige "Quick-and-Dirty" Programmierung
- Dauerhafte "ToDo"/"FixMe" Provisorien und Workarounds
- Undurchschaubare Programmstrukturen und "Spaghetti-Code"
- Trickreiches Verbergen bekannter oder möglicher Fehler
Ständige automatisierte Qualitätssicherung
Moderne Ansätze wie Continuous Integration ermöglichen eine höhere Produktqualität sowie eine vielfache Leistungssteigerung bei der Entwicklung von Software. Typische Fehlerquellen lassen sich schneller aufspüren durch automatisierte Tests bei jedem Sichern eines Projekts. So werden Probleme frühestmöglich lokalisiert und spätere Aufwände bei der Qualitätssicherung vermieden. Schließlich erhält der Endnutzer ein von vornherein funktionierendes System.
Flexibilität bei wechselnden Anforderungen
In vielen Bereichen ist aufgrund häufiger meist kurzfristig wechselnder Anforderungen eine hohe Flexibilität der Entwickler notwendig. Aufgrund mehrschichtiger Entscheidungshierarchien werden mehrfach funktionelle Anforderungen verändert, Einschränkungen gefordert und Sicherheitsaspekte überdacht. So geschieht dies beispielsweise im E-Government aufgrund teils langwieriger legislativer Prozesse. Mit diesen Voraussetzungen bin ich aus meiner bisherigen Arbeit vertraut, und meine Arbeitsweise passt sich ihnen problemlos individuell an.
Routine und Innovation
Softwareentwickler seit über 20 Jahren
Seit über 20 Jahren beschäftige ich mich mit der Programmierung von Computern. Profitieren Sie von meinem wertvollen Erfahrungsschatz: Vom kleinen Hilfsprogramm bis zum internationalen verteilten System - mittlerweile habe ich an Projekten unterschiedlichster Größen und Ausprägungen mitgewirkt. Eine Auswahl:
- Entwurf und Entwicklung eines E-Government Portals für Meldeauskünfte an Berliner Behörden (Auftraggeber: Landesamt für Bürger- und Ordnungsangelegenheiten Berlin)
- Entwicklung und Pflege verteilter Java EE-Anwendungen und Online-Portale (Auftraggeber: Berliner Senatsverwaltungen)
- Spezifikation eines XML-Fachformats, Prototyp für einen heutigen deutschen E-Government-Standard (Auftraggeber: OSCI-Leitstelle)
- Konzeption und Entwicklung eines Frameworks zur Unterstützung von Qualitätssicherungsmaßnahmen
- Entwicklung von Rich Clients zur Administration verteilter Systeme
Bei meiner Arbeit stand stets die Qualität der Produkte im Vordergrund sowie eine effiziente Arbeitsweise, um Aufwände so gering wie möglich zu halten.
Entwicklung immer auf dem neuesten Stand
Über aktuelle Entwicklungen der sich schnell entwickelnden Branche halte ich mich jederzeit auf dem neuesten Stand. Darüber hinaus bin ich versiert in den unterschiedlichsten Paradigmen zeitgemäßer Softwareproduktion. Dabei zeichnet sich meine Vorgehensweise sowohl durch Methodik als auch durch Pragmatismus aus.
Objektorientierte Analyse und Design (OOA/OOD)
Für mich ist die objektorientierte Softwareentwicklung nicht nur ein Schlagwort, sondern eine Philosophie. Konzepte der Objektorientierung wie Design Patterns werden intensiv eingesetzt. Ihr Einsatz dient jedoch nicht als Aushängeschild. Vielmehr ist jede Modularisierung stets mit einem konkreten Ziel verbunden.
Offen für neue Konzepte und Techniken
Meine Tätigkeiten sind keineswegs auf die genannten Technologien und Werkzeuge beschränkt. Neuen Programmiersprachen, Softwaresystemen und Methoden stehe ich jederzeit offen. Dank meiner schnellen Auffassungsgabe und meiner umfassenden theoretischen Kenntnisse ist die Erschließung neuer Programme und Konzepte zeitnah möglich. Ich erlerne sie frühzeitig und nutze sie sofort in einem konkreten Zusammenhang. Dadurch kenne ich Vorzüge und Hindernisse, und der Umgang in der Praxis wird bereits vor einem Einsatz in einem kommerziellen Projekt erlangt.