Profil Ronny Press

staatlich geprüfter Informatiker

Allgemeines

Jahrgang: 1976
Staatsbügerschaft: Bundesrepublik Deutschland

Ausbildung

2001 - Akademie für Datenverarbeitung, Böblingen
Berufskolleg für Informatik, Abschluss: staatlich geprüfter Informatiker

Kenntnisse

Programmiersprachen

  • C - sehr gute Kenntnisse
  • C++ - sehr gute Kenntnisse, C++11
  • Java - Standard Edition, JSP, Servlets, Grundkenntnisse Enterprise Java, JNI
  • C# - erweiterte Kenntnisse
  • JavaScript - erweiterte Kenntnisse
  • PHP - erweiterte Kenntnisse
  • Python - erweiterte Kenntnisse
  • Shell - Grundkenntnisse

Entwicklungsumgebungen, Buildumgebungen

  • Microsoft Visual C++/Visual Studio 2010/2012/2013
  • MSBuild
  • CMake - Grundkenntnisse
  • Makefiles - erweiterte Kenntnisse
  • GNU C Compiler, GNU C++ Compiler
  • Eclipse für Java-Entwicklung, NetBeans für Java-Entwicklung
  • Ant - erweiterte Kenntnisse
  • Android Studio - erweiterte Kenntnisse

Technologien, Frameworks

  • systemnahe Entwicklung für Windows und Linux
  • STL (Standard Template Library) (C++)
  • Boost (C++)
  • Win32 (C und C++)
  • MFC
  • Qt - Grundkenntnisse
  • ATL (Active Template Library) - erweiterte Kenntnisse
  • WTL (Windows Template Library) - erweiterte Kenntnisse
  • COM (Component Object Model) - erweiterte Kenntnisse
  • OpenGL incl. GLEW, GLFW, GLUS und OpenTK für .NET - erweiterte Kenntnisse
  • Android - erweiterte Kenntnisse
  • XML, XSLT, XSD - erweiterte Kenntnisse
  • TCP/IP, TCP, UDP, Winsock - erweiterte Kenntnisse
  • HTTP - erweiterte Kenntnisse
  • HTML, CSS - erweiterte Kenntnisse
  • MMX/SSE/SSE2/AVX/AVX2 Intrinsics (Visual C++, G++)
  • Windows Forms (.NET) - Grundkenntnisse
  • WPF (Windows Presentation Foundation, .NET) - erweiterte Kenntnisse
  • Tomcat (Servlets und JSP) - erweiterte Kenntnisse

Laufzeitumgebungen

  • Windows 32 Bit und 64 Bit (ab Windows XP)
  • .NET Framework
  • Embedded: ARM7

Versionskontrollsysteme

  • Mercurial
  • Subversion
  • CVS
  • Git

Plattform- und Umgebungsübergreifende Kenntnisse

  • Bildsynthese und -algorithmen - erweiterte Kenntnisse
  • Bildverarbeitung und -algorithmen - erweiterte Kenntnisse
  • Performance-Optimierung C/C++ - erweiterte Kenntnisse
  • Code Review

Projekte

Portierung der C++-Bibliothek zur halbautomatischen Vektorisierung von Algorithmen auf ARM NEON und Android NDK

Rolle: Software-Entwickler
Zeitraum: 06/2015
Beschreibung: Hinzufügen von GCC/LLVM-Kompatibilität zur Bibliothek, Hinzufügen der Nutzung von Compiler-Intrinsics für ARM NEON; durch diese Änderungen wird es möglich, mit demselben Quelltext sowohl Programme für die beschleunigten Multimedia-Befehlssätze für Intel- als auch ARM-basierte Prozessoren erzeugen zu lassen.

Entwicklung einer Anwendung zum Generieren von NormalMaps aus Texturbildern

Rolle: Algorithmenerarbeitung, Software-Entwickler
Zeitraum: 02/2015 - 03/2015
Beschreibung: Basis der Anwendung ist eine eigene Engine für die Verarbeitung und Generierung von Bildern, die in C++ entwickelt wurde; dieses Projekt beinhaltet die Entwicklung eines GUI auf Basis WPF in C#, Anbindung der Engine, Visualisierung auf Basis OpenGL (OpenTK)
siehe NMapMaker
Kenntnisse: C++, C#, .NET Framework, WPF, OpenGL, OpenTK

Planung und Implementation einer portablen Lösung aus dem Bereich Digital Content Creation in C++: prozedurale Generierung von Bildern und Texturen

Rolle: Software-Entwickler
Zeitraum: 02/2014 - 01/2015
Beschreibung: Recherche verschiedener Verfahren, Durcharbeiten von wissenschaftlichen Veröffentlichungen zum Thema, Planung und Implementierung, Analyse von Performanceengpässen und Finden von Lösungen für diese
siehe PEPTIG
Kenntnisse: C++, WTL, STL, Boost, Boost Spirit, Bildverarbeitung, prozedurale Generierung, Bildsynthese, .NET Framework, C#, WPF

Implementation einer C++-Bibliothek zur halbautomatischen Vektorisierung von Algorithmen für moderne SIMD Befehlssätze von x86-Prozessoren

Rolle: Software-Entwickler
Zeitraum: 05/2014 - 06/2014
Beschreibung: Planung und Implementation
Kenntnisse: C++, C++ Templates, C/C++ Compiler Intrinsics, Optimierung, SSE, SSE2 und nachfolgende Erweiterungen von Intel und AMD, AVX

Entwicklung und Wartung einer Software Update Lösung in C++ aus dem Bereich Fahrzeugdiagnose

Rolle: Software-Entwickler
Zeitraum: 07/2006 - 12/2013
Beschreibung: Planung, Entwurf, Spezifikationserstellung, Implementierung und Wartung
Kenntnisse: C++, STL, Windows Dienst, Parser-Entwicklung, HTTP, HTML, CSS, JavaScript, XML, XSLT

Implementation eines MPEG1-Encoders (Komprimierung von Videoströmen) anhand des MPEG1 Video Standards (prototypisch)

Zeitraum: 01/2007 - 05/2007
Beschreibung: Software-Entwicklung, Algorithmenfindung, Performance-Optimierung
Kenntnisse: C++, x86-Assembler, Verfahren der Komprimierung von Videoströmen (Bewegungsschätzung, Transformation von Pixeldaten zu Frequenzdaten, Berechnung von differenziellen Bewegungsvektoren)

Entwicklung und Wartung eines XML-Konverters in C++ mit Hilfe von Apache Xalan/Xerces

Rolle: Software-Entwickler
Zeitraum: 05/2005 - 04/2009
Beschreibung: Planung, Entwurf, Spezifikationserstellung, Implementierung und Wartung
Kenntnisse: C++, XML, XSLT

Realisierung sehr spezifischer C++-Programme für ein modifiziertes Windows-System aus dem Bereich Fahrzeugdiagnose

06/2002 - 07/2006