CV
Marco Lammert
Alstertwiete 13
20099 Hamburg
Telefon:
E-Mail:
info(at)bitrotation.de
Ziel
Als Softwareentwickler möchte ich (bisher) ungelöste Probleme lösen, Unternehmen bei der Automatisierung ihrer täglichen Geschäftsvorfälle unterstützen und auch weniger versierten Anwendern die Computernutzung erleichtern.Zusammenfassung
- Erfahrener Informatiker, an dynamisches Umfeld und Teamarbeit gewohnt
- Vertraut mit multidisziplinärem Umfeld durch IT-Projekte in diversen Bereichen (u.a. Bankrechenzentrum, Behörden, Medien, Softwarehersteller, Telekommunikation)
- Unterstützt gerne alle Phasen der Softwareentwicklung
Projekte
Weiterentwicklung einer Sprachlern-App
Branche:
IT (Independent Software Vendor)
Beschreibung:
Unterstützung bei der Erweiterung einer Sprachlern-App für iOS.
Aufgaben:
- Code Review.
- Code Analyse und Bug Fixing.
- Implementierung neuer Funktionen und zugehöriger Unit Tests.
- Entfernung der Unterstützung für eine nicht mehr supportete iOS-Version
- Modifizierung der A/B-Test und Tracking Funktionalität
- Erstellung eines Prototypen zur Beurteilung einer geplanten neuen Funktionalität
- Konzepterstellung 'Tracking Free Trial Start'
- Konzept- und Prototyperstellung für die App-Konfiguration via Mobile Device Management (MDM)
- Konzepterstellung und Implementierung einer alternativen In-App-Kauf-Funktionalität ('Web Payment').
- Konzeptionelle Unterstützung bei der Planung einer neuen Funktionalität.
- Unterstützung und Einarbeitung neuer Teammitglieder.
- Dokumentation bestehender Funktionalität
- Ideen für zukünftige Restrukturierungen und geplante Modifikationen.
- Verantwortlich für ein App Store Release der App.
- Reskinning / Rebranding.
Entwicklung einer Augmented-Reality-Videotetelefonie-App
Branche:
IT (Independent Software Vendor)
Beschreibung:
Unterstützung bei der Entwicklung einer Augmented-Reality-Videotetelefonie-App für iOS.
Aufgaben:
- Implementierung des Screen Recording und der Screenshot Funktionalität für den Tutorial Modus und für die Session, sowie Speicherung in der Fotos App und Sharing.
- Ausrichtung der 3D-Marker (Pfeile und Emojis).
- Farbverwaltung / Zuordnung einer Markierungsfarbe für die Teilnehmer.
- Source Code clean up und bug fixing.
- Verbesserungsideen für zukünftige Versionen. Unterstützung der QA beim Testen.
- Bug fixing für eine weitere App (`Fernsupport via Augmented Reality)`
Fernsupport via Augmented Reality
Branche:
IT (Independent Software Vendor)
Beschreibung:
Unterstützung bei der Entwicklung einer iOS App, bei der sich eine Hilfe leistende Person (z.B. Support-Mitarbeiter) von einem Computer aus, mit dem iPhone eines Nutzers verbinden kann und gemeinsam mit diesem, dessen iPhone-Kamerabild sieht und in dieser Szenerie virtuelle Markierungen setzten können.
Aufgaben:
- Erstellung der UI (optisch interessanter Startbildschirm mit 360° Ansicht eines Cockpits)
- Stabilitätsverbesserung der im 3D-Raum positionierten virtuellen Objekte
- Implementierung der Funktion 'Freihandzeichen'
- Neuimplementierung der Lernvideoaufzeichnung
- Visuelle Darstellung erkannter Ebenen (ARPlaneAnchor)
- Grafische Aufforderung zur Bewegung des iPhones/iPads zur Initialisierung der AR Session (Tracking State)
- Aktualisierung bestehender Klassen auf das aktuelle SDK (Ersetzung überholter Methoden) und Swift 4.2
- Beratung bei der Umsetzung der In-App-Kauf-Funktionalität
Spiele-App
Branche:
IT (Independent Software Vendor)
Beschreibung:
Entwicklung der Spiele-App Ocram one (ein "3D Arcade Space Shooter").
Aufgaben:
- Konzept
- Architektur
- Design
- Implementierung in Objective-C
- Erstellung der 3D-Modelle in Blender
- Erstellung eines Python-Skriptes zum Export der 3D-Daten in eine SQLite-DB
- Internationalisierung (I18N) und Lokalisierung (L10N), Deutsch/Englisch
Visual Condition Logging
Branche:
Medizin (Ophthalmologie)
Beschreibung:
Zur visuellen Protokollierung des Augenzustandes sollte eine Lösung entwickelt werden, mit dem auf einfache Weise eine optimale Aufnahme des Auges angefertigt werden kann und diese nach Eingabe von weiteren Daten (Notizen, grafische Markierung von Auffälligkeiten) an eine elektronische Patientenakte übergeben wird.
Aufgaben:
- Technologieberatung
- Anforderungsmanagement
- Analyse
- Architektur
- Design
- Entwicklung eines Prototypens für die App, den Webserver (Swift, Server Side Swift, Vapor) und das Web-Frontend
- Erstellung eines Web-Frontends mittels HTML5, CSS3, JavaScript, jQuery, Bootstrap v4
- Design der RESTful API für den Datenaustausch zwischen Client (App und Web-Frontend) und Server (Backend-System/elektronische Patientenakte)
Security information and event management (SIEM)
Branche:
IT/Finanzwesen (Bankrechenzentrum)
Beschreibung:
Zur Qualitätssicherung der Reports ('Suchergebnisse'), die aus Daten des BigData Pools zusammengestellt wurden, sollte ein Konzept inkl. Umsetzung für den Progressionstest entwickelt werden.
Aufgaben:
- Technologieberatung
- Anforderungsmanagement
- Analyse
- Architektur
- Design
Automatisierung eines Digitalen Archivs
Branche:
Medien
Beschreibung:
Ein bestehendes digitales Archiv soll zur Erfüllung neuer Anforderungen erweitert werden. Für die Massenverarbeitung sollen diverse Prozesse (Workflows) automatisiert werden und neue Import-/Export-Schnittstellen erstellt werden. Außerdem sind zukünftig neue digitale Medien (Formate und Typen) zu verwalten. Die bisher sehr pragmatischen Vorgehensweisen sollen mehr Struktur und Formalismus erfahren.
Aufgaben:
- Technologieberatung
- Anforderungsmanagement
- Analyse
- Design
Digitales Archiv
Branche:
Medien
Beschreibung:
Für ein bestehendes digitales Archiv sind parametrisierbare Reports zu erstellen. Als Datenquelle für die Reports dient eine Datenbank und Metadaten des Archivs (gespeichert in XML-Dateien). Einige Arbeitsabläufe im digitalen Archiv sind umständlich, fehleranfällig und langwierig. Diese Abläufe sind mittels organisatorischer Änderungen und via Software zu optimieren.
Aufgaben:
- Konzept
- Architektur
- Umsetzung
- Dokumentation
Report Generator
Branche:
IT/Finanzwesen (Bankrechenzentrum)
Beschreibung:
Zur Überwachung, Fehlersuche und für die Revision soll ein Tool entwickelt werden, welches den Status der Softwareverteilung und Installation (in den angeschlossenen Instituten) darstellt. Dabei ist es, aufgrund der großen Datenmengen, besonders wichtig die Daten filtern zu können, damit die Administratoren einen schnellen und komfortablen Zugriff auf die für sie interessanten Daten (fehlerhafte bzw. unvollständige Verteilung/Installation) erhalten.
Aufgaben:
- Konzept
- Architektur
- Umsetzung
- Dokumentation
Backup/Restore in einer SAN/NAS-Umgebung
Branche:
Telekommunikation
Beschreibung:
In zwei örtlich von einander getrennten Rechenzentren ist das Backup und Restore eines Datenvolumens von insgesamt 140 TB zu realisieren. Bei den Daten handelt es sich um Netzwerklaufwerke, Datenbanken und statische sowie dynamische Web Sites.
Aufgaben:
- Konzept Review
- Umsetzung (Installation, Konfiguration, Shell Scripting)
- Dokumentation
Produktpakete Manager (GUI zur Vorbereitung von Softwareinstallationen)
Branche:
IT/Finanzwesen (Bankrechenzentrum)
Beschreibung:
Bei der Erweiterung eines bestehenden Softwareverteilverfahrens wurde die Aufgabe vergeben, eine grafische Benutzeroberfläche für die Vorbereitung von Softwareinstallationen zu erstellen.
Aufgaben:
- Konzepterstellung
- Implementierung in Java
Mobile-Payment-System
Branche:
Telekommunikation
Beschreibung:
Aufgabe des Projektes war es, ein System zu entwickeln, welches Kunden die bargeldlose Zahlung mittels Handy oder PDA ermöglichen sollte. Es handelte sich damit um ein Umfeld, dessen Transaktionsdaten (Finanzdaten) sehr vertraulich sind und somit unbedingt verschlüsselt gespeichert und übertragen werden mussten. Außerdem sollte die Anwendung massiv skalierbar sein, um eine hohe Nutzerzahl bewerkstelligen zu können.
Aufgaben:
- Design Review und Designänderungen
- Aufbau der Projektinfrastruktur (Application Server und DB)
- Implementierung in Java (EJB 2.0)
- Einführung eines Frameworks für Unit Tests (JUnit, Cactus)
Schul-/Hochschulbildung
Fachhochschule Ostfriesland, Emden — Diplom-Informatiker (FH), 1996Kenntnisse
Sprachen
- Deutsch: Muttersprache
- Englisch: Fremdsprache - Die Kommunikation in Englisch (z.B. als Co-Autor des IBM Redbooks „Deploying a Tivoli Infrastructure in Large-Scale Environments“ in Raleigh, N.C.) hat bisher gut funktioniert, ebenso das Lesen und Schreiben englischer Dokumentation (Projektbeschreibungen, Software-Produktbeschreibungen, Dokumentation technischer Details).
IT-Kenntnisse
Projektvorgehensmodell/Tools
- Scrum, Jira, Confluence
Programmiersprachen
- Assembler, Basic, C, C++, Go, Java, JavaScript, Lisp (Scheme), Objective-C, Pascal, Perl, Prolog, Python, Rexx, Smalltalk, Swift, SQL
Von den genannten Programmiersprachen habe ich in meinem bisherigen Arbeitsleben am häufigsten C, Java, Objective-C und Swift verwendet.
Datenbanken
- DB2, Microsoft SQL Server, MySQL, Oracle, PostgreSQL, SQLite
Betriebssysteme
- iOS/iPadOS, Linux (Debian, Ubuntu), macOS, Windows
Mein aktuell genutztes Arbeitsplatzsystem ist macOS.
Entwicklungsumgebungen (IDE)
- Eclipse, Xcode
Frameworks (Objective-C und Swift)
- Core Graphics, Core Image, Dispatch, Foundation, Game Controller, GLKit, Grand Central Dispatch (GCD), Metal, Metal Kit, OpenAL, OpenGL ES, StoreKit, Threads, UIKit, ...
Frameworks (Java)
- Apache Commons, Apache Log4j, Apache Velocity, Apache Xerces, Google Gson, iBatis, IText, JaxP, SLF4J, JasperReports, ...
Version Control Systems
- CVS, Git (Forgejo, GitHub, GitLab), Subversion
Continuous Integration / Continuous Delivery (CI/CD)
- Jenkins, GitHub, Bitrise
Datenformate
- CSV, JSON, TOML, XML, YAML, …
Dependency Manager
- Ant, Maven, Swift Package Manager
Unit Testing (+ UI Testing)
- JUnit, OCUnit, Quick / Nimble, Swift Testing, XCTest
Sonstiges
- Bootstrap, Cactus, CSS, HTML, J2EE, JDBC, JMeter, jQuery, REST, RPC, SOAP, Vapor 2, …
Veröffentlichungen
- Co-Autor des IBM Redbooks 'Deploying a Tivoli Infrastructure in Large-Scale Environments' (ISBN: 073840019X, IBM Form Number: SG24-5210-00)