next up previous contents index
Next: Contents Up: /team_en_sgothel.html


Sven Gothel

I possess over 30 years of experience in software engineering and provide support for the entire QA, Process & Lifecycle, as well as in C, C++ and Java, including their cross platform application. Custom fields & languages are studied and applied on demand.

I enjoyed full-time employment at Sun Microsystems (now Oracle) and ATI (now AMD) at their headquarters, thereafter I continued working as a contractor. I served a broad range of companies, such as Zafena, Mathworks, Google, Harman/Becker, Siemens AG Munich and IBM Frankfurt.

Besides working on proprietary products, open source artifacts are released as well.

I have extensive knowledge in the embedded space, computer graphics & multimedia, compiler construction, networks & bluetooth, cryptography, driver development, algorithms and high performance solutions.
Systems I have worked with include GNU/Linux, BSD, Darwin/OSX, Windows, QNX, Android, iOS, Zephyr and bare-metal embedded devices via VxWorks, Keil, etc.

The most prominent project I work on is JogAmp, where I help clients adopting JogAmp and implement commissioned features. Within JogAmp I also work on GraphUI, a cross-platform UI utilizing our own resolution-independent GPU curve renderer, suitable for desktop and embedded devices.
Presentations: Latest Blogs, JavaOne 2008, Tegra-1 Video Demo, Siggraph[2010, 2011, 2012, 2013, 2014], Fosdem[2013, 2014].

Please find a few notes on some of my other latest projects:

Additionally I run a little computer-science class, currently covering C++ basics, gfxbox2, hanoi, pacman and gentech, a genetic algorithm solver.

I utilize a diverse set of tools to cover the project life-cycle: GIT for decentralized source control; Bugzilla for requirement management, bug triage and release definition; Jenkins for continuous integration including running our more than 1300 unit tests on supported test platforms; Mediawiki and API doc for seamless documentation and last but not least a forum for transient communication.


Around 1981, I learned programming at the age of 13 on a TI-57, VIC-20, Commodore 64 (C64) and later Amiga 500 using Basic, 6502 & 68k assembly and C with the Lattice C Compiler. My early hacking on the C64 in 6510 assembly included copy-programs, an index database and notorious sound & graphics effects.
I also coded a working IRQ-based preemptive multitasking scheduler on the C64 for a never finished core wars programming-game variant as inspired in 1984 by A.K. Dewdney.
Until I could afford my own computer, a C64, I enjoyed involuntary pair programming in local department stores with kind minded. The latter had been a source of inspiration and allowed us to exchange information in the pre-internet age where pen & paper, tapes and floppy disks ruled.

I work as a contractor since taking up my engineering studies in 1991, interrupted during my employment at ATI & Sun. The self-employment led to postponing the graduation into 1998.

My experience in C++ dates back to 1993, where I started with Bjarne Stroustrup's Design and Evolution of C++. At first I used C++ in a CAD/CAM project including a DSL compiler for custom CNC programming. I utilize g++ with sanitizer, valgrind, clang, clang-format, clang-tidy, and other tools for code validation performance analysis.

I have learned Java from the beginning in 1996, initially used in a project for MVC business-logic separation and automated UI generation

At ATI and AMD I lead the development of the Embedded Display OpenGL driver in 2005, where I managed & implemented various customer feature & performance requirements: Performance OpenGL extension, hardware overlay, asynchronous ReadPixel, GLSL/DMA texture transfers, page flip, VSync and multi DMA page locks.
I enhanced the driver performance about factor 2.5, targeting functional driver blocks like TLS, inlining, caching, dispatch table, stream copy, etc.

At Sun I lead the refactoring of the New Java Plug-In with JNLP support in 2007 and later demonstrated an AWT-less proof-of-concept Plugin 3, intended for a relaunch of Java on the desktop and mobile devices. I also contributed to a new experimental JavaFX platform, utilizing hardware accelerated rendering (OpenGL, OpenMax, ..). As a result, I added a platform independent windowing architecture with mobile and OpenGL profile support to JOGL, which later became part of the independent JogAmp project.

I hold a degree in electrical engineering with a focus on computer science, Dipl.-Ing. (FH) - Diplom Engineer, Applied Science - MASc equivalent, conferred upon me by the Bielefeld University of Applied Sciences, Germany in 1998.

next up previous contents index
Next: Contents Up: /team_en_sgothel.html