Communication skills for programmers

Posted in etiquette, labor, technology on April 5th, 2009

Its hard to see the big picture when you are working on implementation details and it is no wonder that programmers are often viewed as being out of touch with the organization as a whole. When the developer is deliberating depth-first versus breadth-first for an algorithm they are bound to appear disconnected from the conversation at hand.

Implementation matters. Make no doubt about it. A colleague of mine recently explained his distress at collaborating with a manager who describes software systems in term of food preparation. When the metaphors fail to describe the practical limits of software the manager thinks the programmer is inept. I’ve been there and it is supremely frustrating but I think it is a two way street and both parties need to find common area.

It doesn’t work for the programmer to live in “implementation land” all day long and it doesn’t work for managers to waive off that “implementation stuff” as unimportant jargon. Another missive that hits this point for programmers comes by way of Neil Mcallister’s article. Here are some practical suggestions for programmers to break the mode a bit:

  1. Set a reminder in the morning and afternoon to stop and put your head up. By this I mean to make sure that you create a pause in your work to contemplate what may be going on around you. Rather than waiting for someone to shadow your doorstep maybe you notice a colleague has a pressing deadline (not code related) where you can lend expertise. Get into the rhythm of the workplace.
  2. In meetings with colleagues and managers begin by making a clear statement of the issue and solution. Don’t start discussions centered on implementation. This is an opportunity to affirm that everyone agrees on what is being done.
  3. Ask a trusted colleague for feedback about your “presence” in the organization. Are you viewed as engaged or reactive? Ask for constructive ideas to improve your communication of technical concepts. You may be surprised what comes of it.

Other suggestions and ideas here are most welcome in the comments.

I would have written a shorter blog entry…

Posted in technology on April 3rd, 2009

Blaise Pascal famously started a letter stating, “I would have written a shorter letter but I didn’t have time.” Its often easier to make things hard, complex or time intensive than to achieve the short and simple version.

If you would have asked me three months ago what I thought of twitter I would have described it as yet another sign of the collapse of civilization, akin to necktie-less men and poor punctuation. I would have told these kids to get off my lawn.

I’m eating (er, tweeting) my words. If used properly, twitter is an excellent antidote to the verbal diarrhea of weblog (present company included) and article writing. It isn’t a replacement, but the simplicity and 140 character constraint does wonders to focus an idea. Pascal would have liked it.

What is your sign?

Posted in labor, misc on March 13th, 2009

Have you ever seen those “x days since an accident” signs in a workplace? They are placed there because the very act of measuring something has an effect on improving it.

Every organization is measuring something but not every organization takes the time to make sure they select the right things. Are you measuring whether people are at their desk at 8am? It might be vital if there is a shift change or you have set expectations with customers to be reachable at that time.

Measurement always has a cost, either in time spent tabulating or opportunity cost for other focus, so make sure it actually matters. There are few blanket statements, but some good ones are:

  • customer satisfaction
  • support response time
  • new clients in the past quarter
  • repeat projects from existing clients this year

There is a trend here. Figure out what matters to your customers and find a way to internally measure your progress satisfying their needs.

Comments are broken (now fixed)

Posted in technology on December 4th, 2008

I recently upgraded to Wordpress version 2.6.5 and it appears that comments are currently broken. I’m investigating it.

Feel free to leave a comment with suggestions. :)

Update: This has been sort of low priority lately, but the comments are working again. The solution was rather simple and involved performing a MySQL table repair operation.

Fear itself

Posted in public policy, social science on December 4th, 2008

The marketplace is, frankly speaking, a mess right now. Nothing earth shattering or newsworthy in itself, but what is driving the current malaise?

In a word, uncertainty. Take the latest example where the Treasury Department is considering a program to offer fixed mortgages at 4.5%. For the past two months you might say they have done a lot of considering about:

  • Bailing out automakers
  • Throwing ungodly sums of money into the financial sector
  • Nationalizing the main mortgage lendors
  • Creating relief programs for people with upside mortgages

Like any rational person on the sidelines, I’m watching to see what happens. When I watch I don’t spend and to a lesser extent I don’t invest. Millions of people who may have planned to execute on a home purchase or refinance are likely putting the brakes on the process to find out which way the wind blows with the Treasury Department.

What we collectively face in the market is fear brought about through uncertainty. Yes, there is a liquidity crises and any number of perfectly clear explanations for why the market is slumping, but beyond that many people are simply waiting for a clear indication of public policy. I’m eager for the hand wringing to cease and to make way for something more productive, even if it means we must wade through a painful market correction.

No ability to accept a negative number

Posted in misc on November 13th, 2008

A must read if you are curious about the inner workings of the sub-prime collapse.

“We always asked the same question,” says Eisman. “Where are the rating agencies in all of this? And I’d always get the same reaction. It was a smirk.” He called Standard & Poor’s and asked what would happen to default rates if real estate prices fell. The man at S&P couldn’t say; its model for home prices had no ability to accept a negative number.

Increasingly finding less to protest

Posted in faith on October 31st, 2008

On this day 491 years ago Martin Luther posted his 95 thesis as a challenge to the excesses of his day and opened the doors to mass schism. He could have been a renown reformer in the church, but the legacy today is nearly 30,000 protestant denominations.

I used to think of it as a bold and appropriate move but increasingly I see the protestant revolution in problematic terms. As I research more tenants of early Christianity they increasingly mirror the tradition and ethos of modern Catholicism.

Regarding the financial mess of our markets

Posted in misc on October 7th, 2008

An explanation from a well-read Libertarian is the best summary I’ve seen of how the markets have become so volatile and why the government bail out is the wrong answer.

Management in just a few words

Posted in technology on September 14th, 2008

It doesn’t get any more succinct than this:

The very best manager you could ever have manages the people above him, not the people below him.

I’ll only add that I think great managers do both, but insulating developers from upper management is an often overlooked function of good gate control. At least that is how I think of management.

Parenthood 2.0

Posted in faith on August 17th, 2008

I’m pleased to announce, for those not in my immediate email orbit, the birth of my daughter — Maria Katherine Gran. She joined our family the evening of August 13, 2008. She is 6 pounds and 7 ounces. She is quite healthy and adorable. We are adjusting to the new addition and having a great time.

See previous.

Incidentally, Zachary is doing great as well. He will be a wonderful big brother, I’m sure.

A broad consideration of labor and capital

Posted in faith, labor on July 8th, 2008

A Catholic Culture article summarizes the long history of the Church on matters of labor and human dignity. Of particular note to me:

Starting with Leo XIII and Rerum Novarum, often referred to simply as his “labor encyclical,” the Church would indeed have much to say! In fact that Pope placed the Church in between the opposing parties: the capitalists and the socialists. He did so by rejecting both the hare-brained Marxian initiative to do away with private ownership of the material means of production, and the capitalist treatment of human labor as mere merchandise which had made the socialist mad-hatter venture seem credible to so many in the first place.

Every few years I find myself re-reading Rerum Novarum and each time it tempers my persuasion and realigns my sense of the eternal in us all. For all the criticism heaped on the Church, there are few institutions capable of charting a third way between Marx and Smith.

I necessarily attribute such wisdom to the Holy Spirit, but fortunately the fruits of such wisdom is available to all regardless of faith.

Declarations of two kinds

Posted in etiquette, public spaces on July 5th, 2008

Charlottesville had the privilege of hosting President Bush to speak at Monticello for the annual naturalization ceremony on July 4th. Our community made the news regrettably because a handful of people felt that their vocal disagreement with policies unrelated to naturalization deserved attention.

The whole matter is unfortunate. If prodded I’ll gladly detail where my politics differ from this (or any, for that matter) President but there is no point of disagreement that runs so deep that I would distract from another person’s event. I wonder if these hecklers would do the same thing at a wedding or funeral.

On another note — I’ve always found the American celebration of the signing of the Declaration of Independence to be fascinating. Most nations celebrate the date of final victory, but we celebrate the act of declaring. If we hold the truths to be self evident, we also hold in high esteem the power of words to enact destiny. Could there be anything more American than that?

I’ll take the raw optimism of those protesters in 1776 over the raw emotion of today’s protesters any day.

Giving data access to customers

Posted in technology on May 17th, 2008

A slashdot article features a question from a nervous database administrator who is worried about giving direct access to a database to a customer. He ends with the plea, “How would you advice me to keep my customer away from my precious tables?”

The right question is, “How can I give my customer better access to reports without compromising security or service availability?” Too often in IT we focus on diplomatic ways of saying “no” instead of seeking creative ways to say “yes”.

If I were in this situation I would draft a proposal for a dedicated server with replicated data. Such a proposal would make it clear that tables may (and likely will) change over time and that they would have read-only access to the secondary server. This would likely result in a happy customer, more revenue and very little impact to operations.

Technology and startups

Posted in technology on April 18th, 2008

If you are involved in a start up or work with technology in small organizations, be sure to read Keith Casey’s article about technology and startups. That he was the sole technology representative on such a panel is telling.

People familiar with the potential and limits of technology have a lot to contribute to start ups beyond slinging code.

The soul of labor

Posted in faith, labor, media on March 21st, 2008

On this Good Friday I’m necessarily brought to a place of reverence for a carpenter and Savior who washed the feet of others. If the transition seems not too abrupt, I want to draw attention to one of the most thought provoking articles about labor that I’ve read in years. I could quote volumes from it, but I’ll share the most stirring passage for me:

Knowing the production narrative, or at least being able to plausibly imagine it, renders the social narrative of the advertisement less potent.

My effort in writing here is to raise awareness (my own and others) about the dignity of human enterprise. Anything that promotes material desire, such as advertising, necessarily is a threat to our innate desire to commune with and serve God.

A word of calm in the midst of uncertainty

Posted in social science on January 23rd, 2008

In the past week we have witnessed serious perturbations in the marketplace. It can shake the confidence of even the most planned investor, but I offer up the following words of advice from Warren Buffet:

Our stay-put behavior reflects our view that the stock market serves as a relocation center at which money is moved from the active to the patient.

The dreaded software rewrite

Posted in technology on January 20th, 2008

I’ve used Quicken for ages to organize (or at the very least categorize) personal financial transactions. Today I learned that Intuit will rewrite the application for the Mac. The application is a bit long in the tooth, but this announcement gives me little comfort and this may well be the best news possible for Intuit’s competitors. Why, you may ask?

A software rewrite is almost always a bad idea that percolates up from the development team and eventually makes it way into the ear of management. The typical explanation goes that we, the programmers, are spending so much time supporting the idiosyncracies of the old system that a fresh code base is required to get it right. Probably the best explanation for why this is folly comes by way of Joel Spotsky:

The idea that new code is better than old is patently absurd. Old code has been used. It has been tested. Lots of bugs have been found, and they’ve been fixed. There’s nothing wrong with it.

I have a hunch that I’m like most people who value reliability and a seamless upgrade in my next version of Quicken. The last question on my mind is whether they wrote the application with the Carbon or Cocoa API. I’ll let other people take that plunge, thank you.

What is a project?

Posted in technology on August 28th, 2007

Johanna Rothman looks at several definitions of what constitutes a “project” and offers up a goal-oriented definition. Here is my stab at it:

A project is a temporary endeavor with measurable outcomes.

If that sounds too simplistic, consider for a moment the last project you worked on that never ended. Most people are better at starting projects than finishing them, so I like to emphasize the temporal relationship in addition to meeting the end goal.

How I think, as a manager

Posted in technology on August 27th, 2007

As a fitting complement to Waldo’s entry I thought I would offer up a view from the other side, as it were. I’ve been managing software projects for years and suffered my share of management experiences described in Paul Graham’s article.

Software development is creative and structured. You ruminate about the problem and test a variety of solutions until a good match emerges. Few people can do this while fielding interruptions nor do many composers do their best work while balancing life obligations. Software development requires devoted attention.

Management is less creative and far less structured. You operate a general plan and re-route as circumstances dictate. Good managers know when to interrupt software development while bad managers pull the fire alarm at every bump in the road.

I like to think of management as being a traffic officer. Multiple streams of potential decisions bombard me and I have to decide whether they warrant the cost of interrupting developers, finance officers and other business partners. I believe a good manager estimates the opportunity cost of conversations and meetings.

Proper sorting of lists in Java

Posted in technology on May 11th, 2007

Dave Koelle has produced an elegant solution to a pervasive problem in computer sorting. The default sort order of a list places “z100″ ahead of “z2″ and makes the output of an application less polished. I don’t have an immediate use for this, but I’ve seen the problem enough times to know that I and others will benefit from it. The algorithm is available in Java, C++ and Perl flavors.


purchase accutane online buy accutane cialis prescription order cialis without prescription buy cheap soma online generic synthroid accutane pills cheapest generic viagra lowest price acomplia propecia without a prescription cheap cialis from usa tablet viagra certified viagra buy cialis without prescription levitra discount cheap viagra in usa lowest price clomid order cheap viagra acomplia sale cialis rx order lasix viagra bangkok cheapest cialis prices online viagra cialis vendors buy soma online clomid sale buy cheap lasix online viagra free sample cialis in us viagra canada buy cialis from us soma no prescription cialis pill buy soma buy viagra in us soma for sale where to order viagra viagra buy drug viagra buy cialis in uk synthroid cheap cheap generic cialis buy cheap synthroid online discount propecia acomplia pharmacy order lasix online buy cialis in us soma without a prescription cheap propecia tablets cheap viagra tablets find cheap cialis cialis sales clomid online stores clomid prices compare viagra prices online cheap cialis no rx lasix without prescription cialis pills cialis purchase online pharmacy viagra buy cheap accutane find viagra on internet cialis order buy viagra cheap cheapest levitra cost of viagra cheap lasix tablets order cialis on internet order viagra in canada zithromax no prescription lowest price zithromax cheapest viagra prices