Agile Careers


Jim ("Cope") Coplien is an old C++ shark who now integrates the technological and human sides of the software business as an author, coach, trainer, and executive consultant. He is one of the founders of the software pattern discipline, and his organizational patterns work is one of the foundations of both Scrum and XP. He currently works for Gertrud & Cope, is based in Denmark, and is a partner in the Scrum Foundation. He has authored or co-authored many books, including the recently released Wiley title, Lean Architecture for Agile Software Development. When he grows up, he wants to be an anthropologist. 

Log in to register a comment.

Subscribe here.

Blogs Blogs
« Back

Two People at a Time

We treasure our friends here in Denmark. It may surprise American readers to hear that a Dane usually has only two or three real life friends (ven or veninde). Maybe you call them “best friends” or “soulmates.” More than anyone else, it is by these people that the world changes us, and through these people that we change the world.

What does this have to do with career? I launched this ‘blog by asking you to consider your place in changing the world. Jerry Weinberg taught me long ago that we change the world one person at a time. Sure, on a job—in a group or on a team—we maintain enough close working relationships to get the product out the door. Teams are important, too, and the relationships they develop can last a lifetime and be of great value. Don’t overlook the relationships in these connections, and don’t overly separate the professional and personal sides of that relationship (look back on The Whole Person).

My metric for a worthwhile change to the world is that some of part of it, no matter how small, has fundamentally changed. By fundamental here I mean changing beliefs, changing one’s reason for being in the world of work. That is career growth on a par with human purpose. Think paradigm shift. I could have alternatively defined success in terms of the mass or extent of change, because it takes less energy in the short term to move many people a small distance. Think Twitter. Fundamental changes take sharp focus, and it takes far more focus to engage in fundamental change on a group level than pairwise. I have instead decided to trust the social process of change propagation: I change one person, and I trust that person’s new foundations will propagate thousands of times. If I move that person a great deal, in the end, I will have moved the world a great deal. And I will have created a new, defining relationship in the process.

Society equates power with span of control. That tends to work against the painstaking process of caring for one individual at a time, and of carrying on a true dialog. You can’t seriously dialog with a crowd: you can only broadcast and receive disembodied slices of feedback. Dialog happens soul-to-soul. When I’ve had the job of lecturing to thousands about new technologies, or of writing to tens of thousands about design, it must have an impact. But it’s the individual feedback that matters.

I am concerned about the increasing use of social media as a primary venue for fundamental engineering dialog. I miss the thoughtfulness and depth of pairwise dialectic. Call me nostalgic, but, sure, I do Tweet, and have a portal on most other household social networks. And there is, after all, this ‘blog. It’s all part of the equation. But in the end, broadcast media are just an outlet for a task whose hope lies in hearing some individual story, one great success, or a single change of mind. I’m not here to align anyone’s agendas with mine. As a reader, you are a victim of my attempt to lure you more deeply into an appreciation of human sensibilities and individual worth. I don’t care what you believe, if you’re honest with yourself about what you believe. I do care that passionate people engage in dialog at an individual level;  that lifts the world.

Change the world by being part of changing each other. Jerry should have said we change the world two individuals at a time.

Trackback URL:

Jim, you say that Engineering builds on solid foundations in the sciences such as physics and chemistry. I agree.

However, Software "Engineering" builds on foundations based on the von Neumann machine paradigm.

Using terminology from C. V. "RAM" Ramamoorthy:
Software Engineering builds on the "von Neumann syndrome".

This summarizes critics from several sources, like from Edsgar Diskstra, Niklaus Wirth, and many others, and "Nathan's Law" ("software is a gas which completely fills all available storage space").

This instruction-stream-controlled machine paradigm forces us to pile up multiple layers of massive overhead, so that software packages reach astronomic dimensions: up to hundreds of million lines of code.

This explains the "Reconfigurable Computing Paradox". Within a classical FPGA, maybe about 4 transistors serve the application, whereas the other 96 transistors are needed for highly area-inefficient routing resources to provide the reconfigurability.

From the migration (re-programming) of applications from software over to FPGAs a lot of projects report speed-up factors up to 3 or even 4 orders of magnitude. The maximum reached so far: more than 28000.

Massive speed-up with a much more area-ineffient technology?
What explains this paradox? It tells us, that the efficiency of this machine paradigm is even much worse because of the von Neumann syndrome.

On a classical FPGA implementation there are no instruction streams at run-time. Only data strems are running thru. The von-Neumann-typical high inefficiency of address computations is avoided by reconfigurable address generators.

The summary is, that software does not build on solid foundations in the sciences such as physics and chemistry. We should not call it engineering.

I know that what I am telling is a sacriledge. This is dangerous. And it has been very dangarous. More than a decade ago a colleague has been fired, loosing his tenure professorship, because he said in a keynote, that Turing is irrelevant in undergraduate software engineering education.

Posted on 4/17/12 12:53 AM.