froofy dream-big stuff/making things


One thing I like about building software is that failure is normal. You have to try so many different approaches, and so many of them don't work. Some approaches fail at the idea stage; a few fail after you've spent days or weeks seemingly close to making them work. Each failure is painful.

If you were building a bridge or a putting out a fire, failure would be a total loss: materials wasted, property destroyed. But in making software, failure is actually a form of progress. When you're exploring the boundaries of what's possible, you're often going to set your sights beyond those boundaries. In making software, you're constantly reminded of this. As a result, you either get disparaged and start doing less risky, less creative work—or you learn to treat failure as an experimental result that confirms the value of the endeavor.

People who really care about making software know this. It's spread throughout the culture: good programmers, managers, execs, and even venture capitalists know the value of failure. For all the shortcomings of techie culture, it is this courage that redeems us. And because technology is an ever-increasing part of the world economy, the world is on a cultural path toward valuing failure and away from denigrating it. The effects ripple far beyond technology, making now a better time than ever to be creative.

link

When I was an Israeli paratrooper a general stopped by to give us a little speech about strategy. In infantry battles, he told us, there is only one strategy: Fire and Motion. You move towards the enemy while firing your weapon. The firing forces him to keep his head down so he can't fire at you. (That's what the soldiers mean when they shout "cover me." It means, "fire at our enemy so he has to duck and can't fire at me while I run across this street, here." It works.) The motion allows you to conquer territory and get closer to your enemy, where your shots are much more likely to hit their target. If you're not moving, the enemy gets to decide what happens, which is not a good thing. If you're not firing, the enemy will fire at you, pinning you down.

How does this relate to software? If you're supposed to be making a product but keep on being distracted by the barrage of buzzwords, you're pinned down. Keep moving, even a little bit, every day.

Also good by Joel: an article on measurement dysfunction in the workplace.

link

Suppose someone, call him Mr. A, has an idea that he believes is ready to deploy, or is requesting comments as he is getting ready to deploy. So he posts an RFC, usually on a mail list or a website, in the hope that people will spot a problem and help him figure out a solution; or find no problems and co-develop an implementation, or develop a compatible implementation. In theory, the Internet is a collegial environment, with lots of people who want to do new stuff, where one should expect to get this kind of help.