Meet Raf Schietekat, Intel Black Belt Software Developer

So who is Raf Schietekat? Tell us more…
I'm a Belgian (Flemish) software engineer, currently working in the capital Brussels (of Flanders, Belgium and the European Union).

What technologies/ projects are you currently working on?
I'm working on a component of the air traffic management system of an international organization, which was implemented using C++, CORBA*, multiple threads, XML, etc. However, for now my principal opportunity for flexing my multithreading muscle is participation in the forum.

In your career path, what was the most interesting project to work on? What challenges did you face and what did you most like about it?
The most interesting was probably my own CORBA implementation, from reading the public specification to 24/7 operation with a few hundred clients. I'm always asked what motivated me to do this, and the answer is that it started small, with the hard-coded use of the binary protocol for a small client/server application, and then it just grew because I was curious and because it seemed like a challenge, up to the point where I thought I could do something relevant, like revise the deplorable C++ mapping or provide an alternative transport mechanism, for which I needed to have full control, but it never got that far.

That C++ mapping was certainly a challenge, and I got to know a few things about C++ that I didn't know yet. But I see it as maybe the single biggest reason why people gave up on CORBA, because the mapping was handicapped both by limited maturity of C++ at the time and also some “unfortunate” design decisions (Michi Henning has written a more balanced perspective on that: The Rise and Fall of CORBA).

In your opinion, what are the challenges with parallel programming today and how can it be made easier?
Direct use of threads is just too difficult. We need something to limit the ways threads can interact, down to a level for our minds to grasp without getting headaches, and we shouldn't have to manage them either. Enterprise Java Beans even forbids direct use of threads (last time I looked), and Threading Building Blocks tries to hide the number of threads actually being used, which is why I was attracted to its task-based approach (but it should learn about non-finite workloads and global progress or even some fairness for it to be more widely useful).

What in your mind are the most important aspects of a successful developer community? What role do you like to play in these communities?
One of the best ways to learn something is to explain it, or to solve other people's problems. It's also motivating to do something that is actually relevant to others, so participation is its own reward. I hope that, on average, my contributions will continue to be perceived as interesting enough to read, and to build some credit for when I get stuck and need assistance.

Your thoughts on the Black Belt Software Developer title?
Well, it's certainly flattering and stress-relieving that some real people decided to give me this recognition (with a real goodie bag), so I should probably stop worrying about whether I'm making a net positive contribution. Oh wait, no, now I'll have to live up to my new status, especially because I'm sharing it with some people who are working full-time on the subject and whose knowledge undoubtedly significantly exceeds my own. Stressful!

Can you talk a little about the improvements/ changes you would like to see [on our site]?
While watching the behavior change from day to day has an amusement factor to it, I would appreciate better testing before the deployment of new versions. I very much appreciate the ability to edit (when it works), but I also think that maybe edits should be flagged.

Thank you for taking the time Raf. Congratulations again!

Para obtener más información sobre las optimizaciones del compilador, consulte el aviso sobre la optimización.