Skip to main content

The $10,000,000 Question

Neal Ford posed a question on Dave Rael's Developer on Fire podcast. He asked whether if you were offered $10,000,000 on the condition that you could never write another line of code for the rest of your life, would you take it? I'll leave it to you to go listen to the podcast if you want to hear Neal answer his own question, but you can have my answer here.

Why Take the Money

For me, and probably a lot of other people, the purpose of accepting the money would be to gain freedom. Having a sufficient amount of money with which one could live out the rest of one's life comfortably changes one's perspective and position considerably. With $10,000,000, I would no longer need to work. That's probably obvious, but considering how much of our time is spent working in and on our careers, that's an enormous gain. All of that time comes back to me because I am no longer compelled by necessity to go out and earn a living through labor.

The Value of Work

The difficulty begins with the fact that work is more than merely necessary to keep food on the table and the lights on. There is significant evidence in history and scientific data to support the notion that work is good for you even if you don't have to do it to survive. People who retire cold turkey, i.e. stop working altogether, often have significantly shorter lifespans than those who continue to perform some kind of work even after retiring.

It may be worth giving a definition at this point, so we're clear. For the purposes of this discussion, work is an activity that a significant number of people are paid to do for performing the task at a comparable level of proficiency to the way you perform the task. I include the proficiency requirement to rule out such things as recreational golf. Yes, some people do get paid to golf, but they get paid because they're much better at it than you are. One other important point here is that it doesn't matter whether or not you actually get paid to do the work. If you volunteer to build houses with Habitat for Humanity, that counts as work, as there are many people who get paid to participate in the building of houses without having much skill in that trade.

I would argue that in addition to potentially lengthening one's life, work is good for one's character. It helps to develop responsibility, leadership skills and diligence among other valuable traits. Depending on the type of work, it exercises the mind and/or the body in various ways. Exercise of the mind and of the body have significant benefits to health and quality of life. Work is one thing that can also lend a person's life meaning. While there are other sources from which a person can derive purpose, work is an effective one. Work frequently helps you to connect socially with other people, which is another critical component of health and well-being.

Now that we've established that ceasing to work, if allowed the possibility, is potentially deleterious to the quality of one's life, I know that I would continue to work even if I were free from the necessity of doing so. However, the great aspect of having a large sum of money to support myself, is that it would give me a great many more options as to the type of work that I could perform and the terms on which I could perform it. I would no longer be constrained by financial considerations. This would leave me free to work on the projects that were of the most interest to me.

Freedom for Freedom?

The problem I have is that the projects of most interest to me would involve programming. Thus, if I accepted $10,000,000 in return for giving up programming, I would be gaining the freedom to do what I want by giving up my freedom to do what I want. Yes, I could pursue other interests. However, the principal remains; I would be sacrificing freedom to gain freedom. It's difficult to quantify how much is lost or gained on either side, but the money tempts me because I want more choices in my life, yet I ultimately have to constrain myself to get it, so in the end the gain is little or nothing. I would rather take the long road and earn the money (freedom) over time such that I can have it in its entirety.

The question really strikes me as an almost-Faustian bargain. We ought to be very careful with what we are trading away and be sure it is not very important to us. For me, programming and software development are a significant part of my life; more than something I merely do for a paycheck. Software development is my trade, and one's trade is part of one's identity. So, in addition to some part of my freedom, I would also be sacrificing some part of my identity as well in taking the money.

A Test for Success

The other significant thing that bothers me about the offer is that it doesn't pass one of the baseline tests that experience has taught me to employ whenever evaluating a so-called path to success. I have found that every reliable path to success that I have encountered in any area of one's life, involves the disciplined, persistent execution of relatively simple behaviors. I believe most people fail, not because they're not smart enough or talented enough to succeed, because I don't think you really have to be that smart or talented, but because they lack discipline and persistence.

We're all tempted by the magic pill that will cure all of our problems or the complex system that someone will sell to us in 5 low payments that will make us rich overnight. I don't believe there are any magic pills or complex systems that yield the proclaimed results with anything nearing consistency. Thus, when evaluating an offer such as the one presented here, I apply my test. It is simple in this case, as someone is just going to hand me some money in exchange for me giving up an activity. However, it lacks any notions of discipline or persistence to achieve the reward; the reward is simply handed over. On that basis, I become extremely wary that such a course would yield the positive benefits I am seeking. It's kind of like winning the lottery in this regard, and despite what we all would like to imagine, people are often worse off after winning the lottery than before.

No, Thank You

No, I would not accept $10,000,000 in exchange for giving up programming. I've learned to be cautious about what I give up to gain what I'm reaching for and to be wary of the easy or fast paths to my objectives. Although we often scoff at them, the tortoises keep on plodding along after the hares crash and burn.

Comments

Popular posts from this blog

Books That Have Influenced Me and Why

A mantra that I often repeat to myself is, "Don't abandon the behaviors and habits that made you successful." I believe this trap is actually much easier to fall into than most people realize. You can sometimes observe it in the context of a professional sporting event such as American football. One team might dominate the game, playing exceptionally well for the first three quarters. Then, as they sit with a comfortable lead, you see a shift in their strategy. They start to play more conservatively, running the ball more often than they had. Their defense shifts to a "prevent" formation, designed to emphasize stopping any big plays by the other team while putting less pressure on the short game. The leading team often looks awkward in this mode. They have switched their perspective from that of pursuing victory to that of avoiding defeat. They have stopped executing in the way that gained them the lead in the first place. I have seen more than one game ult

Code Maintenance Requires More Than Testing

Writing and running automated tests can go a long way to help maintain the quality and reliability of a code base. Tests help ensure the code you've written executes the way you expect it to. However, even though automated tests are a great tool for helping to ensure quality over the years in which people will contribute to the code, they are not sufficient in and of themselves. It may be inevitable that all software products will reach a point of obsolescence no matter how much work is done to keep them current. The inherent problem is that if we view tests as constraints upon what the software system under test can be, then as we add more and more tests over the years, we will have more and more constraints on the shape our software is allowed to take. It then seems we must reach an inevitable point where we can no longer change our software system without violating a constraint, i.e. causing a test to fail. In more practical terms, we'll more likely first reach a situat

Notions of Debugging

Bugs can be really evasive and produce some surprising, even "impossible" behaviors. Part of a software developer's job is to relentlessly hunt them down and destroy them. However, often at least half the battle is finding them to begin with. The best debuggers I have seen rely a lot on experience, both experience with the application and experience with debugging in general. The former is situation-specific, and there many not be any good ways to advance in that regard other than practice. However, we can extract some information pertaining to good debugging practices in general. Dig for Clues Using All Available Resources The first step in debugging an issue is ideally to reproduce the problem. This isn't always possible, but if you want any significant level of confidence that you have fixed a bug, you need to observe the broken behavior and understand how to trigger it from a user's perspective. Sometimes we're lucky, and a tester has taken the time to