Channels ▼
RSS

Design

Developer Diaries


Analyze Those Algorithms

John Boyer

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.


Related Reading


More Insights






Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

 
Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.
 

Video