# Thursday, February 26, 2009

Michael Feathers put together a list of ten papers that "every programmer should read". I've seen such lists before, and this one is pretty good. I've read Parnas and Cunningham and draw on that background pretty regularly. I'd heard of some of the rest. But the real fun begins in the comments. People suggest additions (Fred Brooks - definitely! Joel Spolsky - why not?) and then other people start saying that reading, especially reading stuff from 20 years ago, just makes you an academic and not useful. Oh my.

I'm useful. I've written a lot of code that's made people's jobs and working lives a lot easier. I've written systems that have transformed companies and enabled them to survive business model changes they thought would sink them. I've rescued projects and made developers better than they were time and time again. And I'm academic. I have a Ph. D. for heavens sake, I teach at a university (no, not full time, one course a year), and when someone uses the word "academic" or "intellectual" as an insult, and I object, they tell me "you're not that kind of academic, not the kind I meant." Well honey, to paraphrase Gloria Steinem, this is what academic looks like. Reading 20 year old white papers and thinking about concepts and theory is one of the things that makes me useful. Folks who just want to get started and type some code and not bother with that high falutin design stuff tend to write bad code.

Grrr. Read the list, maybe read a few of the papers (as the commenters mention, Michael's links are to a site that will charge you to read them, but if you have the author and the title your favourite search engine will undoubtedly help you find free copies lying around on the web) and think a little about why it would be an insult to say that someone cares about history and theory.

Kate

Thursday, February 26, 2009 8:20:42 AM (Eastern Standard Time, UTC-05:00)  #    
# Wednesday, February 25, 2009

Steve McConnell has a training company, Construx, that is not like other training companies, mostly because Steve is not like other developers. As it says on his web site:

Steve is the author of Software Estimation: Demystifying the Black Art (2006), Code Complete (1993, 2004), Rapid Development (1996), Software Project Survival Guide (1998), and Professional Software Development (2004). His first two books won Software Development magazine's Jolt Excellence award for best programming books of their years.

Steve has worked in the desktop software industry since 1984 and has expertise in rapid development methodologies, project estimation, software construction practices, and third-party contract management. In 1998, readers of Software Development magazine named Steve one of the three most influential people in the software industry along with Bill Gates and Linus Torvalds. Steve was Editor in Chief of IEEE Software magazine from 1998-2002.

There are very few authors who have multiple books on my bookshelf that I paid for. Steve is in rare company there. And the courses they offer? We're not talking "Introduction to Silverlight" or "A First Look At Sharepoint" here. This stuff is more university-like: concepts, theory, the big picture. Some upcoming titles:

  • Object-Oriented Requirements Analysis and Design Using the UML
  • Professional Tester Boot Camp
  • Enterprise Agile: Planning, Managing and Scaling Agile Projects Using Scrum
  • Requirements Boot Camp
  • Software Estimation in Depth

These are the kinds of courses that change the kind of developer you are, not just teach some new syntax or tool. And they cost thousands of dollars. But Steve has decided that fully one quarter of the seats in each class will now be available for free to people who have been laid off. If you can get to Bellevue WA, you should arrange to take one of these courses. No question about it.

Kate

Wednesday, February 25, 2009 8:02:48 AM (Eastern Standard Time, UTC-05:00)  #    
# Tuesday, February 24, 2009

Here's a list of ways to be a superstar at work, from GL Hoffman. It applies equally to a 19 year old close to me who's starting her first full time job, or to developers who want to work for me. The examples in the article are aimed at a 20-something working in an office full of older people, in a vaguely technical capacity, and is kinda Web 2.0 ish, but the principles are far broader than that. My two favourites: See Work and On Time. But read them all.

Kate

Tuesday, February 24, 2009 8:00:58 AM (Eastern Standard Time, UTC-05:00)  #    
# Monday, February 23, 2009

No, I'm not speaking metaphorically. Apparently in this day and age, on this continent, people are being held against their will, beaten and abused, and forced to work for little or no pay. There's no evidence of an actual slave trade, with people sold from one owner to another, or of babies being born into slavery, but nonetheless there are North American slaves today. Perhaps it's no surprise that the task they are set to, harvesting crops in the warmest parts of the USA, is what most of us have in our heads when we think about long-ago slavery on this continent.

This well researched article in Gourmet, and the articles to which it links, lay it all out. There is no dispute that at least some agricultural workers were in fact enslaved. The only issue is whether it's really common or an isolated incident. Here's a quote:

But when asked if it is reasonable to assume that an American who has eaten a fresh tomato from a grocery store or food-service company during the winter has eaten fruit picked by the hand of a slave, Molloy said, “It is not an assumption. It is a fact.”

Hm. Another reason to eat locally and seasonally. I do realize that our insistence on the lowest price for everything is one of the pressures that make abuses like this seem a reasonable course to some people. The article concludes with this suggestion if you, like me, like to buy tomatoes in the winter:

... take advantage of the fact that fruits and vegetables must be labeled with their country of origin. Most of the fresh tomatoes in supermarkets during winter months come from Florida, where labor conditions are dismal for field workers, or from Mexico, where they are worse, according to a CIW spokesman. One option during these months is to buy locally produced hydroponic greenhouse tomatoes, including cluster tomatoes still attached to the vine. Greenhouse tomatoes are also imported from Mexico, however, so check signage or consult the little stickers often seen on the fruits themselves to determine their source.

Kate

Monday, February 23, 2009 7:54:57 AM (Eastern Standard Time, UTC-05:00)  #    
# Sunday, February 22, 2009

If you've been to a big conference in the past few years you'll have seen the name David Platt on the speaker list, and usually scheduled into the big room. Dave's superbly entertaining speaking style delivers valuable information about user interface design and genuinely meeting the needs of the folks who use the systems you're developing.

Here's an interview with Dave recorded at Tech Ed, and on the Tech Ed Europe sessions page, if you click through to page 2, you can see the one hour version of his talk.

Since Dave mentions used car salesmen in his interview, I'll share a little joke with you. What's the difference between a computer salesman and a used car salesman? The used car salesman knows when he's lying to you.

Kate

Sunday, February 22, 2009 7:46:57 AM (Eastern Standard Time, UTC-05:00)  #    
# Saturday, February 21, 2009

One of the major reasons to go to Tech Ed is to meet other people in the industry. Everyone says you get the best jobs, the best advice, the best learning opportunities if you happen to know a lot of people, and the way to know a lot of people is to meet people and talk to them. But haven't we all had trouble finding someone to speak to at conferences? I always seem to end up at a table of sysadmins who know more about PowerShell than would seem humanly possible, or some hardcore DBA types who spend the lunch swapping tales of index problems from hell. If they're having a really technical conversation that's over my head, that's a meeting opportunity come and gone.

Over the years Tech Ed has tried lots of ways to help people find like minded people to talk to. Once you're on site, there are Cabanas or Track Lounges or whatever they call the informal place from year to year. These are great. But what about in the months leading up to Tech Ed? This year, there's something called Tech Ed Connect. You enter some details about yourself and are shown a map where people with similar interests appear closer to you. Mouse over someone and you see their user name (looks like many people are using their name, or initials) possibly a picture, and some details.

(I had to put IE8 in compatibility mode to see the map, by the way.)

You also get a "quick connect" card that can help people find you using this site. Here's mine:

Join Me at Tech·Ed Connect 2009!

Give it a whirl!

Kate

Saturday, February 21, 2009 10:11:12 AM (Eastern Standard Time, UTC-05:00)  #    
# Friday, February 20, 2009

Some time ago, I told you about an issue with the Tech Ed DVDs and Silverlight versions. I also gave you a workaround for how to play the sessions after looking up the session numbers in a PDF document that functioned as an index. Now Laurent Duveau, a Canadian MVP, has gone one better ... he's written a utility that will fix up the index on the DVDs so you can have an all-electronic experience. Nice work!

Kate

Friday, February 20, 2009 9:50:13 AM (Eastern Standard Time, UTC-05:00)  #    
# Thursday, February 19, 2009

Another Dan Griffin sample you might want to look at is the EC2 Console. I think his description from the first post in that category sums up his approach very nicely:

The purpose of the EC2 Console, like the other ones, is to demonstrate an attractive (WPF-based), novel, and useful application on Windows. In this case, we chose as our vehicle a helpful control panel for Windows developers who are new to cloud computing and would like to experiment with Windows Server, ASP.NET, and MS SQL on Amazon’s EC2 platform.

As it happens, Amazon already has an EC2 console (currently in Beta). But we’re going to differentiate ourselves from that in two ways. First, our EC2 Console will be specific to developers targetting Windows, and we can automate many administration tasks given that assumption. Second, our console (again, a WPF client app) will exhibit the kind of superior usability that is very difficult to achieve via the browser.

Client applications have many more advantages than just offline availability. Here's an application that's only useful when you're online, but is going to be a client application anyway. Follow along and see why.

Kate

Thursday, February 19, 2009 9:44:22 AM (Eastern Standard Time, UTC-05:00)  #