in Search
Welcome to Neopoleon - Sign in | Join | Help
Navigation: Home | Forums | Galleries

I *think* I'm right, but I want some opposition...

Am I right, or are you right? (Please read the rest of this post before you respond (unless you plan to be really funny, in which case you should feel free to begin commenting immediately))

My Opinion

As someone who basically talks for a living, I’ve spend a good deal of time thinking about what the best way to give talks might be.

A very common criticism on the evaluation forms that we presenters get following an MSDN Event is that the content wasn’t “real world.” By “real world,” attendees are often referring to the code in the demos. We aren’t writing or presenting “real” applications during our talks.

I’ve given presentations both ways – some with real world stuff, and some with just enough code to get the point across, and I’ve pretty much made up my mind: Generally speaking, I think that the talks which deal with least amount of code possible are the best. That is, I believe that talks which lean toward the conceptual end of things are much more valuable than talks which lead toward the implementation end. Details and implementation are, I think, best served by articles and books.

As if that weren’t enough, I even have reasons for believing so.

1) Your average talk lasts about an hour – the likelihood of the presenter being able to write a full blown app in this kind of time is obviously ludicrous, but I would also argue that it would be very difficult to get anything particularly meaningful out of an already written large app in this time either. The benefit of learning from a large app is understanding how all the bits fit together to make the whole. In talks, short as they are, you really just wind up learning about a few isolated components of the app, and receive little understanding about how they really alter the codebase.

2) As an audience member, you are not going to walk away from a talk that was end-to-end code with a clear memory of what happened. I’ve been to enough conferences and seen all the slack-jawed faces in the audience to know that there are definitely limits to what can be absorbed in an hour. It’s way too much detail. Even with a photographic memory, you’d still have to pay attention to everything and then attempt to digest it at a later time.

3) Without a conceptual framework upon which to build, there isn’t anything to which knowledge of the code can stick. Take Code Access Security for example – if you try to wrap your head around CAS by coding before trying to understand the system behind it, then you’re asking for trouble. If, then, you go to a talk on CAS, you should expect a large portion of the talk to be context-building, but my bet is that devs attending a CAS talk in which there is little code will walk out complaining.

4) Brushing large issues like CAS aside, consider the smaller things: Surely, they could be understood without a context? Sure - but if they’re that simple, then why don’t you just look at the API docs? Why even go out of your way to attend a talk?

That’s just some stuff off the top o’ the head. It’s been brewing for a while now, and even before the current job.

What do you think? Am I smoking the speaker-crack? I know that the vogue nowadays is “No Powerpoint,” but that shouldn’t necessarily have to mean “All Code.”

Anyway, just some thoughts on an afternoon in Boulder, Colorado…

(On a side note, have you ever spent so much time in VS.NET that, once out of it and in another application (like Word or something), you do silly things like hit ctrl+shift+b to compile the blog post you’re working on?)


After Blog Mint [?] :

Miki Watts has some good points about The CodeRoom (problem solving vs. pontificating). If you have any ideas for The CodeRoom, then feel free to email me – I’d honestly love to hear from you (I think – I could be wrong, though, but we’ll try it and see what happens).

Published Wednesday, April 27, 2005 2:19 AM by Rory

Filed Under: ,

Comments

 

Dave Corun said:

I've been doing a lot of training over the past year or so on .NET as well, and it *kills* me to read the eval sheets afterwards and see those same criticisms.

Even w/ small private classes, if you tailor the content directly to their environment you get the same comments.

For some people "real world" apparently means "doing the real work for them".

Indeed it's a fine line between consulting and training.
April 27, 2005 1:48 AM
 

Don Demsak said:

I don't know. I've done doing a bit of presenting lately, and I've been using real world examples and getting them in within 60 minutes. Yes, there is a lot of the code already templated out that they don't see, but I usually make a comment about it, and only talk about the parts that matter. I think Rory's issue is exactly why presenters don't use binding to custom collections and object models and instead use datasets. They think that they have to write every line of code in front of the audience. Why? Do you always start writing a project from scratch? Or do you use a framework of code that you have developed over the years? Most programmers are lazy and hate writing the same code over and over again, so we have a known framework that we use all the time. I think it is just an issue that the presenter feels as if they have to open up their favorite editor and write all the code in front of the audience, otherwise the audience wouldn't believe that this new feature was easy to use.

Now, if we could only get the presenters to start their presentations off by create a unit test, then we would be getting somewhere.
April 27, 2005 2:26 AM
 

Chris Sells said:

duh
April 27, 2005 2:49 AM
 

Joshua Flanagan said:

I'm with you, Rory. Give me the concepts. If you demonstrate the concept using a simple Northwind Traders app, I can concentrate on the details of the app. On the other hand, if you tried to create a CRM application in your presentation, and I happened to beworking on a CRM application in the real world, I think I would get distracted by the little decisions you made in your implementation, and get caught up thinking about the details of the app instead of the technology. When you use an obviously contrived example, I can safely put the details of the app out of my brain.

Don - I have to say I strongly disagree. As great as TDD may be, I don't believe it has any place in a limited duration presentation. Even TDD proponents admit that it requires extra time and coding to do test-first. Spending 50% of the coding time in unit tests, for a talk about a specific technology (not TDD methodology), sounds like a complete rip off. I understand you want to spread the TDD word by making speakers set a good example, but I think there are more appropriate ways (ex: encourage MS to include unit tests with all released source code, MSDN articles, etc).
April 27, 2005 2:54 AM
 

Philip Rieck said:

I agree with both you and Don (somehow).

You can't, and shouldn't, write a "real world" business app end-to-end when presenting on concepts. The concept becomes hidden by and mired in implementation details and trivialities that we don't care about, and are probably only applicable to this one app. Congratulations, you've lost the audience.


On the other hand, why demo data binding to datasets dragged onto the form from the server explorer? No-one ever does that with a real application, and no one will be able to "get past" that once they see it. Congratulations, you've lost the audience.

So, to sum up: I'm glad it's *your* job to present, because you have conflicting goals and constraints. good luck.
April 27, 2005 3:07 AM
 

Eric Gunnerson said:

I don't think it's really an either/or question.

I agree that the conceptual framework is important - some of the most important information that you can give in a talk is the rationale and high-level viewpoint about a subject.

The key question to ask yourself is, "Self, is there enough information in my talk for somebody to apply what I talked about to coding?". If you can answer that with a 'Yes', then you're probably hitting the right mix.

My preference has always been to keep things simple, so that I can highlight the salient points. "Real-world" details can get in the way.

I never found presentation feedback very useful. In any presentation, there are likely to be at least 10% of the attendees who will not be able to understand what you're talking about. There is likely a further 10% who could understand it if you went very slowly. You can't tailor your presentation for either of these groups, because if you do, you will lose the 75% who can really benefit from what you're presenting.

To counter the "not real world" complaint, I've sometimes made available the code that I base my demo on, but I've found that fewer than 10% of the attendees ever ask for source.

If you want an opinion on a specific deck, send it my way, and I'd be happy to comment.

If you've never read this, it has some *great* ideas:

http://perl.plover.com/yak/presentation/
April 27, 2005 4:01 AM
 

Joe McLemore said:

I can't really argue with the logic Rory but I will say this.

I've never been to a developer presentation because I'm not a developer (yet, I'm working on teaching myself C#) however I have been to lots of events aimed at sysadmins and network engineers . The one thing that has always bugged me about these is that I don't walk away with enough information about what was presented. Nothing about the tools I saw and where to get them. Nothing about where (specifically) to find more info. I do however remember t-shirts, lots of t-shirts.

Maybe developer events are different but I know that it's damn hard to take notes sitting in cramped seats in the dark.
April 27, 2005 4:05 AM
 

John Walker said:

I know I'm speaking the obvious here, but I think it totally depends on the subject matter. I think it also depends on the format of the presentation. Is it a discussion where questions are allowed through-out? Or are they taken at the end?

I think that if you are giving a presentation on a very specific topic, I think showing pieces of functional code is huge...at least for me. That's when I get it. I don't need to see a whole app built, but certain segments of the code to put it all in context.

I totally agree, however, that PowerPoint is a total zone out. In my presentations, I have resorted to pulling up NotePad at certain points with a large font and some hyphen-bulleted point such as ...

-Point 1
-Point 2

It seems to work wonders as people watch and wonder why you didn't use PowerPoint. It seems to be a very effective tactic. Anyway, thought-provoking post, dude.

John Walker
April 27, 2005 4:56 AM
 

Ian said:

like Eric I've learned to pretty much give up on getting much from feedback forms.

we often get 2, one that says "too technical" and the other says "not technical enough".

In Atlanta after a joint presentation we had people that "hated the joint idea' and others that, can you guess? "Loved the joint idea".

You can't win.

The best (hah) comment we got (and remember all attendees received a full agenda brochure with synopsis and a carry around map/timetable with presentation titles) was for a joint presentation entitled 'web service interopability, an overview'.

the comment was this: "If I'd known what the session was about, I wouldn't have attended'

heh, you just have to laugh!

Oh, and I like not-too-real-world. A bit of context would be nice, but I'd rather see small snippets of code I can take away and play with, and an emphasis on the why, rather than a full blown app that obscures most of the interesting stuff..
April 27, 2005 5:02 AM
 

Steven R said:

One problem I have with the MSDN events is that you get the comment sheets before the event starts. Most devs I know fill the sheet out before the presentation even starts so they can get the free stuff at the end before anyone else.

I also know a lot of devs that skip out on the MSDN events because they believe that the events are just marketing BS. Most of the time I attend to get an introduction to the newest technology Microsoft is releasing. If you were to introduce ASP.NET 2.0 to me by building a real world application, all of it would go over my head. It's like someone trying to explain the string theory to a physics newbie.

My expectations are met if not exceeded every time I go. It gets me pumped to go home and try out what I have just learned.

To me it is sweet going to an event and having someone give you a demo, answer your questions after the event, and then give you a free book and resources after the event. You have the choice of learning more if you wish to exercise it.
April 27, 2005 5:03 AM
 

Yogi said:

I attend few of the MSDN and TechEd Events. One thing that i think separates a good presenter from a bad one is its improvisation, depending on the audience. If you are giving a presentation on SOA and not more that 40% of your audience have worked in Distribued Application, i dont think it will be a very good idea to load them with too much of Code. But conceptual building will be perfect.

There are lot of Help Docs to look up the code, but what audience wants is to hear the presenter's experience in doing things he's talking about, Best Practices or challenges he faced etc.

And it will always make you a good presenter if there are lot of freebies distributed!!!
April 27, 2005 5:34 AM
 

Jeff Atwood said:

>that the content wasn’t “real world.” By “real world,” attendees are often referring to the code in the demos. We aren’t writing or presenting “real” applications during our talks

For me, there's a big difference between

A) a grizzled software veteran who is out there on the front lines, delivering functioning applications to cranky, unhappy users and retaining his/her sanity in the process

B) A guy who is paid to write demo code and give presentations all day

I don't want you to show me an entire application in an hour; that's ludicrous. I want code snippets and advice presented in the context of lessons learned with code "in the wild".

I think a lot of developers, myself included, are very skeptical of demo code because-- well, how many software sales demos have you sat through that were actually representative of the experience you got when you purchased and started using the product? We've been burned so many times this way.

I've looked at a lot of "demo apps" like this; stuff from 3Leaf and Vertigo Software that Microsoft contracts to demo their tech. And while it's fine insofar as it goes-- it does demo the stuff, and it looks cool, and it works-- there are holes in these apps big enough to drive TRUCKS through. They simply don't have the kind of polish or completeness that you must have in even a crappy little intranet app to keep users from bugging you 24/7. And, obviously, nowhere near the constraints that commercial software would have.

I guess I want my tiny code snippets framed in the context of war stories. Anyone can write demo code; can you ship it and support it too?
April 27, 2005 6:10 AM
 

Rob said:

I would tend to side with the "small examples in a real world context" argument.

For example, when you see a description of delegates and the example given is how two dogs bark you don't really get a good idea of how you are going to apply the concepts. I previously programmed in C and it was the ability to map delegates onto pointers to functions and to think of the examples I had written previously that made the concept of delegates real to me.
April 27, 2005 7:42 AM
 

Craig said:

After teaching at DevelopMentor for four years, I learned the following:

1. Different people learn different ways, but
2. I learn best with the smallest possible examples, however
3. You can't teach anything in one hour anyway, so
4. People care more about whether you're entertaining than informational.

Cynical, perhaps. But the idea that you'll know anything other than the basic capabilities after watching someone talk about them for an hour is pretty silly. That is, watching a presentation is roughly the equivalent of reading the back of the box. The best you can hope for is to fire people up to investigate a technology for themeselves, as that's the only way they'll learn anything.
April 27, 2005 11:30 AM
 

Rob Miles said:

For a presentation context is king. I teach programming and having tried lots of different techniques I now have a sequence which goes context, metadata, testing, build.

In other words: Explain the scenario into which you are going to apply the technology, show how to isolate the information which determines the things you are going to manipulate and any constraints on them, consider how you are going to test the system to make sure the constraints are not broken. And then build it.

Student seem to like this. I do write and run code in lectures (in fact I take suggestions from the class on what to do and we find out what happens together) but this is just to illustrate points and not to provide complete solutions.

Perhaps the situation is different for MSDN type presentations (although I don't think so), but I still believe that context is king.

Presentations that try to explain exactly how to do something are going to be just right for the one person in the audience who wants to do that thing and has the right background knowledge. The other 99 folks there are going to hate it. The presentation should the thing that motivates them go to the MSDN site, read the detailed howto, understand it and then build their solution.

Oh, and I really agree with the entertaining thing, if you don't give them a reason to watch they won't (even if there is an exam on the subject).
April 27, 2005 12:19 PM
 

John said:

There is a lot of open source code around these days...

Perhaps you could strike a balance between 'real world' and 'conceptual' by explaining the concepts and refactoring an open source codebase to include them?

I.e. go and pick up some product from sf.net or gdn or whatever that is lacking the application of the concepts, but that could do with their application, and then show how to integrate the concepts.

If you can't do that, then I think you'll find that's what your audience is complaining about. That is, there is no 'real world' application for the concepts they've learned that they've been able to identify.

The audience is unlikely to be able to get across the entire 'problem domain' of the actual application, but that's not a problem, because you focus on the concepts (say CAS, or whatever) in the talk, and gloss over the problem domain. You'll still be able to show that your technology is applicable and useful (assuming, of course, that your technology actually *is* applicable and useful.)

So, if you're talking about instrumentation, or CAS, then show how to integrate that into an OSS product that lacks that feature. If you're talking about some new control, show how an existing application could be re-factored to use it. If your talking about an enterprise pattern, like exception handling, or a plug-in architecture, etc. then show how you could integrate it into an existing codebase.

When you find that's 'too hard', then you've found what people are actually complaining about.
April 27, 2005 1:07 PM
 

David Ing said:

An hour is no time, just try to (a) entertain and (b) get people curious enough to go look themselves - anything else is just a bonus. It's mainly a metroman credibility thing to say 'we're going to see lots of code today', because it sets the tone you might not be a powerpoint-droid. If you do show a lot of code then keep harping on about the context of what you're trying to prove.

The only real alternative is to spend 10 minutes at the start sounding the crowd out and adapting your pitch, but that is harder work; your evals will still contain hated/loved/too short comments.

- David
April 27, 2005 1:07 PM
 

Dave Kingston said:

I've attended my fair share of MSDN events over the years. I think most of the comments related to real world code are generated when the speaker says something like "this isn't how you would do it in the real world".

That being said, I don't think you have time in the MSDN event format to get in depth enough to cover everything. Conceptual is fine.

However, it would be worthwhile to include more talks that spend an hour on refactoring, unit testing, etc. I've been to MSDN events where these were in the tips and tricks talk with like 20 other items. I'm with Don that they're important, and we should spend time talking with devs about them...maybe even at the expense of them knowing the latest feature.
April 27, 2005 1:23 PM
 

George said:

I personally feel that the people who complain that they need "real world examples" are a real bunch of idiots.

If you can't extrapolate information you see and decide for yourself whether it would help you in a current project or a future project, I don't want to ever work with you. That indicates you are the kind of developer who searches the web for weeks just to find that one coding example that does EXACTLY what you need. Completely unable to take the 100 coding examples you saw in the first 15 minutes that do kind of what you're doing and building your own solution from what works in each of them. Having to be shown exactly how to apply information you’ve seen or heard to situations in your life indicates a complete lack of independent thought and problem solving skills. That’s not the fault of the presenter and it’s not their job.

MSDN events aren't classes, they are presentations. If you need to learn how to code or how to take information you hear and apply it to the "real" world then go back to college (or go to college in the first place) because you are one of those people who needs (or needed) that type of training.

For the rest of us, we can sit back and enjoy the brief overview of new technologies with small quick and dirty examples and then using those brain things that sit up in our head, we can figure out for ourselves how it can and will be used by us in the “real” world.

Do people really need to be spoon fed everything? Holy cow, this is why I hated high school, the class moves at the pace of the dumbest student.

Thank you all for holding the rest of the world back with your complete incompetence.

Ummm…I guess that means I think Rory is right?
April 27, 2005 1:59 PM
 

Scott said:

I think Jeff A is on to something. That means that he said some of the things that I'm going to say, but he I didn't like his solution. Remember that phrase and the meaning the next time you are in a code review. ;)

That's the biggest problem I have with 'demo code', it only showcases the perfect example. The example where the basic functionality provided by your code exactly meets the requirements for your mythical 'real world application'

I've been to one of your presentations, so I'm going to pick on an example from a presentation that you gave on the ASP.NET 2.0 authentication control.

If I remember correctly, you showed how easy it was to drag the login control onto a page and set up username/password authentication for your ASP.NET 2.0 web site. You were also demoing Master Pages and something else, I forgot what. The Login control supports a VERY simple membership/role model. What would have made the example a little more 'real world-y' would have been to show the dragging and dropping, but also explain how to override some of the default behaviors. Explaining how to add Groups into the mix would have been a good real-world scenario. Again, not a full blown solution (maybe provide one on the DVD), but explaining what objects and methods are important to consider, pointing out some of the pain points, if you don't like the way the authentication control and scheme works in 2.0 out of the box.

I think that's what the attendees really mean when they say they want more real world examples. They don't want a full-blown solution (well some might), they know that when they sit down and try to actually USE this framework/application/etc... in the real world, shit WILL happen and they'd it to happen to you first so they can be a little prepared instead of sitting there staring an a dialog box that says "A catastrophic error has occured: The command completed successfully".
April 27, 2005 2:00 PM
 

Brian Kuhn said:

My knee-jerk reaction is to say you are wrong and that I am right, but then I take the time to read your post, and it turns out you are right this time, but don't let it go to your head mister.

Talks, especially short ones, should teach listeners the concepts. Most developers can take a concept they have learned and run with it. Giving them the concept or mental tools to understand a technique or technology should be paramount.

But many of us need just a little more direction or examples to go from understanding to implementing. I like for presenters to provide full blown, real world, get your hands dirty code examples that are available for download AFTER the presentation.

But I won't complain if the presenter writes the code I was supposed to so that I can pass it off as my own.
April 27, 2005 2:02 PM
 

miles archer said:

(I haven't read the comments due to time, so I may be repeating something)

I basically agree with you. However, you could do more of a mix of conceptual and practical. You could do a conceptual presentation, and at the beginning/end of the presentation show a full app showing the feature/technique that you are showcasing.
April 27, 2005 2:45 PM
 

Rick said:

I think George is onto something. In fact, I think he has nailed the issue perfectly, so I will neglect to repeat what he has said.

The unfortunate part is that there are people that work here that need to be spoonfed to get their work done....
April 27, 2005 2:50 PM
 

Steve Majewski said:

I could walk with the masses and write-up a few paragraphs agreeing with you, but I thought I'd take a slightly different approach:

// overloaded method to determine the type of presentation to give based on length of time
// to present on a single topic. msdn events are 3 sessions over 4 hours...remember that!!!
public object Present(DateTime startOfSession, DateTime endOfSession)
{
// declarations
Int16 hoursAvailable = new TimeSpan(endOfSession.Ticks - startOfSession.Ticks).Hours;
PresentationType typeOfPresentation;
CodeType typeOfCode;

// determine presentation parameters
if (hoursAvailable <= 2)
{
// your typical MSDN or user group session
typeOfPresentation = PresentationType.Conceptual;
typeOfCode = CodeType.Simple;
}
else if (hoursAvailable <= 4)
{
// a half-day binge on a topic
typeOfPresentation = PresentationType.Conceptual;
typeOfCode = CodeType.Mixed;
}
else if (hoursAvailable <= 8)
{
// a full day of mind-bending talk
typeOfPresentation = PresentationType.Conceptual;
typeOfCode = CodeType.Complex;
}
else if (hoursAvailable > 8)
{
// we're talking about a class here, pull out the stops
typeOfPresentation = PresentationType.Detailed;
typeOfCode = CodeType.Complex;
}

// so let's do this thing
this.Present(typeOfPresentation, typeOfCode);
}

Let's just say that's much harder than saying longer sessions dictate more interaction with code. Maybe I've got too much time on my hands. Either that or I don't have enough time and I'm not using it wisely.

Please note even short sessions still include some semblance of code, even if it is just bits given after the concepts have been discusses and not actually part of the presentation.
April 27, 2005 3:16 PM
 

Jeffrey Palermo said:

I've made some of the same comments about MSDN presentations. When I see a UI slapped together with drag n drop with no data validation, and then a "ta da", I'm not impressed. If it were taken one step further and validation was added as well, then I could see that the tool supports something I would actually do.

Design patterns are void from MSDN presentations, and I'm with the people who can't stand it when we are shown "something you wouldn't do in real life". If you are going to do code, then do the code right. If you are going with concepts, then do concepts, and you aren't doing code, so there isn't a chance to present bad code.

Calling ADO.NET from code-behind will _kill_ a presentation.

Sadly, MS's RAD designer does just that, and it's a shame.
April 27, 2005 3:42 PM
 

Buddy said:

I hate to admit it but i do ctrl+shift+b on almost every program. even games.

I like the idea of concepts over code. Before I learn something new I read a lot about the concepts of the technology. Like, why is it used, what benifits over something else. Things of that nature. Concepts are exccellent. When you can listen to a concept then turn around and make something you know you understand.
April 27, 2005 5:09 PM
 

Daniel Rieck said:

*I* am right, but we have the same opinion.
April 27, 2005 5:50 PM
 

Daniel Rieck said:

Ok, read the post now. We still got the same opinion.


[quote]Why even go out of your way to attend a talk?[/quote]

It's about community, man!
April 27, 2005 5:51 PM
 

Ralph Loizzo said:

Give me the philosophy, the substance, the essence, the semantics of what you're trying to teach. If I've been a good student of the technology, I'll be able to walk out with a paper handout with sample code and follow along with the syntax if I refer back to what I learned from your talk.

No opposition here on this topic.

But wait - Im sure we'll disagree on something some time...
April 27, 2005 6:15 PM
 

J. Marsch said:

Here's what I mean:
A short, contrived example is fine, even superior to a large application.

When I have had complaints about "real world". It's been of the nature: "yah, but in real life, you would never really do it like that".

Example: I used to use a non-Microsused tool. During the Vendor's presentations, they would inevitably demonstrate building a "simple" database application.

In the demo, they would They would use one of their Table objects. Problem: on a Client-Server connection, their Table object would execute a "Select * from..." command, so you would never use it in the _real_ world. I mean am I really supposed to slap down a Select * on a 1 million row + table??? Riiiight. (of course, they didn't mention that bit about the select * their demos -- what was what you found out when you tried to use their dogfood in the _real_ world)

They would also show using their databound controls, which would retain locks (pessimistic locking behavior). Gee, that demos real nice, but would you really use it that way in the "real world"?

So, when I would complain about a "real world" example (and I did), it had nothing to do with the size of the demo app, or how robust the error checking was (unless that was directly relevant to the discussion), it was about how would you _really_ implement this doohickie. To what extent would you _really_ use the built-in stuff? What behaviors would be extended or adapted? What should I watch out for.
April 27, 2005 6:52 PM
 

J. Marsch said:

Interesting: In the post right above, I had changed the subject line, but it didn't seem to "take" when I posted, so my first sentence really doesn't make any sense.

The original subject line was:

"It's not the size of the example code, but the implementation".

(or something like that, anyway :).
April 27, 2005 6:55 PM
 

J.Marsch said:

Geez. I just can't get this right, can I???

Somewhere in my original comment, I said "I used a non-Microused tool".

that really is a typo. I really meant just "non-Microsoft too"-- I wasn't trying to ding anybody.
April 27, 2005 6:57 PM
 

Steve Majewski said:

It’s all about giving good developers enough of a taste to get them to learn more…and bad developers enough code to make them dangerous. That way, when you’re interviewing someone and show them some code with a “select *” in it, you can catch whether or not they have are suffering from cranial-rectal immersion syndrome. What? Developers aren’t supposed to be elitist assholes anymore???

I’ll tell you what’s worse than ctrl+shift+b…reading something printed on that white flat stuff…I forget what it’s caller…paper or something. Anyways, you see something underlined and have that spit second urge to “click” on it. It creeps me out, but the medication seems to help.
April 27, 2005 8:02 PM
 

Lazy ass coder.... said:

Please provide some code for real world programs, and if possible, sit and just read it to me. I don't really need to hear you explain it, because I refuse to try to understand what it does, or WHY it works, or the concepts in general, so who cares why it works, right? As long as it does what you say it does, i'm cool with it.

Also, on the DVD, please stop providing those useless videos and stuff and just put some code for the real world problem that I happen to be working on. It's like you think I just go to these events to get an overview of the new technology or something. Crap man, I need you to give me some code so I don't have to go find it on the net. I am wasting a good amount of time coming to your event. Thats time I could have been spending looking for the code I needed on google.


April 27, 2005 10:15 PM
 

Jeff Mayeur said:

For me comments like [quote] conceptual end of things [/quote] are seriously funny.

The fundamental problem that I see you facing when you speak to a group of developers is the clash of Dev styles. In my mind, new[er]ish approaches like XP/TDD/STD and the like of agile dev processes tend to be very Product focused, and while this can certainly produce a good end product, I think it tends to diminish the avant-garde coding that can come from truly Problem focused development.

In my mind, those listeners which whom prefer “Real World” do not use a Problem based development process, and therefore don’t fully recognize the benefit of conceptual code. When I came across this [unrelated] blog http://blogs.msdn.com/reuvenlax/archive/2005/04/21/410614.aspx, I while admittedly out of my coding league, was glad I’d had the chance to walk through. Now I’ve never had a real world need for this exact bit of code, but I can say, that the concept of pattern matching has come up quite a bit. Why I like this, is that the more I’m exposed to pattern methodologies, the more I tend to analyze my actual usage of code.

I’m afraid though, with widget base dev becoming the norm of tomorrow that few and fewer codes will care about anything but “Practical Widget Application by Crappypants Mcgurkin” books, that have plug and play code snippets to build your own flight control systems.

-- ahh the good life of panning everything
April 27, 2005 11:14 PM
 

John Dyer said:

Mostly I listen to talks and presentation for the tid-bits. Like listening to .NET rocks the other day with Kim Tripp. Her mention of testing a SQLServer 2005 feature with a couple of USB thumb drive made the who show worth while. This is typical of most talks I hear, there is a lot of talk and then one or two points really stick and are useful. The really best is if I can get to talk to the presenter after and get additional tid-bits.

Also, I feel it important to work aoround with what is going to be presented somewhat so I have a feel for what is being talked about. Otherwise I am in that uhuh uhuh state for the talk but it is really not clicking.

John
April 28, 2005 12:11 AM
 

Greg Low said:

Hi Rory, I spend half my life doing presentations too (or so it seems). I've also struggled with the "no powerpoint" mantra.

The funny part is that the best evals I've ever received were for a talk I did on the MSDE at Tech Ed over in New Zealand last year. It had ZERO code and was 100% powerpoint.

What made it good? It answered real questions that people had.

I prepared the talk by reading every one of the last 2000 posts on the MSDE public newsgroup and made sure that my talk covered every single issue raised.

So, I just don't buy the "no powerpoint" and "all code" argument. Like anything, "it depends :-)"

Regards,

Greg
April 28, 2005 12:47 AM
 

Steve Maine said:

I think you're right on this one. When it comes to presenting technical topics, conveying the *why* is much more important than conveying the *how*.

I look at the people who I really respect as presenters and who have taught me the most -- they are all "why" guys. I left their presentation with a fundamental understanding that allowed me to figure out the "how" on my own. They enabled me to learn about the topic on my own.

The catch is that being able to articulate the "why" can be very difficult.
April 28, 2005 5:11 AM
 

Stewart said:

I agree with you. However, the last MSDN Event that I attended there was a half-day talk by Mike Benkovich (www.benkotips.com). It was great! He presented a lot of brain-boggling material, but mixed in some practical code by actually building a couple little apps.
April 28, 2005 3:58 PM
 

Steve Majewski said:

Let's face it, whatever is done will never satisfy everyone. So I say you strap people who complain into "Clockwork Orange" chairs and saturate their brains with subliminal images of code (and the occasional image of Bill) all the while turning them off to Beethoven's lovely lovely 9th. Well, it would make presenting a little bit easier. If they refuse, then just shout, "NO DVD FOR YOU!!!" I guess you could still give them the t-shirt if they can catch it in their teeth while you lauch it at them from one of those fancy t-shirt cannons.

NOTE: This comment contained outdated pop culture references to Stanley Kubrick's "A Clockwork Orange" and the ever famous "Soup Nazi" episode of Seinfeld. No event attendees were harmed in the writing of this comment.
April 28, 2005 5:43 PM
 

Paul Murphy said:

To the comment from "Lazy ass coder..." -

"Please provide some code for real world programs, and if possible, sit and just read it to me. I don't really need to hear you explain it, because I refuse to try to understand what it does, or WHY it works, or the concepts in general, so who cares why it works, right? As long as it does what you say it does, i'm cool with it.

Also, on the DVD, please stop providing those useless videos and stuff and just put some code for the real world problem that I happen to be working on. It's like you think I just go to these events to get an overview of the new technology or something. Crap man, I need you to give me some code so I don't have to go find it on the net. I am wasting a good amount of time coming to your event. Thats time I could have been spending looking for the code I needed on google."

Was this a joke? Hah, if one block of code would solve everyone's problems none of us would have jobs.
April 28, 2005 7:52 PM
 

Lathier Danyou said:

Paul-

Although "Lazy ass coder.." might have been a little sarcastic at times, I agree with his general message.

I personally have a lot going on in my life. I don't really like to program, I just like to get paid. I basically don't want to have to try to figure out how to make something work, I want someone to show me how to make it work. We are all busy people and if I take the time to go to a MSDN event it would be nice of the presenter to recognize this and show me code and tools that apply exactly to my current job.

I know a few people have mentioned that we as developers should be able to see things and figure it out for ourselves but I can't. I used to fail math tests in high school because the teacher would put problems on the test that I hadn't done brfore in the homework. I realize the concepts were the same but I just couldn't grasp these broad concepts and apply them to multiple types of situations.

So even though I obviously don't have the skills to be a developer, remember, I need that paycheck just like everyone else, so PLEASE give me the "real world" examples so I can continue to fake it.
April 28, 2005 9:35 PM
 

Clock Puncher said:

Lathier,

A similar thought on the example that you use, If we all work off the same code, or use the same coding sample to solve similar problems, then we, as developers, would be able to take a job anywhere and the learning curve would be less because we would have already been working the very same code in a different application.

That way, Instead of schooling, MS could just release coding samples for real life situations.

How much easier would that be???


CP
April 28, 2005 9:44 PM
 

Lazy ass coder... said:

To the Comment from "Paul Murphy"

"Was this a joke? Hah, if one block of code would solve everyone's problems none of us would have jobs."

A Joke? hmm, I dont know what you mean. My name in fact is Lazy Ass Coder... (I'm not sure who thought it would be funny to put 3 periods at the end of my last name, but its a terrible name to try to explain to people over the phone).

Perhaps I was simply speaking on behalf of all of the "Dont give me concepts, give me a real world example that applies to what I am working on right at the moment because you work at microsoft and are watching me through my computer anyhow so you should know what im doing and be able to tailor your examples specifically to my current project" crowd.

- LAC...

P.S. - Paul, are there any openings at Microsoft for someone like me? Im very ambitious and love coding.....
April 28, 2005 9:49 PM
 

Lazy ass coder.. said:

To the comment from "Clock Puncher"

"That way, Instead of schooling, MS could just release coding samples for real life situations."

Mr. Puncher,

I like your idea. if we are going to do that, do you think MS could just make Visual Studio with Drag and Drop code pieces that do what you want? I am thinking that maybe I could avoid actually typing at all.

Keep these ideas flowing.
April 28, 2005 9:53 PM
 

Lazy ass coder.. said:

Mr. Puncher,

I forgot to mention that I can sympathize with your unfortunate irregular name situation. I hope people dont give you too much of a problem with it.

-LAC...
April 28, 2005 9:55 PM
 

Clock Puncher said:

Thanks LAC,

Yeah, I have a bit of trouble with customs, but that's about it..

I am glad that you liked my idea. And the Drag and drop sounds great..

Middle management will love it..

CP
April 28, 2005 9:59 PM
 

Lathier Danyou said:

Paul -

I'm interested in a job at Microsoft too! Any chances you could slip me in the door?

I work a solid 8-4 day and do a great job of just doing what I'm told. Average would probably be the best description for me, but hey even Microsoft must need some average people to work for them right?
April 28, 2005 10:07 PM
 

Jeff Atwood said:

> I prepared the talk by reading every one of the last 2000 posts on the MSDE public newsgroup and made sure that my talk covered every single issue raised.

Now HERE'S a great idea. And I think that's EXACTLY the intent behind the "real world" comment. The FAQs begin where the demo code ends; it's a direct result of actual use.
April 29, 2005 5:53 AM
 

Rick said:

Has anyone noticed that the technologies that they demo at the MSDN events are generally products that have not actually been released yet?

April 29, 2005 2:16 PM
 

George W. Clingerman said:

Since I have such a passion for this topic, I'm going to keep talking about it.

Real world coding examples shouldn't be what you need. I'm not saying you don't need them; I'm saying you should step back and figure out WHY you need them. It's a dependency that is going to hold you back in your career for the rest of your life.

I went to college at a pretty tough school (11th in the nation for academics and we had Saturday classes). I got really frustrated in my computer classes because they didn't have code examples. They taught concepts only. I had many long arguments with the head of the department about how I was going to be so behind in the workplace because they weren't teaching me ANY languages. They did use C++ when they HAD to give us an assignment, but you could tell they hated having to use any language at all. The professor told me that what was really important was the concepts, especially in an industry that changes and evolves as quickly as computers. Well, I continued to mutter and grumble and complain for the next 4 years, but you know what, once I got my first job, it made sense.

I understand concepts. I can program in any language. I can understand how to use a language to solve any problem. I can see a new tool and understand why I might need it and why I won't. I don't need someone to show me how to use that tool in a real world example. Once the concept of a tool is explained it becomes apparent.

I think that is the difference between the guys who needed to go to college for computing and the guys who don't. The guy who's been a programmer right out of high school gets the concepts. The guys who needed to go to college (such as myself) spent a lot of time in their math classes in high school asking their teachers for examples of when they were going to use this in the "real world". I envy those guys who understood “concepts” and didn’t need the examples. I could have saved myself a ton of money and a lot of frustration if I had just been taught how to learn that way from the start.

Let go of this need for examples, sooner or later an example of the kind of work you’re trying to do isn’t going to be there. Learn how to grasp concepts, you'll find it's a skill that is necessary to continue to grow and adapt to our ever changing environment as developers.
April 29, 2005 2:40 PM
 

Dave Wyland said:

And here is a report from another galaxy.
As an applications engineer, I have done a fair amount of presenting of new technology, typically computer architecture stuff. When presenting something new, I show them a simple, targeted example of the implementation of the new concepts that I am presenting. This provides the necessary concrete data from which the abstractions can be formed, because "abstraction" is a named pattern of concrete experience.
Once they see how it works, I can talk about why it works. The abstraction is formed from the example. The example may take 10-15% of the time, and the discussion of the abstraction and its usefulness takes the rest of the time.
If there is a sequence to this, it is of the form: What is it? (The concrete) What good is it? (The abstraction) How do others use it? How can I use it?

"Gladly will he learn, and gladly teach."
May 11, 2005 6:33 PM
 

Mark Dominus said:

I think you are mistaken. Concepts are useless on their own. When your attendees complain that the classes aren't concrete enough, they're trying to tell you something very plainly. Why don't you listen to them?

You need to find examples that illustrate the concepts. You can leave out a lot of code, but you have so show the important parts. That's not easy to do. It takes a huge amount of effort and preparation to decide what parts are important, to put them in an order that makes sense, and to find a way to present the whole thing in the (too brief) allotted time.

That's why good presenters make the big bucks.

Sure, you can punt, say you're going to leave out the code, and just prsent the thirty-thousand-foot view of the subject. That's easy. Lots of people do it. But your presentation won't be very useful.


September 6, 2005 1:34 PM
 

RuleZ023 said:

retty much nothing seems worth thinking about. My life's been completely dull , not that it matters. I've just been staying at home waiting for something to happen.
June 18, 2006 2:02 AM
 

TrackBack said:

Don't Be So Ignorant
April 27, 2005 3:24 PM
 

TrackBack said:

The customer is not always right
April 29, 2005 10:47 PM
 

TrackBack said:

Being a trainer
May 11, 2005 2:42 PM
New Comments to this post are disabled

About Rory

I *own* this site, you loser.