Analyze Those Algorithms
Employer: IBM Victoria Software Lab in Canada
Job: Senior Product Architect for IBM Workplace Forms
DDJ: What do you like about your job?
JB: It's never boring. Forms applications are essentially Turing complete, so we get to think about some of the most interesting problems that can arise for any computer language. Like Fortran is for scientific computing, XForms has a sweet spot for web applications that collect information and support web services and a service-oriented architecture. But having a niche doesn't really reduce the overall complexity of problems that we get to look at.
DDJ: What do you find challenging about your job?
JB: The 24-hour day. On a more serious note, I think it's the fact that we do a lot of development that is intrinsically dependent on other complex software modules. You're writing a servlet and you want to run it in multiple application servers, and if there's any kind of hole in support for some standard feature, then you have a real challenge trying to figure out how to express the code in a way that sticks to the interface, avoids special cases, and side-steps the bugs in all of the implementations of that standard.
DDJ: What have you found that makes your job easier?
JB: The study of algorithm analysis that I did in grad school has allowed me to see not just solutions where people didn't think there were anyor faster solutionsbut also a better analysis of what the problems actually are. Sometimes I see where there are problems other people don't even see. I would highly encourage people to add [analysis of algorithms] to their software engineering practice.