Consulting
Any kind of good solution starts with a solid architecture and a sound approach. Without those foundations, no amount of code will solve your customer’s problems. Over many years, I’ve been active in the design and development of various products – ranging from open source software to proprietary solutions. The key areas I’ve been active in are graphics, software architecture and web development.
Graphics
From graphics research to contributing to standard APIs like Vulkan®, I’ve been involved in graphics for over a decade. Modern GPUs can do much more than just graphics, though – they provide generalized, parallel compute capabilities. Designing algorithms to exploit this hardware requires specialized, low-level knowledge about the hardware, for example, understanding how work gets scheduled on a modern GPU. I can help you identify problems which map well to the hardware, and help you find solutions which can be executed efficiently.
Software architecture
Graphics applications have also very stringent requirements on performance – games typically have around 16 milliseconds to generate a frame. Not only that, but they often require pre-processing of very large data sets. A clean, well designed software architecture is critical to achieve this level of performance, and requires careful planning from day one. I’ve been involved in various high-performance projects and can help you architect your software to make the best use of the hardware.
Besides graphics applications, I’ve been also developing libraries for consumption in other projects. Development of those libraries typically involved a lot of API design to make sure they’re easy to use and consume, for users ranging from university students to domain experts. If you’re creating a middleware and you want to ensure rapid adoption by developers, I can help you create easy-to-use, efficient, and extensible APIs.
Web development
Modern web requires a lot of programming expertise to write web applications interfacing with databases and providing modern UIs. The days of “just” HTML and CSS are long gone. I’ve worked on static websites over database frontends to single-page applications for various customers. This includes backend work, database design, SQL query optimization, but also use of modern web frameworks like Angular and Django. If you need a customized web application for your needs, I can help you with design down to the actual implementation.