Open Discussion: "The Purpose-Driven Programmer," by Donna L. Davis
Open discussion and comments thread for the developer.* article "The Purpose-Driven Programmer," by Donna L. Davis.
This page is an open discussion and comments thread for the developer.* article "The Human Impact of Software," by Daniel Read. Please feel free to add your comment or question using the form below.
Editor's note: this discussion page was ported from an old commenting system. The following comment(s) were part of the old discussion page:
Beneath all of the metaphor and hyperbole, there's one thing I don't think this article addresses. The purpose that drives a developer might very well change over time. The article mentions building login forms, client info forms, and reports equating them with drudgery worthy of only the most mindless automaton. However, I can remember a time early in my career when figuring out how to authenticate a user and maintain their state on a web page was quite exciting.
As in any career, developers master a set of skills and techniques which lead to additional avenues of problem solving. At some point, we review our career and ask "Am I comfortable, or do I want more?" I know and work with people who've chosen the former. They enjoy the security and fixed boundaries their territory provides. But in my opinion, they also sow the seeds of their own discontent as they're resistant to change, which is inevitable.
On the other hand, for those continually seeking a new challenge, what keeps them motivated? I can tell you that in my case, I get bored extremely quickly. Having mastered a subset of skills and techniques, I'm constantly looking for ways to broaden my view. If, horror or horrors, that takes me out of the code-writing business altogether, then so be it. I can tell you very easily the two things that are required to keep me motivated.
1.) A sense of mutual respect between myself and those in my work environment.
2.) Knowledge that the task or project I'm working on is the result of a reasoned, rational process of identifying a need resulting in action to create the most efficient solution possible.
Obviously these things don't exist everywhere, everywhen. But I feel priviliged to have experienced them for a large part of my career. Note that those factors can be applied to any type of work/career. I don't mention money because I believe firmly that you should do what you enjoy rather than what pays well. If the two co-incide, all the better. Besides, after you reach a certain income level, what do you need more money for?
To sum up, we are all going to spend alot of time solving the same problems or developing the same mechanisms time after time, which can get a little monotonous. But if you have the respect of your peers and solid input into the task at hand, be thankful you participate in an environment that acknowledges your humanity. The only thing left to do is stay open to change when it comes.
--Posted by Trevor Conn @ 12/05/2003 02:17 PM ESTIt came as a bit of a surprise for me, to read the article and find several things in there that described my own grief with the job. Most of my collegues (I should say former collegues, since I am no longer working as a software developer) constantly remind themselves of how much fun and challenge there is to find in a particular project they would be working on. It often sounded like they needed to convince themselves. But what I found that was evidently different for me was, I wasn't convinced.
Donna Davis writes about finding your well-earned sense of accomplishment in the knowledge that your application will help people, will affect their lives (hopefully in a good way). Connect the code dots and see that picture of a desperate mother, brave fireman or hungry child. Be aware of that purpose your software will serve, and be satisfied about your contribution towards that purpose. This is exactly what I have been looking for since I started programming professionally. But as I write broker software, what picture am I supposed to see? I see the money-hungry bowels of what, to my genuine dismay, makes the world as it is today go round. When I write an application that can measure the weight of a truck as it drives by, who am I helping? It's the donut-eating cop with a laptop sitting at a road-side station, who can now impose fines and meet his quotum with a single mouse click.
Trevor Conn, in his comment above, formulated it this way: "Knowledge that the task or project I'm working on is the result of a reasoned, rational process of identifying a need resulting in action to create the most efficient solution possible." Not a single part of that sentence describes any of the projects that I have worked on. Projects are not born from an identified need, they are born from an exploitable opportunity. The process is not reasoned or rational, people just want it all yesterday at no cost, but through their own evanescent judgement calls often end up getting only half what they wanted, getting it too late, losing too much money, or any combination thereof. The solutions created are not the most efficient possible, they are the most economic one. At least they are intended to be, even though they usually are not and the client will only in retrospect acknowledge that they should have taken the developers' comments more seriously. Which, in turn, leads to follow-up projects where you have to undo everything you had worked so hard on, at the time against your own better judgement.
Programming has been one of my greatest hobbies since I was around twelve years old. It had been for ten years when I turned that hobby into my profession. Then it took only three years to realize it stopped being my hobby since making that step, and now I am just grateful that stopping this work has allowed me to enjoy it as a hobby once again. I have had a great time with almost everyone I worked with, enjoyed the general atmosphere of every place I have worked at, and I got well paid to top it all off. I have been very fortunate with the jobs I rolled into, but it wasn't enough. There is always problems with the specs, problems with the clients, misunderstanding between parties, unclear needs, fluctuating demands, two-thirds of bloat and never enough time. The pressure is high from all sides, and it never stops, and when I started asking myself why I kept doing what I was doing, I found myself without an answer. If only there was a purpose, something worthwhile, that would make it almost bearable. But then again, that is a lack not only suffered in the world of ICT.
--Posted by Mark Meijer @ 02/08/2004 07:53 AM ESTI identified with many of the Mark's sentiments. However, his example -- writing a program that measures vehicle weight so a cop can issue a ticket -- could have its purpose. Maybe a family's life will be saved by getting dangerous overweight vehicles off the road.
I think Mark summed it up nicely by saying that people in all professions struggle with finding and sustaining a sense of purpose. I still earnestly believe that ultimately it has to come from within, because there will always be stress and circumstances that would suck the joy out of everything. I suspect that writing professionally would be like that for me. I've always wanted to write, but if I had all the pressures, constraints and deadlines of a "real job" imposed on me, I would probably quickly view it as simply another chore to be dreaded.
Maybe someone somewhere has a job that is fun all the time, but I imagine that has got to be pretty uncommon. I think work is work and we're lucky if we can enjoy it some of the time and endure it the rest of the time. I remind myself that developers are paid pretty well, probably because the job isn't "easy" and we have to put up with a lot of baggage.
Determining to find some intangible spark inside yourself that makes it worth getting up in the morning is a personal choice.
--Posted by Donna Davis @ 02/08/2004 07:08 PM ESTWhat a wonderful article. Donna, I looked up your name for more articles after reading "The election night enigma" in Software Development (Oct 2004 pg 41). I love your writing.
--Posted by Victor Damian @ 09/16/2004 09:13 AM EST


Recent comments
3 weeks 4 days ago
3 weeks 4 days ago
38 weeks 4 days ago
39 weeks 3 days ago
39 weeks 3 days ago
40 weeks 3 days ago
41 weeks 41 min ago
41 weeks 2 hours ago
41 weeks 2 days ago
41 weeks 2 days ago