Fog Creek Software
Discussion Board

What do you want from this forum? Part II

Timothy Falconer wrote:

Personally, I'd prefer it if we stick to topics stemming from Joel's articles, such as writing functional specs, UI design, running a software company, interviewing, the software industry, great books, software marketing, project management fundamentals, etc.

Do we really need another how-to resource for specific programming technologies?

So the answer is... ask Joel... and see his ADO vs. ADO.Net topic... :-)

Just watching...
Friday, March 22, 2002

One thing I haven't found yet here is something that can help me do requirements engineering. I would think this is a critical first step to any project. How can you tell if your requirements document is complete or comprehensive enough or done correctly? I think specifications are requirements are often different. What makes a good requirements document and what are these "shall" and "must" documents?

Friday, March 22, 2002

John, This is something I'm struggling with as well. There are probably as many philosophies on this as there are people gathering requirements.

I'd say the requirements are complete when you can logically think through what the user wants to do and get from start to end without any gaps. This is hard to do because you mentally leap from point to point and make lots of assumptions that, during coding, you realize you need.

That's why it takes someone who's been through the process a few times, or someone who's logical, thorough, and even if he doesn't do it, can generate a good flow chart, to write the requirements.

Tools like Use Cases certainly help you do this because they depict every action the user may take on the system and you tend to be more thorough when you can draw pictures rather than do it in words.

That said, I'm not sure requirements are every really complete, at least, not in reality. In a sense, Joel is still gathering requirements for CityDesk. Not because we're asking for new things (those would be new requirements, I'm talking about revising the old requirements) but because we're doing things in unexpected ways.

I'm interested in testing the Extreme Programming philosphy next time I have to gather requirements. Have them write out in discrete chunks the functions they want. Then sit down and translate those requirements into bits of code that can be programmed in 1-2 days.

This way when they say "Log In" and you sit down and try to figure what bits of code will be required for log in, you realize you don't know whether or not they need SSL, what the profile will be (name/id/password? what about e-mail address?), how to retreive a forgotten password, etc.

These things get easier with experience.

Mark W
Saturday, March 23, 2002

Good point about "off topic" posts.  I haven't wanted to get too involved in these "Let's get this board back on topic" because pretty soon half the non-flame messages deal with how to moderate the board.

I do have an idea on how to limit extraneous stuff.  I feel a lot of people (not just on this board) will just jump and express and opinion when they haven't gotten the measure of the board.  Or someone will post a question that deals with their homework.  And so forth.

I had an idea of preventing users from posting for thirty days after they had an account.  This prevents casual people that come and go without much thought from jumping in immediately.  With Joel's system that could be done with with the values in the cookie.  Of course, there are ways to get around the system, but the key is that it increases the intial barrier a bit.

I also like the idea of not having threads.  Of course, when I pitch these sort of ideas to clients they look at me like I'm losing it-so I haven't impliemented this idea on a professional level.

Razib Khan
Saturday, March 23, 2002

I think I addressed this in an earlier post. The ease of posting to Joel's board adds to the casual feel.

This is *great* when it stays on topic. For example.

<funny example>
"Joel is Omnipotent"

Today I discovered I'm brilliant, my IQ is 6,432. Which is way higher than Gary Coleman's in that miserable movie from the mid 80's about the kid with the 200 IQ everybody made such a fuss about. I've found that by concentrating, I can change the spacetime continuum. In fact, as you read this you might find yourself growing a third arm simply because I embedded that power into this web page as a java applet.

</ funny example>

Great, any casual reader can talk about the impact of this, and you'll notice that these threads are the ones that stay on topic.

On the other hand, it allows anyone to post anything, and you'll notice it's the threads started by people who have nothing better to do than read bulletin boards all day that go off topic.

Here's my solution that would require a little of Joel's programming time if he decided to implement it (read: a lot of Joel's programming time):

Anyone can post to any thread the same as they're doing now, but you have to register to start a thread.

On the other hand, I don't really have much of a problem with the way things are, I like chaos and I hate censorship.

Mark W
Saturday, March 23, 2002

Mark W,

You are absolutely right.

Just watching...
Saturday, March 23, 2002

Is it just me or has this board been divided into two camps.

1) people who like joel, are generally friendly, and don't dislike microsoft

2) people who hate joel, are generally unfriendly, and hate microsoft

maybe it's more complex than that, but that really seems to be the long and short of it.

Mark W
Sunday, March 24, 2002

Do you think that many of the people in group 2 could have arrived here from Slashdot?

Ged Byrne
Sunday, March 24, 2002

I think like most other black-and-white divisions, that one doesn't quite capture reality. In my own case I'm quite friendly towards Joel, try not to indulge in flaming myself -- but despite having subcontracted for them in the past, I am at very least intensely suspicious towards Microsoft. I think by and large most people here are still contributing to interesting discourse, even though perhaps we tend to be a little bit too promotional for our own tools of choice.

Mike Gunderloy
Sunday, March 24, 2002

suspicious towards Microsoft is different from openly hostile.

I agree, absolutes are never absolute, but they're fun to play with to expose something more subtle. It'd be impossible for me to say "Is it just me or are there fifteen shades of gray here?" Nobody would see it.

Mark W
Sunday, March 24, 2002

>So the answer is... ask Joel... and see his ADO vs. DO.Net topic... :-)

Point taken, though I'm not sure why this warranted a new topic. 

Probably because it's too difficult to scan through old topics to see what's new (and the visited link thing definately doesn't work consistently, nor is it easy to see where the new messages are (other than thinking... hmm... that seems familiar).  Also doesn't allow for viewing on different computers (links are all different).

Timothy Falconer
Sunday, March 24, 2002

I want people who say; "I disagree with your post for these well thought out reasons. 1, 2, 3." Who cares what the topic du-joure is.
Rather that than people who flame away anytime the hot-button word is mentioned (MS, Linux, age discrimination, ect.).
Anyone who says I am wrong in my opinions, but can only say I am a fool for thinking the way I do will never change my thinking.

Doug Withau
Monday, March 25, 2002

I don’t know what’s up, but I’ve tried making 4 or 5 posts lately, and none of them have gone through.  Sounds like a common complaint lately.  Anyway, since I write them off-line I still had all the content.  So I compiled them into this massive …

Random thoughts on joelonsoftware

I started coming to this site on a regular basis about two months ago.  Before that, I would follow the occasional link here from Elliote Rusty Harold’s (it’s Java-centric, but also a nice site for a quote of the day and a few links to interesting readings).  After the 3rd or 4th time I followed a link to this site, I decided to delve further and see what it’s all about.  I discovered that I liked the site a lot – I’m sure for the same reasons everyone else here does.

Maybe I have a short-term perspective, but…

It seems like the quality of the discussions has dropped off dramatically in the last few weeks.  I don’t think there’s much that can be done about that (I have an image in my head of an old Bloom County strip with Opus shouting “Entropy Rules!”).  Requiring a password or monitoring discussions would cut into the free flow nature of the forum that makes it attractive in the first place.  I hate forums that require passwords and rarely go to them any more – too much hassle.

As for the detractors of this site…

I think they can actually add a lot to the discussions.  But, there’s a big difference between being passionate about your viewpoints and being over-zealous.  I never trust Democrats who only read The Nation or Republicans who only read The National Review.  If you never stray outside your ideological comfort zone, you’ll never broaden your perspective.  There are intelligence people with good ideas on each side of every fence.  If you disagree with a viewpoint of Joel’s or anyone else’s, then clearly state what you disagree with and why.  Use a logical argument, then let it go.

As for open source…

I like the idea, but it’s not a focused effort.  I have seen some posts that lead me to believe that there is an ideological battle between Open Source and GUI/Usability proponents.  I don’t want to put words into other people’s mouths, but the point that I believe usability proponents are making is that Linux et al. need to have user friendly interfaces before they will really succeed in the home and office desktop market.  Unfortunately for some, usability and expected behavior will always be defined by the market leader, and Microsoft has a big head start.

I recently played with a Linux box at a local computer store, and it was God-awful!  I’m sure it’s a great, robust platform for the server side, but it’s not quite ready for the prime time desktop market.  Similarly, I had my first exposure to Unix when taking a C++ class a couple of years ago.  X-Windows did nothing I expected it to do when clicking, right clicking, or double clicking.  It took me 15 minutes to figure out how to print a text file.  And, my first thought when using the command line was, “Why is the university forcing its graduate students to use this?  Is it short on funds?”  It reminded me of using DOS 10 years ago.  Sure, I know better now, and you are free to deride me as an idiot, newbie, etc.  But I do have an engineering degree in another field, so I like to think that I’m not an idiot when compared to the average PC user.  [Daily Affirmation: I am good enough, I am smart enough, and doggoned it, people like me!]

So what’s my point on open source?  If you’re into it, then do it.  Put together viable alternates to Microsoft’s products if that’s your aim.  Or, do something that will really benefit the greater good.  Write a low end MRP system that could be used by small businesses in developing countries.  Write software to reduce or eliminate the paperwork bureaucracies that plague cash-strapped local government agencies, e.g. school systems.  Write educational software to teach kids math, physics, chemistry, …  But don’t write another text editor (or whatever) and spend all your time on message boards blasting evil empires.  It’s non-productive and trite.

I’m not a doctor, but I play one on TV…

I’ve seen comments that newbies have taken over and ruined formerly good message boards.  That’s just the nature of Internet (see Opus above).  Don’t flame them - not only for their sake, but for yours too.  Most flames aren’t nearly as clever as the poster thinks they are. Unlike Kindergarten, there is such a thing as a stupid question (or as ESPN U. puts it: there are no stupid questions, just stupid people that ask questions).  That said, posting an inane retort to a newbie question makes you look just as bad or worse than the original poster.  Instead, point them to a site that’s better suited for the topic, such as or the Usenet listings on Google Groups.  Or, simply answer their question.  I believe it was Mike Gunderloy that made the remark recently about newbies taking over and ruining good message boards.  Despite that, I have subsequently seen Mike post straightforward and helpful replies to newbie questions.  Kudos to Mike for behaving with class.  Some people think that the cloak of anonymity that the Internet provides is a valid excuse for being a jerk.  If you’re not a jerk in real life, don’t play one on the Internet.  If you are a jerk in real life, go to the un-moderated boards on Usenet.  It seems to be where they like to congregate, based on all the flames I’ve seen there.

If the newbie question is an obviously homework assignment with no earnest attempt to figure the problem out by themselves, then ignore the last paragraph.

Newbies and bad programmers…

One of the problems with the software field is that many people jumped into it in the last ~ ten years without any formal training. It this bad? Absolutely not! There was a larger demand for these positions that the supply of formally trained software engineers could not fill. The root cause of this was a sharp upturn in global economic growth. That economic growth was good for everyone. So, complaining about the number of hackers that are really just hacks is tantamount to saying that you wish we’d had economic stagnation for the last decade.

Bothered my questions from newbies or others that don’t know what the hell they’re talking about?  Offer to mentor one.

On flames in general…

You might gather that from my previous comments, that I am anti-flame.  I am only for those who’ve asked earnest questions only to be verbally smacked by an arrogant ass. Other flames are okay in my book. I love a good smart ass remark just as much as the next guy.  But only funny ones. And, remember, just because your mom thinks you’re funny doesn’t mean you are.  Most people aren’t.  The one computer certification that the Internet really needs is Certified Flamer.  I can picture the business card now, Joe Blow, Systems Analyst, MCSD, SCJP, Brainbench Certified Flamer.  Sure, many of us visit this forum for the intelligent discussions.  But, ultimately, it’s a pastime – a form of entertainment.

On the future of software engineering…

Despite the doom and gloom forecasts of some people in this forum, software development is still a growing field with relatively good salaries (maybe not “lucrative”, but that’s subjective).  Here’s my supporting evidence. (1) Scanning the shelves at a bookstore last month, I skimmed the preface to an embedded-systems programming book.  One thing that it stated has stayed in my head. The author had made a decision to go into embedded programming when he looked around him at all the devices that contained chips.  Each one of those chips required embedded programming.  Do you think the number of devices with chips will grow or shrink in the future? (2) A recent announcement by the federal government stated that 50% of federal IT workers will be eligible to retire by 2006. (3) ITAA forecasts a continued shortage of IT workers for, I think, ever.  [Okay, so ITAA seems to be primarily an industry lobbying group, so their numbers always appear inflated.]  (4) I work for a manufacturing company with ~800 employees.  Three years ago we had no in-house programmers.  Now we have 3.  Not a huge number by itself, but if you replicate that across all of the small and medium sized firms that are realizing considerable cost savings from automating processes, then I would expect to see continued growth in that arena. (5) The Internet sector isn’t the only sector of the economy that’s down.  When the general economy rebounds, so will the demand for IT jobs. The Internet economy may be badly wounded, but I doubt it’s dead.  But, I would expect a lot of the IT jobs to be in non-IT companies – see (4). (6) Many major software development projects may go offshore, but it’s very difficult to gather requirements from 6000 miles away.  So high level positions will always be in demand.  For smaller projects, see (4) again.

On over-35 developers…

A lot of people forget that interviewing is a two-way street.  The company may be interviewing you, but you should also be interviewing the company.  As supply increases and job demand weakens, this two-way becomes a one-way really fast. But generally, potential employees should screen the company to ensure that it’s a good match for them as well.  Given that, if a company doesn’t want to hire you because you are over 35, then they just didn’t make it through the first round of YOUR interview process.  Life at a company like that probably wouldn’t be much of a life anyway.

On what I want out of joelonsoftware…

I want intelligent discussions, advice, direction, inspiration, and entertainment. Perhaps without realizing it, a couple dozen of the stalwart members of this forum have provided me with implicit mentoring.  I am a non-CS engineering manager bored with my current career path and am considering a career change to software engineering.  I’ve taken in some of the better advice from these columns, and my approach to the transformation is definitely different than it was 2 months ago.  I’ve put aside the SQL Server, ASP, and .NET books for the time being and have started over with K&R C.  I also now have a strange desire to learn assembly, Lisp, and a few other languages that wouldn’t help me find immediate employment.

Since I’m gainfully employed, I’m giving myself a couple of years to make the transformation.  In the meantime, I’m gathering a home-brew BS in CS list of study topics and books to read.  Suggestions would be helpful.  In my view, many books on Joel’s list and the books others have suggested fall into the “already have a CS degree” category.  I’m looking for the subject matters and supporting texts for a core CS degree.  I’m scanned some university sites, but my fear is the textbooks are often dry ones written by someone in CS department staff (I’ve actually seen quite a few of these).  I want a list of good ones.

On really, really long posts…

Hate ‘em.  Violates my own ‘don’t make me think’ rules.  Sorry.

Nick Hebb
Wednesday, March 27, 2002

I haven't done much delving into it, but The Well ( - Whole Earth eLectronic Link) seems to satisfy a number of your requirements for non-anonymity and intelligent discussion. You do, however, have to not only create an ID, but pay money for it.

Apparently this keeps the discussion on an intelligent level. You have to use your real name (my last name would cease to be "W" there...).

I remember seeing a news story on a woman's forum online. I think it was free, but in order to create an ID you needed to supply their phone number. They would call you to verify that you were a woman before you could sign up. They also said that the discussion would be dull as dirt to men who might want to lurk. Another thing was, unlike AOL, which at the time was still big for BBS users, you couldn't easily change your ID.

In other words, I agree that anonymity makes people jerks. Just like the Disney cartoon where Goofy becomes an a*hole the moment he gets into his car.

Mark W
Tuesday, April 09, 2002

*  Recent Topics

*  Fog Creek Home