Kompetenzen

  • Fachliche Schwerpunkte
    • Objektorientierte Programmierung
    • Softwarearchitektur: Konzeption und Implementierung von Bibliotheken und Frameworks
    • Thread- und Systemprogrammierung
    • Anwendungs- und Datenbankentwicklung
    • Komplexe Algorithmen und Datenstrukturen
    • Graphische Benutzeroberflächen
    • 3D Graphikprogrammierung (OpenGL)
    • Migration / Portierung / Integration / Test
    • Werkzeugentwicklung: Parser, Interpreter, Compiler, Programmgeneratoren
    • Technische Dokumentation, Coaching, Training
  • Methoden
    • Objektorientiertes Design, UML, Entwurfsmuster
    • Softwaretechnik: Refactoring, Unit Testing
    • Generative Softwareentwicklung (Templates)
    • Sprachdesign: Domain Specific Languages
    • Funktionale (seiteneffektfreie) Programmierung
    • Relationale Datenmodellierung, Normalisierung, ORM
  • Architekturen
    • Verteilte Systeme
    • Embedded Systems
    • Mehrschichtenarchitekturen
  • Programmiersprachen
    • Objektorientiert: C++, Java, C#
    • Funktional: ML, OCaml, Scheme
    • Dynamisch: Python, Ruby, Perl
    • Relational: SQL, PL/SQL
    • Prozedural: C, Pascal, Visual Basic 6
    • Deklarativ: HTML, CSS, XML (Schema, DTD, XPath)
    • Assembler: Z80, M68000
    • Spezialsprachen: UML, Make, Jam, IDL, Tex
  • Betriebssysteme
    • Unix Familie: Linux, QNX, Solaris, IRIX
    • Windows NT Familie, Windows CE/Mobile
    • Android
  • Bibliotheken
    • STL, Rogue Wave, pthreads, cppUnit, pyunit, SQLAlchemy, log4j, libxml, u.a.
  • Frameworks
    • JDK 1.6
    • .Net 3 (Grundlagen)
    • Ruby on Rails (Grundlagen)
  • GUI Toolkits
    • Qt 4.3, MFC, Tk
  • Viele gängige Entwicklungswerkzeuge
    • Eclipse, Visual Studio, Together, Vim, Emacs, u.a.
  • Konfigurationsmanagement
    • Perforce, Subversion, CVS, Bazaar
  • Analysewerkzeuge
    • Purify, PC-Lint, BoundsChecker, gprof, doxygen
  • Bugtracking
    • Trac, Bugtracker
  • Debugger
    • gdb, DDD, WinDBG
  • Projektrollen
    • Entwickler
    • Architekt
    • Reviewer
    • Trainer
    • Coach
  • Organisation
    • Beratungsgespräche mit Kunden zur Klärung von Anforderungen.
    • Erstellung von IT-Konzepten.
    • Erstellung von Projektstatusberichten und -reviews.

Ich bin ein erfahrener Softwareentwickler mit schneller Auffassungsgabe und hohem Qua­li­täts­an­spruch.