Joel Spolsky on UI design, software development, management

Replies:

  • None.

Parents:

  • None.
I discovered this site a couple weeks ago:

   Joel on Software
   Thoughts on software development
   http://joel.editthispage.com/

linked from http://www.scripting.com/ which has recently become
one of my favorite places to find good stuff to read.

There are lots of great articles here on software development,
management, and user interface design, especially:

User Interface Design for Programmers
Chapter One: Controlling Your Environment Makes You Happy
http://joel.editthispage.com/stories/storyReader$51

:
> So that's what days were like. A bunch of tiny frustrations, and
> a bunch of tiny successes. But they added up.  Even something
> which seems like a tiny, inconsequential frustration affects your
> mood. Your emotions don't seem to care about the magnitude of the
> event, only the quality.
>
> And I started to learn that the days when I was happiest were the
> days with lots of small successes and few small frustrations.
>
> Years later, when I got to college, I learned about an important
> theory of psychology called Learned Helplessness, developed by
> Dr. Martin E. P. Seligman. This theory, backed up by years of
> research, is that a great deal of depression grows out of a
> feeling of helplessness: the feeling that you cannot control your
> environment.
>
> The more you feel that you can control your environment, and that
> the things you do are actually working, the happier you are. When
> you find yourself frustrated, angry, and upset, it's probably
> because of something that happened that you could not control:
> even something small. The space bar on your keyboard is not
> working well. When you type, some of the words are stuck
> together. This gets frustrating, because you are pressing the
> space bar and nothing is happening. The key to your front door
> doesn't work very well. When you try to turn it, it sticks.
> Another tiny frustration. These things add up; these are the
> things that make us unhappy on a day-to-day basis. Even though
> they seem too petty to dwell on (I mean, there are people
> starving in Africa, for heaven's sake, I can't get upset about
> space bars), nonetheless they change our moods.

Yeah!!!

This, more than any other reason, is why I am unable to use
Microsoft software. It annoys me as soon as I start using it,
and I have no control over the way it works, unlike Linux where
I have absolute control over everything.

User Interface Design for Programmers 2
Chapter Two: Figuring Out What They Expected
http://joel.editthispage.com/stories/storyReader$55

User Interface Design for Programmers 3
Chapter 3: Choices
http://joel.editthispage.com/stories/storyReader$61

> Every time you provide an option, you're asking the user to make
> a decision. That means they will have to think about something
> and decide about it. It's not necessarily a bad thing, but, in
> general, you should always try to minimize the number of
> decisions that people have to make.

User Interface Design for Programmers 4
Chapter 4: Affordances and Metaphors
http://joel.editthispage.com/stories/storyReader$71

Where do these people get their (unoriginal) ideas?
http://joel.editthispage.com/stories/storyReader$75

[ on effective management of knowledge workers ]

> Here's the trouble. We all know that knowledge workers work best
> by getting into "flow", also known as being "in the zone", where
> they are fully concentrated on their work and fully tuned out of
> their environment.  They lose track of time and produce great
> stuff through absolute concentration. This is when they get all
> of their productive work done. Writers, programmers, scientists,
> and even basketball players will tell you about being in the
> zone.
>
> The trouble is, getting into "the zone" is not easy. When you try
> to measure it, it looks like it takes an average of 15 minutes to
> start working at maximum productivity.  Sometimes, if you're
> tired or have already done a lot of creative work that day, you
> just can't get into the zone and you spend the rest of your work
> day fiddling around, reading the web, playing Tetris.
>
> The other trouble is that it's so easy to get knocked out of the
> zone.  Noise, phone calls, going out for lunch, having to drive 5
> minutes to Starbucks for coffee, and interruptions by coworkers
> -- ESPECIALLY interruptions by coworkers -- all knock you out of
> the zone.  If you take a 1 minute interruption by a coworker
> asking you a question, and this knocks out your concentration
> enough that it takes you half an hour to get productive again,
> your overall productivity is in serious trouble.  If you're in a
> noisy bullpen environment like the type that caffinated dotcoms
> love to create, with marketing guys screaming on the phone next
> to programmers, your productivity will plunge as knowledge
> workers get interrupted time after time and never get into the
> zone.
>
> With programmers, it's especially hard.  Productivity depends on
> being able to juggle a lot of little details in short term memory
> all at once.  Any kind of interruption can cause these details to
> come crashing down.  When you resume work, you can't remember any
> of the details (like local variable names you were using, or
> where you were up to in implementing that search algorithm) and
> you have to keep looking these things up, which slows you down a
> lot until you get back up to speed.

Painless Software Schedules
http://joel.editthispage.com/stories/storyReader$31

> 12) Never, ever let managers tell programmers to reduce an estimate.

Things You Should Never Do, Part I
http://joel.editthispage.com/stories/storyReader$47

> [Netscape made] the single worst strategic mistake that any
> software company can make: They decided to rewrite the code
> from scratch.

I think I disagree with most of this one (especially as applied
to Netscape 4.0), but it's interesting anyway.

two stories
http://joel.editthispage.com/stories/storyReader$8

> I want to tell you two stories from my career which I think are
> classic illustrations of the difference between tech companies
> that are well-managed and tech companies that are disasters. It
> comes down to the difference between trusting employees and
> letting them get things done, versus treating them like burger
> flippers that need to be monitored and controlled every minute,
> lest they wander off and sabotage everything.

The Guerrilla Guide to Interviewing
http://joel.editthispage.com/stories/storyReader$20

> First of all, the #1 cardinal criteria for getting hired at
> PaxDigita:
>
>     Smart, and
>     Gets Things Done.

I signed up for email bulletins so I don't forget to go back:

   http://joel.editthispage.com/member/signup

--
Gerald Oskoboiny <gerald@impressive.net>
http://impressive.net/people/gerald/

HURL: fogo mailing list archives, maintained by Gerald Oskoboiny