Developer Diaries

To this month's software developers, programming means applications, algorithms, and Apple computers.


August 03, 2006
URL:http://www.drdobbs.com/architecture-and-design/developer-diaries/191800190

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.

"Free" as in Freelance

Jose Cruz

Employer: Self-employed

Job: Freelance engineer and consultant

DDJ: What do you like about your job?

JC: What I like about it is that it enables me to explore areas of Mac OS X development I was unable to explore when I worked as a full-time software engineer. I get a lot of opportunities to experiment with new technologies and learn new things.

DDJ: What do you find most challenging about your job?

JC: Basically just keeping ahead of the game. Computer technology is simply changing faster than it used to.

DDJ: In moving from a full-time employee to a consultant, what were the biggest challenges you faced?

JC: Just trying to find and develop my small line of clientele. I suppose a lot of it is trying to convince them why I became a consultant.

DDJ: A lot of what you've been doing right now is Macintosh based. Are you finding much interest amongst your clientele with the move to the Intel platform and the Boot Camp proposal from Microsoft?

JC: Yes, [but] it's not just Intel Macs booting Windows [that they're interested in], but also other things like Linux and other flavors of UNIX, such as BSD.

Maintaining Code

Dennis Himes

Employer: Computer Sciences Corporation

Job: Project Maintenance and Development

DDJ: Where do you work?

DH: I work for Computer Sciences Corporation on the UTC (United Technologies) account, specifically for the UTC divisions of Pratt & Whitney and Hamilton Sundstrand. I divide my time between two different offices, depending on which project I'm working on, but both offices are in East Hartford, Connecticut.

DDJ: What's your job there?

DH: One project is maintenance of the PWLook app, which is basically a graphical interface to the BOM (bill of materials) database for Pratt & Whitney's jet engines. The other is developing and maintaining engineering add-ons to the Unigraphics CAD system. Most of my career has been working as a developer for CAD systems, mainly for Gerber Systems Technologies and for Cadkey.

I work mostly in C/C++, but also maintain a significant body of Fortran code, and occasionally find myself coding in Perl, Java, or obscure proprietary languages such as UG's Grip or Patran's PCL.

DDJ: What do you like about your job?

DH: I like the UG add-on projects best, because they involve development of new features, and sometimes whole new apps. I really enjoy designing and implementing applications from scratch. My favorite project of my whole career was when I designed and wrote a surface-modeling app for Packaged Communications Technologies in the late '80s.

DDJ: What do you find challenging about your job?

DH: Maintaining decades old Fortran code can be a pain. If I know I'm going to spend a lot of time making changes to a Fortran function, I'll often just rewrite it in C first. It saves time in the long run.

DDJ: What have you found that makes your job easier?

DH: It's a big help that my immediate bosses trust me to know what I'm doing. If I'm maintaining some code and I realize that for some reason (usually changed requirements) it would be more efficient to throw out huge chunks of it and rewrite it, I can do that without any hassle.

Terms of Service | Privacy Statement | Copyright © 2024 UBM Tech, All rights reserved.