I was emailing with a friend Kevin Closson recently and he wrote:
hey, on a different note, I saw your flickr and surfed there a bit. I have to say that you have a really good eye for photography...I especially enjoys those of Eastern Europe...very nice!
Nice compliment, have received others like it in the past about my photos (maybe it is true :), but it made me think for a moment.

How did I learn to photograph? Well, it started with I was about 16. I bought a Ricoh 35mm SLR camera. And then I bought film. Film cost money. Developing film cost more money. You thought about the pictures you were going to take. You set them up, you spent time getting just the right shot. You had to get it right the first time. You were not going to get instantaneous feedback (heck, one hour developing was "new" back then - and really expensive). Normally, I would have to mail my film in and wait for it to come back (days, or more likely week/weeks later).
So, the quality of the shots - back then, each one had to be of the highest possible quality. You didn't get 2nd, 3rd, ... 50th tries. You learned the fundamentals, you read a lot about the topic, you asked questions. You tried to become as expert as possible. All to get one good shot.
Now we have digital cameras. You can take hundreds of shots, thousands actually, for nothing. There is no penalty for the bad shot. Getting it right the first time around - doesn't count. Just take enough photos and something is bound to look OK. Reminds me of a saying we used to use on the project (that made me quit my first ever job):
Even a blind squirrel occasionally finds a nut
We said that because the project was so "not scoped out", no one had a clue where to begin or what to do.
I think some of my photos are good because I learned the fundamentals - I had to learn what went into making a good shot, what would work and what would not work. There wasn't a second chance, you needed to do it right the first time around. In order to take good photos, you need to know the fundamentals of setting up a shot. You will not frequently find a nut by accident.
Then I thought about programming, developing software. I didn't learn inside of a debugger. I didn't write code "on they fly, making it up as we go along". I had to write maintainable code - maintainable by me or others. I had to write code that would not even run on the machine I was logged into (we submitted the code in JCL, compiled it on the other machine, then ran JCL to run the code). I could not compile locally. I could not execute locally.
Want to guess how many times my code would compile on the first or second try?
Without debuggers (crutches I think they are mostly - they can be useful in some small set of cases but in general, they make you lazy), I had to write code defensively, it was heavily instrumented. Sometimes the diagnostic output was much larger than the program output (many times actually).
Want to guess how often that code would run "correctly" and if it didn't - it would immediately fail with something useful to diagnose the error with? No "when others then null;" to be found in that stuff.
So, in the course of asking permission to quote Kevin's email, we got to discussing "fundamentals". He wrote:
...funny (odd) you say that because I use that concept as a topic on occasion when I present technology. Not in a preaching way, other than preaching to the converted I suppose, but the idea that the fundamentals are being waxed over and lost seems to resonate with people. I know for certain platform fundamentals are not as interesting to people these days as they were in the open systems tech run-up of the 90s. Back then you could get DBAs / Developers / managers to sit in on platform discussion much more that these days and I'm quite certain it is a reflection of just how stinking overburdened these datacenter professionals are these days. Barely enough time to gain proficiency in their core interest, more less broaden their horizons. So, all too often that lack of low-level knowledge winds up biting folks...
I think that is the nail being hit on the head. It aggravates me - how many people feel the need, no demand for themselves, "instant expertise", which is really "I am just good enough, probably". Good things take time, see the 10 years comment there...