Dr. Dobb's Journal June 2006

Developer Diaries

The Future of Phones

Mark Nelson

Employer: Linksys, a subsidiary of Cisco Systems

Job: Tech Lead

DDJ: What exactly is your job?

MN: We're working on voice-over-IP phone systems, and right now I'm working on firmware for phones and gateways.

DDJ: What do you find satisfying or rewarding about your job?

MN: It's really rewarding to start from scratch and see new hardware and software all pulled together to become a complete system. The first phones I worked on 20 years ago were limited to a couple K of assembly code. We now have 64 MB of Flash and can put essentially a whole call-processing system into a telephone. It's a lot of fun to have that power and to see the features we get out of it.

DDJ: What's challenging about your job?

MN: The biggest challenge is software engineering: the scheduling, management, working with other teams in design. Not everybody has been well trained at that, not everybody's good at it, and I don't know too many people who like it. Programming is the fun part, but that's kind of like the end product. After you've done the software engineering, you get to do the programming.


Solving Problems For a Living

Amy Brock

Employer: Green Hills Software

Job: Software Engineer

DDJ: What is your job as a software engineer?

AB: I'm a developer in our real-time operating systems group. Our company also makes development tools, so [I do] that as well.

DDJ: What do you particularly like about your job?

AB: I enjoy just being able to solve problems. You know when you're growing up and you're really good at math and you like to solve puzzles? Now I get to do that on a daily basis, as my vocation. It's exciting to be able to do that.

DDJ: What makes your job easier?

AB: At our company, we have a really bright group of people to work with. We're all very close knit and you're able to go down the hall and bounce ideas off of everyone. You learn a lot that way, and it makes it easier to solve problems.

DDJ: Sounds like you like challenges. What is the biggest challenge to your job?

AB: To take the feedback that you get from customers and try to figure out which things are important for all customers and which things are just important to that customer—to make the product better in a way that it's better for everyone and not just better for one person.


Prescription for Success

Matthew Heusser

Employer: Priority Health (a Michigan HMO)

Job: Senior Programmer Analyst

DDJ: What exactly do you do at Priority?

MH: Our programmers walk through the whole lifecycle. So I might get involved during the requirements phase of a project and then see it through implementation and postimplementation support.

DDJ: What do you particularly like about your job?

MH: When I was in third or fourth grade, I just loved to hack on Basic. I still get to do that now, only I mostly do it in Perl and SQL. It's a pleasure to create software and to deliver that to people who use it everyday.

DDJ: What's the most challenging aspect of your job?

MH: I think the real challenge of software development is always about the people. It's never the technology—you can always go learn some new language.

DDJ: What have you found makes your job easier?

MH: I'm a big fan of collocated project teams. I find that on projects you always have a "them"—sometimes it's the customer, maybe it's your tester, maybe it's your manager. But "they" are the problem because "they" aren't working right, "they" don't get it. And when you're collocated, which we do on big projects, you're all in the same room, and there's nobody to [blame] because everyone is there. Instead of pointing fingers at imaginary people, you have to concentrate on solving the problem. That's one of the easiest ways I think companies can improve performance on software teams.