Programming is all about problem-solving, but so is most everything else in life, depending on how you look at it. I will always be grateful that I became a programmer, as it taught me to see almost every aspect of my life as a task, a set of requirements, and a set of problems to be solved. From my experience as a programmer, I have learned the science of problem-solving, and practice it at every opportunity.
Part of that process is the elimination of factors that do not contribute to the solution of a given problem or task. Anything which does not contribute to the solution of a problem is a waste of time and resources, both of which are finite. To spend time on a problem that is never solved is also a waste of time. Therefore, it is not logical to waste time and resources on thoughts or activites that do not contribute to the solution of a problem, as the very failure to solve the problem would become a waste of time and resources in and of itself.
In other words, take anything you desire, and consider the attainment of that thing a requirement. Consider the cost of solving the problem, and before you begin, make a determination whether you are able to solve it, and whether it is worth the time and resources necessary to solve it. If the answer is yes, commit yourself to the solution of the problem. Otherwise, you will be wasting time and resources that could well be spent on other requirements. Once that decision is reached, eliminate factors that impede the solution of the problem, and begin the task.
So, how does this all fit in with Personal Responsibility? Well, the process of analysis involves the factoring of resources and time with other "environmental factors." These are situations, circumstances, and events over which you have no control, and yet which affect the process. Notice that I mentioned this is part of the process of analysis, which is the preparation phase of any process, and not the execution phase. It is the phase in which all factors are taken into account, and a roadmap or plan for the execution of the tasks necessary to achieve the requirement(s).
Now, we usually think about the concept of Personal Responsibility as relating to ideas which have nothing to do with programming or problem-solving, such as the concepts of blame, fault, and success or failure. But that is simply not the case. In fact, the concepts of blame, fault, success, failure, and similar concepts are general enough to fit into the model of programming and the model of problem-solving (which are in fact the same model).
If we look at our daily struggle in life, our struggle to "succeed" in life, to overcome the various trials and tests we encounter, our ambition to succeed at whatever it is we want to do, as a series of problems to solve, we can apply problem-solving principles to these types of things with equally-useful results.
When we apply the process of analysis to our course of action in day-to-day life, certain common human traits and behaviors emerge as helpful, and as detrimental to that struggle. For example, we are all subject to the activity of looking backwards at our past life. In fact, this can be a useful aspect of analysis, in the same way that a military After-Action Review (AAR) is useful after a battle or other operation takes place. The purpose of this activity is to prepare for future similar activities by analyzing what went right, what went wrong, and why. It enables the individual or organization to review and/or modify plans.
It is important to note that an AAR is not a process of finger-pointing or blaming. It is purely analytical. The problem with finger-pointing and blaming is that it is not useful to the process of planning the next operation. In other words, finger-pointing, blaming, regret, and so on, are emotional reactions to something perceived. If, for example, I were creating a game which involved sprites moving on a surface, and the surface was black, and I had created some sprites that were black, a test of the game would reveal that the black sprites against a black background made them difficult to see. I could, on one hand, look at the sprites and make the observation "Those sprites are black. They are hard to see." If I were to stop there, I would have accomplished nothing. It would be more useful to make the observation that, because the sprites are hard to see, they should changed to a different color which would contrast against the background. At that point, I have formulated a plan to correct the problem, and any further time spent thinking about how black the sprites are currently would be of no profit whatsoever.
In life, we often waste mental and emotional resources by obsessing on things that are past. We hold grudges, and have poor opinions about people who have caused us suffering. However, this is not useful in determining what course of action we must take in order to succeed. It is more useful to think of people who have caused us pain in terms of how they may fit in with or affect our plan to succeed. Revenge, for example, is a useless endeavor. It embroils one in a task or set of tasks which satisfy no useful requirements. It may satisfy some emotional desire, but the question is, does the satisfaction of an emotional desire bring me closer to my life's goals? And so, looking at others with some sort of qualitative evaluation, and contemplating that quantitative evaluation is pointless. It wastes resources that could be used to achieve personal goals or requirements.
In this sense, blame, regret, and similar backwards-looking activities constitute an attention to environmental conditions over which we have no control. It is not possible to change the past. It is not possible to force another person to change their behavior. It is only possible to make decisions about what we as individuals will do in the present and future. Recognizing that is a part of Personal Responsibility. I have no control over anything except the decisions that I make now and in the future.
I may or may not be able to achieve my goals, yet I only have control over my own decisions. Therefore, my primary focus should always be on the decisions that I make now, and what decisions I will make in the future. When I conduct a personal AAR, I should be concerned only with what decisions I should make, how I might want to change my plan of action, based upon a review of what has happened, how I behaved in the situation, how enironmental factors affected the success or failure of that plan, and how I should modify the plan for the future, accordingly.
Similarly, this concept applies to our dependence upon other people or groups of people for our personal welfare. Humanity as a whole is a society. We are a vast network of individual human beings who have a variety of unique combinations of characteristics, properties, and personalities. We interact with the Human Race by interacting with those in each of our personal "subnets" of friends, associates, and acquaintances. We exchange resources and support one another to one degree or another. And to a varying extent, each of us is dependent upon various individuals and groups for support in the achievement of our individual requirements. There are precious few isolated individuals in the world who are not at all dependent upon one or more other human beings or groups of human beings.
Some of us seem to be more dependent for certain requirements than others, and this may in fact be the case. This is why there are entities such as charitable organizations and governmental organizations that attempt to meet these special needs. However, it is a mistake to think that any of us is entirely independent.
On the other hand, it is a serious mistake for any of us, regardless of our condition, regardless of our dependence upon others, to make the leap of assumption that we cannot achieve our goals/requirements without them. Note that I am not saying that we all can achieve our goals/requirements without the aid of others. I am saying that to assume we cannot is a mistake. In fact, a good plan of execution includes the factoring in of contingencies, changes in the environmental conditions in which we exist, which may require a change in the decisions that we make.
We have seat belts and airbags in our cars. This is not because we expect at some point to be involved in an accident. These things are built into cars because of the possibility that an accident may occur. When and if an accident occurs, we have a recourse, which enables us to avoid serious injury.
Similarly, in the process of development of plans in life, it is useful to plan for contingencies, situations in which certain resources upon which we seem to depend may change or cease to exist. It is wise to plan for the eventuality that such things will happen, because they often do, to each of us, in different ways at different times.
When I was in my late 30's I was very poor. At one time I had no job, no car, no money, and no place to live. But for a number of years I had been working on a plan to change my circumstances. I had discovered that I have an above-average ability to solve problems, that I had a proclivity to analysis, and realized that I was very good with logic and enjoyed solving puzzles of various kinds. I also realized that I was both fascinated with and good at figuring out how to use computers. So, in my spare time, after work in the evenings, and on weekends, I had been teaching myself programming.
By the time I had reached the bottom-most point of my neediness, I had also acquired a skill. I had an opportunity to pursue this new line of work, and took the opportunity. Before a year had gone by, I had started my own consulting business. A dozen years later, I lack for nothing.
In other words, I took Personal Responsibility for my situation. It was not a matter of blame, of making critical observations about myself, the government, my friends, or anyone at all. It turned out to be a matter of analyzing my own strengths and weaknesses, the environmental conditions of my life, and formulating a plan to achieve something better. After that, it was a simple matter of doing those things that I could do under the circumstances.
Note that I am not taking credit for this achievement. I am simply pointing out that I made the decisions that I was able to make, took the actions that I was able to take, and took responsibility for those decisions and actions. Logically, that was the only choice I could make which would have any effect on the outcome. In other words, to have wasted my time and resources considering anything else would have been counter-productive, and diminished the probability of the desired outcome.
To take Personal Responsibility is not a guarantee of success. Nothing in life is guaranteed. However, in the spectrum of probability, the best course of action to take is one which increases the probability of success. And because the only things that each of us has any control over are the decisions we make, and the actions we take, Personal Responsibility is logically useful. To dwell on anything over which we have no control is logically useless.