Dr. Karl Beecher

Writer - Teacher - Software Professional


Profile

Karl is an experienced software professional who specialises in challenging projects requiring a high-quality engineering approach. He brings an analytical point of view to every software project.

He can put complex concepts into action to deliver solid products which perform precisely as expected. His focus is computer-supported collaborative working and he possesses a great sense for user-centered development.

Karl shares his comprehensive knowledge with others as an author and trainer.


Employment

2013 - 2016

Endocode AG, Berlin, Co-founder, Director

Co-founded this IT services company and worked with the three other original founders to build it into a fifteen-member company providing development and IT operations support to a range of international clients. Performed both executive leadership and project management duties.

2011 - 2013

Freelance IT Professional

Worked as a freelance computer scientist and information technology professional providing services within the areas of consulting, software development and training.

2009 - 2011

Freie Universität Berlin, Research Associate & Project Manager.

Project manager for a research and development project. Duties were to co-ordinate the development of the tool, act as Chief Architect and to conduct research into distributed and agile software development.

2006 - 2009

University of Lincoln, UK, Lecturer

Taught undergraduates in various subjects, including software engineering, web programming and evolutionary algorithms. Administered the Linux network for CROSS (Centre for Research in Open Source Software).

2004 - 2006

Capgemini, Software Engineer

Reengineered a British government application with the goal of converting a centralised legacy system into a web-based solution powered by a C#.net backend. Work included design of new subsystems and components, quality assurance and automated testing.


Selected Projects

rkt

Project manager, developer

Led development of CoreOS's rkt container technology. Managed technical activities, co-ordinated with the San Franciso-based client, in addition to code contributions. Skills: Golang, Docker.

Tina: Open Source Compliance Tool

Project manager, developer

Added several new features to an open source compliance application originally integrated into Maven that analyses software projects and reports on licence compliance issues. Features included new analysis methods, a CLI mode, a Maven-independent mode, and ability to interface with new external systems. Skills: Java, Maven, REST, Git, OSS Licensing*

Android health app

Tech lead, developer

A remote control app for consumer medical devices. Creation of a unified development workflow including code review, continuous integration, automated testing and deployment. Integration of CI tools into Redmine issue tracker. Skills: Android, Java, Bluetooth LE, Gradle, Gerrit, Jenkins, Puppet.

OpenOil data modelling suite

Project manager, developer

A data modelling suite for the projection of oil contract outcomes. Included set up of the automated build workflow, CI, automated testing and deployment. Skills: Java, JUnit, Gerrit, Jenkins, Maven.

OwnCloud authentication module

Project manager, developer

Led the implementation of ownCloud's single sign-on module which introduced federated authentication and authorisation. Skills: PHP, Shibboleth, C++, MySQL.

OIN Package Database

Project manager, developer

A web application used to administer the Linux Standard Definition of the OIN (Open Invention Network). Skills: Ruby on Rails, MySQL.

Saros

Project manager and chief architect

A plugin that turns the Eclipse IDE into distributed real-time collaborative editor, with features including collaborative coding, distributed whiteboard, roster and VoIP. Skills: Java, XMPP, Jenkins, JUnit, SWT.

Research toolchain

Developer

A series of programs that automated the download and analysis of source code from hundreds of open source projects. Skills: Python, R.

Reengineering of a British government application

Developer

Converted a centralised legacy suite of programs into a web-based solution. Designed and implemented new sub-systes, carried out quality assurance and automated testing. Skills: C#.Net, MS SQL Server.


Teaching Experience

2015 - 2016

Director of Training, Endocode AG, Berlin, Germany

Directed the creation of Endocode's training programme, a new division of the company. Developed the strategy and best practices, authored training materials, oversaw training of developers as trainers, and delivered trainings including courses on Docker, Kubernetes, and CoreOS.

2011 - 2013

Freelance trainer

Delivered trainings and authored teaching materials for a diverse range of clients. Courses taught included: Ruby on Rails, Git version control, HTML5, Subversion for CVS users, and plugin development with the Eclipse IDE

2009 - 2011

Freie Universität Berlin, Germany

Courses taught and administered: Empirical Software Engineering and the Software Engineering Project in 2010 and 2011 (a six-week course for 20–30 students working team-based on a live software development project).

2006 - 2009

University of Lincoln, UK

Teaching work included: Lecturer materials preparation and delivery, project marking, authoring exam materials, managing group projects


Education

2006 - 2009

PhD, Computer Science, University of Lincoln, UK

Thesis title: Evolution in Free Software Projects: A Study of Multiple Repositories Thesis examined the evolution of open source software projects. The work performed extensive data mining of hundreds of real-world projects and identified numerous patterns of evolution across different communities.

2001 -- 2004

BSc, Computer Science, Durham University, UK

Dissertation title: A Support Environment for the Software Engineering Group Projects. Principal teaching languages used throughout were Java and C++.


Miscellaneous

Languages
English (native), German
Marital status
Married
Residence
Berlin, Germany
Birth year
1982