Channels ▼


Developer Diaries

Frenetic Multitasking

Leigh Williamson

Employer: Rational Software, IBM

Job: Distinguished Engineer and Senior Software Architect

DDJ: What's your job at IBM?

LW: I am the lead architect for the Rational Build Forge product and a member of the Rational Development Council core team, as well as several other architecture boards at IBM. I work with IBM customers to understand and translate their requirements into plans and designs for software products, and I am part of the product development team that implements and delivers those products.

DDJ: What do you like about your job?

LW: I really like the mix of technology and customer interaction. I love to write code and would never want to stop doing that; but as a product architect, I spend a lot of time with customers, learning about their requirements and expectations for the product. It is really satisfying when we can deliver features in a product that customers have asked for and that solves a problem they have.

DDJ: What do you find challenging about your job?

LW: Time management and precise communications are very challenging. There isn't enough time to do everything that I'd like to, so setting priorities and deciding what not to spend time on takes some real discipline. It is a continuing battle. And ensuring that I correctly understood a customer requirement or precisely conveyed the intended product behavior is an ongoing challenge. These challenges are part of the fun of this job, though.

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

LW: All of the great communication technology that we have today is very helpful. Instant messaging, Blackberries, wikis, cellular Internet—all of these tools make it easier for me to collaborate with colleagues and customers all over the globe. I can't imagine doing my job without these tools and look forward to the wave of new enhanced communications mechanisms making their way to the market right now.

DDJ: What do you do like to do when you're not working (coding, etc)?

LW: When I am not in front of the computer I like to get outside and on the water. I love fishing and kayaking and just cruising around the lake. In particular, fishing is a great way to get some reflective time out from the normal frenetic multitasking that makes up working life.

Getting Things Done

Artem Frolov

Employer: Klocwork

Job: Development Manager

DDJ: What's your job at Klocwork?

AF: I work as a Development Manager. Currently, I am leading a team that works on bringing advanced Klocwork static analysis directly to developers' desktops.

DDJ: What do you like about your job?

AF: Knowing that Klocwork technology helps fellow programmers improve the quality of their code and uncover bugs that are difficult to track otherwise brings me a great deal of satisfaction and pride. I use Klocwork tools on my own code, and every time it finds a nasty defect even before I submit my code, I know we did something right.

DDJ: What do you find challenging about your job?

AF: Diversity of development environments makes integration with them extremely challenging. Programmers use different IDEs, different compilers, target and host platforms, complicated build systems, and so on. Designing a solution that works flawlessly in as many environments as possible is a complicated and challenging problem.

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

AF: Some time ago I read David Allen's book Getting Things Done. While I did not employ the GTD process religiously, probably the most important thing I learned is "Write down everything." It is much easier to keep track of numerous tasks and projects when they are written down in one place (I use a personal wiki for that). That is on a personal level. With regard to management, I find that extreme programming practices work well for Klocwork.

DDJ: What do you like to do when you're not programming?

AF: Capoeira (Brazilian martial art), volleyball, and snowboarding are on the top of my list of activities.

Real-Time Scotty

Ian Marshall

Employer: Coral8

Job: Manager, Coral8 platform team

DDJ: What's your job at Coral8?

IM: I am the manager responsible for development of Coral8's core compiler and server technology.

DDJ: What do you like about your job?

IM: My job is very technical and I still get to be hands-on with the code. I especially like the people I work with—we've got a really good team of very smart people here. In turn, this challenges me to learn and grow.

DDJ: What do you find challenging about your job?

IM: I have worked with other server architectures in the past, but the unique thing about the Coral8 Engine is that it is dealing with many streams of real-time data. That means that many traditional debugging techniques just don't work, as they change the timing and thus the behavior of the server. Optimizing the server for high throughput and low latency in a multithreaded environment is especially challenging.

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

IM: The people. Coral8 is a software company so the main value of the company is in the people. It's very rewarding dealing with all the talented people we have here at Coral8.

DDJ: What's your hobby?

IM: Although I'm Scottish, I am not a soccer fan. My sin is hockey and I am a big Sharks fan. If you see my car in the parking lot, it's the one with the Sharks license plate.

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.