Stefan Bund
Projektmanagement, Systemdesign, Softwareentwicklung
Softwareentwicklung
- Entwicklungsverfahren und Methodologie
- Objektorientiertes Design, 'design patterns'
- Generische Programmierung
- Test basierte Entwicklung, 'agile development'
- Kompetenz in der Einarbeitung in fremde Projekte (insbesondere
verschiedene OpenSource Projekte)
- Entwicklungsumgebung
- Intensive Kenntnisse verschiedener Entwicklungstools: gcc/g++,
make, CVS, Subversion, git, SCons, Jam, autoconf u.a.
- Weitreichende Erfahrung in der Automatisierung sich
wiederholender Prozesse: Erstellung komplexer Makefiles,
Scripting, reguläre Ausdrücke
Programmiersprachen
- C++
- Das C++ Objektmodell und Objektlayout. Polymorphie und
mehrfache Vererbung, virtuelle Basisklassen u.s.w.
- Templates: Templates allgemein, Spezialisierung, partielle
Spezialisierung. 'template meta programming'.
- Kompetenz in der Abbildung allgemeiner abstrakter Probleme auf
die verschiedenen Paradigmen der C++ Entwicklung.
- Detaillierte Kenntnisse der Standardbibliothek und der
zugehörigen Konzepte. Weiter detaillierte Kentnisse wichtiger
Bibliotheken und Protokolle (Boost Libraries, CORBA u.a.)
- Multithreading (pthread, Boost.Thread), Entwicklung paralleler Algorithmen
- Profiling und Laufzeitoptimierung
- Python
- Objektorientierte Entwicklung in Python, überladene Operatoren,
Iteratoren, Generatoren, spezielle Methoden u.s.w.
- Entwicklung von Spracherweiterungen in C++
- Breites Wissen der verschiedensten Bibliotheken
- Java
- Das Java Objektmodell, Vererbung, Interfaces u.s.w.
- Verschiedene Bibliotheken: Grafikbearbeitung,
Netzwerkentwicklung, Java-3D
- IPC mit Corba (insbesondere C++ Kommunikation)
- weitere Sprachen
- weitere Kenntnisse, zum Teil sehr detailliert in folgenden
Sprachen: Perl, bash, Lisp, TeX, MetaFont/MetaPost,
JavaScript, XSLT u.a.