# Friday, February 6, 2009

Episode 1

I spoke with Telerik Developer Evangelist John Kellar at CodeMash about how to effectively interview tech people on camera and about the DevLink conference.

View John's video interviews at EdgeOfDev.com

Friday, February 6, 2009 2:58:05 PM (GMT Standard Time, UTC+00:00)
# Thursday, February 5, 2009

Episode 0

I'm starting a new feature on this site.  I'll be publishing video interviews of smart people who are passionate about technology.

In Episode 0, I describe my goals for this feature.

Thursday, February 5, 2009 12:55:09 AM (GMT Standard Time, UTC+00:00)
# Saturday, January 17, 2009

My last post included photos from this year's

Below is a musical slideshow of the event, for those who just can't get enough.

Saturday, January 17, 2009 3:57:11 AM (GMT Standard Time, UTC+00:00)
# Thursday, January 15, 2009

I've been home from CodeMash four days now and I'm still absorbing all I learned there.

The speakers were great, sessions were interesting, the open spaces were stimulating, but the chance to interact with so many smart people in a short period of time was what made this conference so special.

I asked the following question of a number of people at CodeMash: What is the best part of this conference.  Without exception, each person responded that it was the people.  I cannot disagree with this.

This was the first conference I've ever attended in which I spent an entire day without going to a single organized event.  Friday I stayed away from all the scheduled sessions and open spaces - not because I didn't find the topic compelling - but because I wanted to spend some time in one-on-one conversations with smart people in my field.

I discussed paired programming with Corey Haines, Alt.Net with Leon Gersing, web site performance with Steve Smith, building community with Mike Wood, recording interviews with Carl Franklin, open spaces with Allen Stevens, and many more.  I brought my video camera and recorded many of these conversations and more.  I hope to share these videos with you on this site in the coming weeks.

In the meantime, here are some photos of the event:

Thursday, January 15, 2009 11:16:08 AM (GMT Standard Time, UTC+00:00)
# Thursday, January 8, 2009

Today was the first "official" day of CodeMash and I spent most of it learning from experts.  Below is a quick summary of the sessions I attended.

Introducing Prototype and Scriptaculous
Leon Gersing made a splash Wednesday night during a .Net Rocks panel discussion by passionately arguing that JavaScript should be included in any discussion of rich internet applications and that JavaScript methods are unit testable dammit!  He continued that passion Thursday morning in this session, showing the prototype JavaScript library and

Developing for Microsoft Surface
I've seen people talk about Microsoft Surface, but this was by far the most comprehensive hands-on demo I've seen.  Jennifer Marsman (Microsoft) and Joe Engalan (VectorForm) showed applications built for the Surface and built an application on the fly.  They tools are very similar to WPF.  They even brought a Surface with them and attendees were allowed to play with it throughout the conference.

Mary Poppendieck is a noted author on Agile development methodologies.  In this session, she spoke about the things that cause "thrashing" - or decreased productivity - and ways to avoid this.  She emphasized the need to maintain a level workflow, so that developers can establish a cadence and more easily manage their project.  One way to accomplish this is to eliminate long backlog of features - many of which will never get implemented.

Managed Extensibility Framework
Drew Robbins
MEF is an upcoming framework from Microsoft that will allow you to build applications as composable parts that can be assembled at runtime.  Drew spoke conceptually about MEF and stepped through some sample code.  I've given talks on MEF in the past yet I still learned from Drew's talk.

Thursday, January 8, 2009 10:37:37 PM (GMT Standard Time, UTC+00:00)

At this CodeMash, I resolved to get outside my comfort zone and learn something new.  Today, that new thing was Ruby. 

I have literally minutes of experience thinking about reading about developing applications in Ruby.

In other words, I'm a Ruby virgin.

Joe O'Brien and Jim Weirich hosted a learning session on Ruby at the CodeMash Precompiler Day (sort of an optional Day 0 for the conference).  I wouldn't call it a class or a seminar.  Joe and Jim spent only a few minutes at the front of the room introducing the topic.  But they did provide about25 hands-on labs for us novices to work through.  And they walked around providing help and answering questions for us novices struggling through it.

For me, it was perfect.  I had a chance to get some hands-on experience with Ruby for the first time.  I learned many of the basics of Ruby - testing, arrays, method calls, testing, blocks, iterations and testing.  Did I mention that testing is important to Ruby developers?  Because of Ruby's "duck typing" (variable types are not declared in the code but are inferred by the values assigned to those variables), the compiler will not catch as many errors as the C# compiler.  This forces Ruby developers to write many unit tests to verify their code behaves as expected. 

Appropriately, most of the labs revolved around writing unit tests.

I am now looking at the schedule for the next two days to see if I can learn more about Ruby while at CodeMash.

I don't yet know if I can use this knowledge to benefit my day job, but this exposure will enhance my coding perspective in the long run.

Thursday, January 8, 2009 4:08:04 AM (GMT Standard Time, UTC+00:00)
# Tuesday, January 6, 2009

Tomorrow is the first day to the annual CodeMash conference in Sandusky, OH.  Billed as the finest software conference in an indoor water park, CodeMash is a great way to learn about .Net, Java, Ruby, Python and a host of other technologies.

For me, however, CodeMash marks the beginning of a year of community involvement.

In January 2008, I had recently changed jobs.  After almost a decade with the same company, I left to reduce travel and spend more time with my family.  My prior employer was a good company, but it was difficult for me to get involved in the development community because

  1. Constant travel kept me from attending local user groups.
  2. Constant travel made it difficult to meet developers near my home.
  3. The company had a culture with a strong internal community, so most employees didn't need to seek that from the outside.
  4. I didn't know what I was missing.
  5. I didn't know how to get involved in the community.

As it turned out, my new employer was (and is) very active in the software development community - a major reason I was drawn to them.  Several of them were on the board at CodeMash and many spoke at the conference; In fact, employees of my new overlords frequently spoke at, ran and organized conferences and user groups across the Midwest. 

I ended up meeting a lot of my new co-workers for the first time at CodeMash.

I also met a lot of other folks in the development community - many of them from Michigan.  It was a great experience because I had a chance to exchange ideas with a lot of smart people and to see how they share their knowledge.  I'm still humbled by the lengths to which some of these people go to contribute to the community.

Meeting so many bright people who were anxious to share ideas was an inspiration to me.  IN the months following CodeMash, I became far more involved in two local user groups; I developed and delivered talks to a variety of audiences, including 3 different user groups, a conference and a couple Microsoft events; I created an account on Twitter and used this medium to exchange ideas and pleasantries with a number of people; I used LinkedIn to connect with people and, inspired by Jeff Blankenburg's Contribupendence Day, I recommendations with bright people I know.

At this year's CodeMash, I expect to meet more bright people and I expect to be inspired by them.  But I also expect to meet up with those who inspired me last year.

Tuesday, January 6, 2009 9:54:09 PM (GMT Standard Time, UTC+00:00)
# Sunday, November 30, 2008

I often meet people who tell me they wish they could speak in front of a crowd, but they fear doing it because they know they are poor at public speaking.  These people are both right and wrong.

Ten years ago, it would have been unthinkable for me to stand in front of a group of professionals and speak to them about how to do their job better.  But these days, this is a frequent occurrence for me.

Thinking back on those days, I recall that the main thing keeping from even attempting public speaking was the sheer terror of being alone in front of a group.  I knew this at the time, but I also recognized that public speaking was a deficiency in my skill set. 

So I set out to address this deficiency. 

I found opportunities to speak publicly - safe opportunities where the risk of failure was low.  My children were in elementary school, so I volunteered to read aloud to their class.  I volunteered to read aloud at church service.  I put together technical presentations and delivered them at work. 

As my confidence grew, I began to speak at local user groups. 

Eventually, I was comfortable enough to take a job as a trainer, where I had to stand in front of a classroom full of strangers and pretend to be an expert on various topics.

Today, I seize every opportunity to speak to a technical group.  In the past year, I’ve spoken at Day of .Net, DevCares, ArcReady, three different user groups, and at a number of different companies.  I love the rush that comes with delivering a good presentation.  I love when a talk is well received and people tell me so.

Along the way, I learned a few things.

The hardest part of public speaking is overcoming the fear of public speaking.  But much of that fear is unfounded.  We are afraid because we know that our presentation will be less than perfect.  We're right about the imperfection but we're wrong about the importance of perfection. 

Most audiences don't demand perfection.  I've been on both sides of the stage and I think I understand what most people expect from the speaker.

  1. They expect the speaker to be familiar with the material he is presenting.  He should do more than just read PowerPoint slides.
  2. They expect the speaker to communicate the main points of the presentation.
  3. They expect the speaker to be enthusiastic about his topic and convey that enthusiasm to the audience.

If a speaker does those three things, most people will be satisfied.  Notice that perfection is not on the list.  A speaker may have many flaws.  If he uses poor grammar or stumbles over some points and needs to repeat them or shows that he is nervous, the audience will forgive him as long as he delivers some information enthusiastically.

I'm not suggesting that public speakers should ignore any flaws in their presentation style.  If you present a lot, I recommend that you record yourself, critique your performance and strive to improve each time.  But these things aren't catastrophic and shouldn't paralyze us into avoiding speaking.

If you want to get started in public speaking, start with something small and safe, such as a presentation to a group of co-workers.  Choose a topic that you are passionate about.  Allow yourself to make mistakes, but focus on the three main points above.  Record at least the audio of your presentation and listen to it to determine how you can improve it. 

Many technical user groups offer members the opportunity to speak for 5-10 minutes on a topic before or after their meeting.  Check if your local group does this or is interested in starting.  It's a good way to practice presenting in front of strangers.

As you gain more confidence, seek out larger groups to present to.  Your initial nervousness should lessen and you can focus on improving other parts of the presentation.

Good luck.

Sunday, November 30, 2008 2:27:35 PM (GMT Standard Time, UTC+00:00)
# Wednesday, November 26, 2008

Below are the slides from my Organizational Dynamcs presentation at the November 25 Microsoft ArcReady event.

Organizational Dynamics
View SlideShare presentation or Upload your own.
Wednesday, November 26, 2008 3:55:37 PM (GMT Standard Time, UTC+00:00)
# Monday, November 24, 2008

This Tuesday, November 25, I will speak at the ArcReady event at the Microsoft office in Southfield, MI.  My topic is Organizational Dynamics.

Microsoft Architect Evangelist Brian Prince will also be there, delivering a presentation on Mastering the Soft Skills

I'd love for you to attend.  The event runs from 9:00 - 11:45 AM.  It's free but you must register in advance.

You can read details of the event and regsister for it here

Monday, November 24, 2008 11:32:11 AM (GMT Standard Time, UTC+00:00)