Liver Debugging

As I learn to code, there are many times that I just cannot go on. I just cannot solve this error, sometimes for days. Sometimes when I stop to complain to somebody about why the code is not working, I finally understand the problem. By mouthing out loud the problems I was facing, I reached a higher understanding, or considered something I had not yet tried.

If I had a mentor of some sort, I suppose this would not be needed, as at that point I would have a knowledgeable person who can talk through the code with me. But if nobody near you understands code, It ends up being just the nearest friend who will listen. I will complain for hours to my friend James about what I cannot do, only to find out that it helped me find a solution. This is great, as long as you have a person who is willing to listen to nonsense they don’t understand and can’t reciprocate. Most people enjoy conversation, rather than being mindless reservoirs for code-complaints.

The Duck

It turns out that a living person is not even needed. I actually became more knowledgeable about the code i wrote, by explaining out loud what it is supposed to do, then reflecting on what it is actually doing. This has been recognized as an informal term called Rubber duck debugging.

Rubber duck debugging is an informal term used in software engineering for a method of debugging code. The name is a reference to a story in the book The Pragmatic Programmer in which a programmer would carry around a rubber duck and debug their code by forcing themselves to explain it, line-by-line, to the duck.

Continue reading “Liver Debugging”

When Enough Is Not Enough

There are times when every action you take doesn’t seem to do anything. When you’re huffing exhaustedly from effort on something in your life and every breath seems unnoticed. Places where you seem invisible despite screaming until your face is blue. When enough is not enough.

For this problem, i present the Dunning-Kruger Effect. It is a principle that states the highly skilled often underestimate their competence, and that the extremely confident can be unable to recognize their incompetence.

Relax

When you think you’re the only one who cares, or the only one working, maybe you are. But according to Dunning-Kruger, it also means you could be highly competent and are already over-achieving. You may be unable to recognize that you’ve gone farther than needed because you always think you haven’t done enough.
Continue reading “When Enough Is Not Enough”

Breathing Room

I know it seems ridiculous to tell you to do something you already do instinctively. I also am a human who was born to breathe. However you might be surprised how much stopping and actually focusing on breathing can make things easier.

Break The Stride

Very often, in a job which requires much thought and much pressure, things can get very tense. You are being paid to come up with a solution. you are on the clock to troubleshoot this problem today. There is not time to stop and take a break, these clients need consoling, this issue needs to be wrapped up, etc.

But a “break” does not necessarily need to mean stopping what you are doing, leaving the room, taking a walk or getting refreshments. You can take an internal break in your body and mind. You can teach yourself to transcend above the stress and give your mind a small but needed rest in less than 5 minutes.
Continue reading “Breathing Room”

Skill Shifting

As a person who has worked as a hardware/electronics technician for many years, I am often wondering what skills do i already have which will be useful in web development. I have worked many jobs in the last 25 years, and built up a pretty good skill set based on making mistakes and learning from them. I’m going to brainstorm a little bit here and see if i can’t find some common ground.

Comparison

in The 4 Most Important Skills for a Software Developer, Simple Programmer says the four skills of a good software developer are:

  1. Solving Problems
  2. Teaching Yourself
  3. Naming
  4. Dealing with People

Based on this list, it seems that the job of a programmer, language skills aside, are somewhat the same as that of a mechanic, or hardware technician who repairs objects.
Continue reading “Skill Shifting”

Professionalism Redefined

A professional is a member of a profession. The term also describes the standards of education and training that prepare members of the profession with the particular knowledge and skills necessary to perform the role of that profession.
Wikipedia.com

What this quote from Wikipedia is saying is true, a professional is basically a person playing a structured role in a profession, but for my first post on this blog, i want to describe it as something more.

Redefining

For me, a role or part in a structured theme is only part of the picture. The professional needs to be me. I need to be a major player personally, in the world i choose to stake my claim in. There should be very little difference between who i am personally and how i approach my work.
Continue reading “Professionalism Redefined”