CV

Marco Lammert

Alstertwiete 13
20099 Hamburg

E-mail:
info(at)bitrotation.de

Objective

As a software developer, I want to solve (previously) unresolved problems, help companies automate their daily business, and also make computer usage easier for less experienced users.

Summary

  • Experienced computer scientist, used to dynamic environment and teamwork
  • Familiar with multidisciplinary environment through IT projects in various areas (e.g. Bank data center, authorities, media, software manufacturers, telecommunications)
  • Likes to support all phases of the software development process

Projects

Further development of a language learning app

Branche:
IT (Independent Software Vendor)
Beschreibung:
Support in further development of a language learning app for iOS.
Aufgaben:
  • Code review.
  • Code analysis and bug fixing.
  • Implementation of new features and associated unit tests.
  • Removal of code support for an unsupported iOS version.
  • Modification of A/B tests and tracking functionality.
  • Creation of a prototype to assess a planned new functionality.
  • Concept development 'Tracking Free Trial Start'.
  • Concept and prototype development for the app configuration via Mobile Device Management (MDM).
  • Concept development and implementation of an alternative in-app purchase functionality ('Web Payment').
  • Conceptual support in the planning of a new functionality.
  • Support and training of new team members.
  • Documentation of existing functionality.
  • Ideas for future restructuring and planned modifications.
  • Responsible for an App Store release of the app.
  • Reskinning / Rebranding.

Development of an augmented reality video telephony app

Branche:
IT (Independent Software Vendor)
Beschreibung:
Support the deveopment of an augmented reality video telephony app for iOS.
Aufgaben:
  • Implementation of the screen recording and the screenshot functionality for the tutorial mode and for the session, as well as storing these in the photos app and sharing.
  • Alignment of 3D markers (arrows and emojis).
  • Color management / assignment of a marking color for the participants.
  • Source Code clean up und bug fixing.
  • Improvement ideas for future versions. Supporting the QA in testing.
  • Bug fixing for another app (`Remote Support via Augmented Reality)`

Remote Support via Augmented Reality

Branche:
IT (Independent Software Vendor)
Beschreibung:
Support the development of an iOS app in which a person who provides help (e.g. support staff) from a computer that can connect a user's iPhone and together with it, whose iPhone camera image sees and can set virtual markings in this scene.
Aufgaben:
  • Creation of the UI (visually interesting home screen with 360° view of a cockpit).
  • Improved stability of virtual objects positioned in 3D space.
  • Implementation of the function 'free hand drawing'.
  • Reimplementing the 'Educational Video Recording' feature.
  • Visual representation of recognized layers (ARPlaneAnchor).
  • Implement the UI that prompts the user to move the iPhone/iPad to initialize the AR Session (Tracking State).
  • Apdating existing classes to the current SDK (replacement of deprecated methods) and Swift 4.2.
  • Advice on the implementation of In-App Purchase.

Games App

Branche:
IT (Independent Software Vendor)
Beschreibung:
Development of the game app 'Ocram one' (a "3D Arcade Space Shooter").
Aufgaben:
  • Concept
  • Architecture
  • Design
  • Implementation in Objective-C.
  • Creation of the 3D models in Blender.
  • Create a Python script to export the 3D data into a SQLite DB.
  • Internationalization (I18N) and Localization (L10N), German/English.

Visual Condition Logging

Branche:
Medicine (Ophthalmology)
Beschreibung:
For visual logging of the eye condition, a solution should be developed with which an optimal recording of the eye can be made in a simple way and this is passed to an electronic health record after entering further data (notes, graphic marking of abnormalities).
Aufgaben:
  • Technology consulting
  • Requirements management
  • Analysis
  • Architecture
  • Design
  • Development of a prototype for the app, the web server (Swift, Server Side Swift, Vapor) and the web frontend.
  • Development of a web frontend using HTML5, CSS3, JavaScript, jQuery, Bootstrap v4.
  • Design of the RESTful API for data exchange between client (app and web frontend) and server (backend system/electronic health record).

Security information and event management (SIEM)

Branche:
IT/Finance (Bank Data Center)
Beschreibung:
For the quality assurance of the reports ('search results'), which were compiled from data from the BigData Pool, a concept should include. Implementation for the progression test are developed.
Aufgaben:
  • Technology consulting
  • Requirements management
  • Analysis
  • Architecture
  • Design

Automation of a Digital Archive

Branche:
Media
Beschreibung:
An existing digital archive is to be expanded to meet new requirements. For mass processing, various processes (workflows) are to be automated and new import/export interfaces are to be created. In addition, new digital media (formats and types) will be managed in the future. The hitherto very pragmatic approaches are to experience more structure and formalism.
Aufgaben:
  • Technology consulting
  • Requirements management
  • Analysis
  • Design

Digital Archive

Branche:
Media
Beschreibung:
For an existing digital archive, parameterizable reports must be created. The data source for the reports is a database and metadata of the archive (saved in XML files). Some workflows in the digital archive are cumbersome, error-prone and lengthy. These processes must be optimised by means of organisational changes and software.
Aufgaben:
  • Concept
  • Architecture
  • Implementation
  • Documentation

Report Generator

Branche:
IT/Finance (Bank Data Center)
Beschreibung:
For monitoring, troubleshooting and revision, a tool is to be developed that represents the status of software distribution and installation (in the connected institutes). Due to the large amount of data, it is particularly important to be able to filter the data so that the administrators get fast and convenient access to the data that is of interest to them (erroneous or incomplete distribution/installation).
Aufgaben:
  • Concept
  • Architecture
  • Implementation
  • Documentation

Backup/Restore in a SAN/NAS environment

Branche:
Telecommunications
Beschreibung:
In two data centers separated from each other, the backup and restore of a total data volume of 140 TB can be realized. The data is network drives, databases, and static and dynamic web sites.
Aufgaben:
  • Concept Review
  • Implementation (installation, configuration, shell scripting)
  • Documentation

Product Package Manager (GUI for the preparation of software installations)

Branche:
IT/Finance (Bank Data Center)
Beschreibung:
When expanding an existing software distribution process, the task was assigned to create a graphical user interface for the preparation of software installations.
Aufgaben:
  • Concept creation
  • Implementation in Java

Mobile Payment System

Branche:
Telecommunications
Beschreibung:
The task of the project was to develop a system that would enable customers to make cashless payment by mobile phone or PDA. It was an environment whose transaction data (financial data) is very confidential and thus absolutely had to be stored and transmitted in encrypted form. In addition, the application should be massively scalable in order to achieve a high number of users.
Aufgaben:
  • Design review and design changes
  • Establishment of the project infrastructure (Application Server and DB)
  • Implementation in Java (EJB 2.0)
  • Introduction of a framework for unit tests (JUnit, Cactus)

Education

Fachhochschule Ostfriesland, Emden — Diplom-Informatiker (FH), 1996

Skills

Languages

  • German: First language
  • English: Foreign Language - Communication in English (e.g. as co-author of the IBM Redbook “Deploying a Tivoli Infrastructure in Large-Scale Environments” in Raleigh, N.C.) has worked well so far, as has reading and writing English documentation (project descriptions, software product descriptions, documentation of technical details).

IT skills

Project Process Model and Tools

  • Scrum, Jira, Confluence

Programming languages

  • Assembler, Basic, C, C++, Go, Java, JavaScript, Lisp (Scheme), Objective-C, Pascal, Perl, Prolog, Python, Rexx, Smalltalk, Swift, SQL

Of the programming languages mentioned, I have most often used C, Java, Objective-C and Swift in my previous working life.

Databases

  • DB2, Microsoft SQL Server, MySQL, Oracle, PostgreSQL, SQLite

Operating Systems

  • iOS/iPadOS, Linux (Debian, Ubuntu), macOS, Windows

At the moment I mainly use macOS and (Debian) Linux.

(Integrated) Development Environments (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

Data formats

  • CSV, JSON, TOML, XML, YAML, …

Dependency Manager

  • Ant, Maven, Swift Package Manager

Unit Testing (+ UI Testing)

  • JUnit, OCUnit, Quick / Nimble, Swift Testing, XCTest

Other

  • Bootstrap, Cactus, CSS, HTML, J2EE, JDBC, JMeter, jQuery, REST, RPC, SOAP, Vapor 2, …

Publications

  • Co-Author of the IBM Redbook 'Deploying a Tivoli Infrastructure in Large-Scale Environments' (ISBN: 073840019X, IBM Form Number: SG24-5210-00)