Fachprofil von Dr. Marek Krajewski Persönliche Daten: Name: Marek Krajewski Adresse: Augustenfeder Str. 26, 80999 München Email: [email protected] Telefon: 0163 2546 458 Web: http://www.ib-krajewski.de Gulp: http://www.gulp.de/Profil/marek_krajewski.html Ausbildung: 1. Informatikstudium TU Dresden, Abschluss: Dipl.-Ing., 1988 Schwerpunkte: Datenübertragung, Netzwerke LAN/WAN, OSI Standards 2. Promotion, TU Dresden, Abschluss: Dr.-Ing. Informatik, 1996 Thema: "Lastverteilungsalgorithmus für ein vernetztes Computersystem" Fachliche Schwerpunkte: C++ Linux/Windows Systemprogrammierung, Qt-GUI Programmierung, Systemdesign und -Architektur, ClientServer, Multithreading, Kommunikationsprotokolle, Bilderkennung, maschinelles Lernen, Python, Java, Haskell Spezialkenntnisse: Objektorientierung: - OO-Design, Patterns, Refactoring, Testen (Stubs, Mocks etc…) - UML, Design by Contract, Iteratives Development (aus RUP), Test-Driven Development (aus XP) - fortgeschrittenes C++, gutes Python und Java, andere OO-Sprachen: JavaScript, Groovy, etwas F# System- und Netzwerkprogrammierung: - UNIX-IPC, Win32, Prozesse, Multithreading, POSIX Threads, Qt-Threads und -Signale, boost::threads - Netzwerkprogrammierung, Sockets, TCP/IP-Protokollfamile, HTTP, Kryptographie, VPNs - Client/Server Architekturen, High-Availability & Fault-Tolerance, REST Web Services - OS: Carrier Grade Linux (5-9's Telecom-Systeme, Real Time), Windows Server 2003 Webprogrammierung: - Struts2, jWic, Tomcat, JDBC, SQL/Datenbanken, Spring/Hibernate Grundkenntnisse - HTML, Javascript, CGI + Perl Nachrichtentechnik: - Grundkenntnisse DSP, Digitale Fernsehtechnik- und Modulation, DVB-T, DVB-C -1 - Ausgewählte Projekte: Verteiltes Color Management System - Kunde: Industrie - Design und Implementierung der REST-Schnittstelle für den Server, die Anbindung vom Client - Client-Server, HTTP, REST, ZeroMQ Messaging, ICC Profiles, PDFs - Qt 5.2, Casablanca, PPL Tasks, JavaScript, JQuery - C++ VisualStudio 2013, Komponentenframework ACF, Subversion, TFS - 04.2014 bis jetzt Multimedia Streaming Framework für eine Messgerätreihe (DVB-T) - Kunde: Industrie - Einbindung und GUI-Ansteuerung der DVB-T Remuxer-Drittkomponente, Einbindung der IP-Inputs, BoardAnsteuerung mit DTAPI (DekTec API), Debuggen der TS-Pakete und PCI-Config-Register + Board-Driver - MPEG-TS, DVB-T2, IP & RTP, Streaming, Multithreading, C++11, Boost, Intel TBB, C++11 Templates - C++ VisualStudio 2008/2010, C++ Intel Compiler + Inspector XE 2013, ClearCase, Wireshark, VLC Player - 07.2013 bis 03.2014 GUI für ein Messgerät für digitale TV-Ströme (DVB-C2) - Kunde: Industrie - Messkonfigurationen mit Drag & Drop (Qt-basiert), graphische Darstellung vom DVB-C2 L1: interaktives Spectrum Overview, Tabellen der DSs und PLPs - DVB-C2 Standard, OFDM Modulation - C++ VisualStudio 2008 und 2010, Qt 4, R&S ChartDisplay Framework, Qt Custom Styles - 04.2013 bis 07.2013 SNMP Agent und MIB für System Monitoring proprietärer Windows-Geräte - Kunde: Industrie - Kundenkommunikation (1 Mann Projekt); Entwurf einer proprietären MIB; Design, Programmierung und Tests des SNMP Agents; Einbindung der CPU-ID DLL,; Installtionsprogramm - C++ VisualStudio 2008 Express Ed., Windows SNMP Extension Agent API, SNMP v.1, ManageEngine MIB-Browser, CPU-ID System Monitoring Dev Kit, Windows XP, Vista und 7 - 01.2013 bis 02.2013 (Teilzeit) Umstellung eines Client-Server Messsystems vom MFC auf Qt - Kunde: Softwarehaus - Migration auf VisualStudio 2010, neues Design für das „Automatic Measurements“ Subsystem um vom überkomplizieren „legacy“ MFC Code wegzukommen, GUI-Neuimplementierung in Qt, Tests - C++ VisualStudio 2008 und 2010, Qt 4, QtWinMigrate, MS-Team Server, PostgreSQL, MFC, C++/CLI - 12.2011 bis 04.2013 Pflege und Weiterentwicklung eines konzernweites Intranet Partner Portals - Kunde: Internationaler Konzern - Implementierung neuer Features, Bugfixes, Datenpflege - Java 6, Groovy, Eclipse, jWic Web-Framework, DAO-Objects, Apache-POI Excel Bibliothek - Jetty Webserver, Hibernate, Spring, Microsoft SQL-Server, Windows Server 2003, Subversion - 09.2011 bis 04.2012, Part Time 20-30% Neuronalnetzbasiertes Bild- und Videoerkennungssystem - Kunde: Software-Startup - Mitarbeit an Konzeption fürs Verfahren und Algorithmen; Design und Implementierung einzelner Module - Bildverarbeitung, Bilderkennun, maschinelles Lernen, neuronale Netze, HTTP-Streaming, Open Source - C++ VisualStudio 2008, Qt 4, Komponentenframework ACF, Python, SimpleCV, Subversion -2 - - 04.2011 bis 12.2011 Ein Protokollanalyzer für die Satellitenkommunikation - Kunde: Telekommunikation - Produktverantwortung (allein - 1 Mann Projekt) - Requirements, Architektur, Schätzung, Design, Reuse vom Vorgängerprodukt - Implementierung, Tests, Tuning, Fehlerbehebung vom Feldeinsatz - C++ VisualStudio 2005 und 6, Windows Server 2003/Windows XP, Qt 4, Clearcase, Purify, Wireshark - Sockets, Streaming, Multithreading, Skalierbarkeit, INMARSAT-Protokolle, HDLC, PPP, IP, VoIP, HTTP, Email, Chats - 3 MJ (02.2008 - 04.2011) Web Application für remote SW Installation auf einem UMTS-Netzknoten - Kunde: Telekommunikation - Übernahme und Erweiterung der Webapplikation (GUI- und Servlet- Anteile, JDBC) - Performance-Optimierung, Memory Leaks-Suche - Struts 2, Apache Tiles, Spring, Acegi-Security, AJAX, JSP, custom tags, JavaScript - Redhat Linux, Java 5, Python, VmWare, Tomcat 5.5, mySQL 5.0, Eclipse, Ant, JProbe - 6 MM (06.2007-12.2007) Netzmanagement Agent für einen High-Availabilty UMTS-Netzknoten (RNC) - Kunde: Telekommunikation - OO-Design vom IPC Kommunikations-Modul und Prozessverwaltung, Implementierung, Tests - Codegenerierung aus XML-Schema (Datenkonversion), Java-GUI für das Testsystem - Siemens-Fujitsu RTP-7000 High Availability Middleware, Socket-Programmierung, POSIX threads - Java 5, gnu C++, Python, MontaVista Linux, VmWare, - ISO Q3, GDMO, ASN.1, CMIP, DSET Middleware Platform, Marben OSI-Stack - XML-Beans, SWT und JFace, Eclipse, MS-Visio Modelling, Purify - 3 MJ (04.2004-05.2007) Update/Copy Tool für Verteilung der Website-Contents - Kunde: Autohersteller - Weiterentwicklung eines Public-Domain Tools, Implementierung einer Web-Schnittstelle, Acceptance-Tests beim Kunden (allein - 1 Mann Projekt) - Linux, C, gmake - Internet, HTML, HTTP, Lotus Domino-Webserver, Apache Server - 2 MM (03-08.2002) Netzmanagement Agent für einen UMTS-Netzknoten (RNC) - Kunde: Telekommunikation - Architektur und OO-Design der Basissoftware für das gesamte Projekt, Teilimplementierung - OO-Design des IPC Kommunikationsmoduls, Implementierung, Tests - Redesign und Tuning in der Beta-Testphase beim Endkunden, neue Features - Solaris, SVR4 Unix auf RTOS, gnu C++, Perl, Tcl, ClearCase, Rational Purify - ISO Q3, GDMO, CMIP, ASN.1, DSET Middleware Platform, Socket-IPC, kooperatives Multithreading - 4,5 MJ (06.2000-03.2004) HW/SW Plattformen: Betriebssysteme: UNIX: Linux (RedHat, Montavista), SVR4, Solaris, früher SINIX, AIX, HP-UX Windows: Windows 7, XP, Windows Server 2003, Windows Embedded -3 - Embedded: OSE Datenbanken: SQL-Server: Client-Programmierung, SQL-Server Management Studio mySQL: Client-Programmierung über ODBC Programmiersprachen: C++: sehr gut - Multithreading, Streams, Optimierung, “Modern C++” (Templates, Boost, Lambdas, C++11), Visual C++ (früher MFC), Qt GUI-Framework Python: gut - Testskripte, XML Processing (minidom), GUI (PyQt früher Gtk), SimpleCV, etwas PIL Java: gut - JSE2 5.0/6.0, Threading, Generics, SWT and JFace, Servlets und J2EE, Groovy scripting Perl: erweiterte Grundkenntnisse - UNIX scripts, CGI, Objekte, Sockets JavaScript: erweiterte Grundkenntnisse, JQuery und etwas Angular.js UNIX Shell: bash und awk Andere : Grundkenntnisse in F#, Clojure und Haskell Datenkommunikation: ISO/OSI: Q3, GDMO, CMIP, ASN.1, Marben OSI stack, X.25 TCP/IP: IP Protokollfamilie, SNMP, VPN Technologie (PPP, L2TP), openSSL, Sockets Internet: HTML, HTTP, HTTPS, VoIP, Email- und Chat-Protokolle, JSON, XML UMTS: genereller Überblick über Protokolle und Architektur, Radio Link Protocol früher: ATM, SDH Programmierung/Modellierungs-Tools: Modelierung/Design: Enterprise Architect, Rational Rose, Visio Modeling Tool, früher: Objectory, StP Programmierung: VisualStudio C++, QtCreator, gnu C++ Tools, Eclipse (Java, C++), Ant Testen/Fehlersuche: Rational Purify, Valgrind, Cantata, C++Unit/JUnit, Venkman-Debugger, JProbe, Compuware DevPartner, Glow Code Versionverwaltung: Rational Clearcase, MS Team Foundation Server, Subversion, Git Persönliches Statement: Ich bin ein Senior-Softwareentwickler mit mehrjähriger Erfahrung im Design und Implementierung von OOApplikationen, sowie in Arbeit mit großen Softwaresystemen und in großen, internationalen Projekten. Ich habe aber auch kleinere Projekte, mit direktem Kundenkontakt, absolviert und auch geführt. Ich habe Erfahrung im Auflösen komplizierter Sachverhalte: wie z.B. eine schwierige Fehlersuche und anschließendes Redesign eines großen Systems. Ich glaube an den "Lohn der Einfachheit": an das Suchen der einfachsten Lösung die funktionieren könnte. Meinen technischen Blog finden sie unter: http://[email protected]. -4 -