I’m based in Toronto, Ontario (Canada) and I’m here to help you.
Top Reasons to Hire Me
- I understand business. I have started two companies, and I understand the need to deliver something of value.
- I have extensive technical expertise and experience.
- I enjoy mentoring developers, and hope to leave your development team with new insights or skills.
- I do things right the first time. I take pride in everything I do, which means I will do my best for your project too.
- I am very direct. If I see a problem that can be fixed in five minutes, I will tell you. If I sense that your project is unrealistic, or that you don’t actually need my skills, I will be honest with you.
- I love hard problems. The harder the better. But be prepared, that hard problems often require significant time and effort to accomplish, and multiple iterations will be required before a good solution emerges.
Areas of Expertise
- C++ Software Design. I know how to design software for performance, and C++ is my preferred tool.
- GPU Acceleration. Do you think that a GPU can speed up your program? I can certainly help you find out. If you have an existing GPU program, I might be able to help you tune it for even more performance.
- OpenCL. I know OpenCL inside and out, and I can certainly help you leverage OpenCL in existing or new applications. I’m a Khronos member and help develop the OpenCL standard.
- Software Tuning. Do you need help figuring out where your program is spending its time? Do you want some suggestions on improving performance? I can help.
- Algorithm Tuning. Is your algorithm your bottleneck? Does your application have a performance-critical algorithm that you need help with? Ask me for help. I can also help design wait-free algorithms for your problem.
- Training. Do you want me to prepare a workshop for your organization so that I can teach you how to do this work yourself? I offer interactive training.