Listed below are articles related to PADNUG. This represents only a small portion of the content available on the website. Please visit the home page to see current entries and other categories.

Building a Developer Community

Over the years, I’ve been involved in a number of Microsoft related user groups here in Portland.  For some I’ve just been an attendee, others I’ve spoken at, and a few I’ve even organized and ran.  Here’s a few that come to mind:

  • Portland Area Dot Net User Group (PADNUG)
  • PDXUX.Net
  • Portland Silverlight User Group (PDXSLUG)
  • Portland Windows Phone User Group (PWPUG)
  • Portland Area XNA User Group (PAXNAUG)

It’s been tough having my efforts split up amongst all these technology groups.  In fact, all of these groups except one had a specific technology as part of its name.  What’s scary is that I was thinking of doing this again with WinRT.  Really?

What’s needed here is convergence, not divergence.  I need something that allows me to focus (i.e. simplify) my efforts as a speaker/leader/member and not be overwhelmed.  Let’s be honest though, I’m not the only one who needs their life to be simpler.  Developers need less after-hour meetings to attend.  Recruiters need easier choices for which user groups to attend and sponsor.

I’ve discussed this topic thoroughly (both in public and in private) with various members and influencers in the community.  A consensus has been reached and I now have the following announcements:

  1. The Portland Silverlight User Group has been dissolved.
  2. The Portland Windows Phone User Group has been dissolved.

That was easy.  ;-)  Hah, I wish.

My efforts are now being joined with PADNUG to help transform it into more of a generic “Windows” user group.  PADNUG already caters to ASP.NET, C#, SharePoint, WPF, and WinForm developers.  Who it doesn’t cater to as much are WinRT, C++, Windows Phone, and HTML5 developers.  The focus will be on the platform and in using a variety of technologies that make sense.  While the technologies will change, and the devices we develop for will change, one thing that will not change is that of Windows being that platform on which our applications run.  Whether these apps are in the cloud, or on a PC, or on a phone, they will run on “Windows”.  In my opinion this was the central message that came out of BUILD.  Use what you know, build what you imagine, you know the rest.

So how is this going to kick off?  I’ve already accepted an invitation to join the PADNUG’s board of directors.  Next month I’ll be presenting on Windows Phone Development with HTML5 and PhoneGap at PADNUG.  That topic makes a lot of sense, especially when you consider there is a Windows Phone Camp and an HTML5 Webcamp being held next month.  Next year’s going to be exciting in preparing for WinRT.  However we don’t want to leave anyone to feel left out because of the work they’re doing right now.  There is a need to be forward thinking, but also relevant.  For me, this will be an interesting balance to strike.

So do you have any feedback?  Are you pissed?  Are you relieved?  Could you care less?  Assuming you do care, I encourage you to speak up and share your thoughts.  We’re all volunteers here.  If doing it your way means you’ll willing to pitch in and help, then I’m more than happy to hear what you think.

tags: Silverlight | PDXSLUG | PWPUG | wpdev | PADNUG | winrt

Speaking at PADNUG (4/6)

Tonight I'll be co-presenting at PADNUG alongside Jason Mauer.  Jason will be talking about OData and XNA, and I'll be talking about developing for the Windows Phone 7 platform (notice how they dropped "Series" from the name).  I'm excited to talk about WP7 any chance I get, but I'm also worried that in this instance I won't have very much time.  We'll see what happens.  If there is enough demand then perhaps we'll schedule another hackathon for folks interested in getting started with WP7.

Afterward PADNUG I'll be part of the crowd heading over to Gustav's and would love to talk more about WP7 development and answer any questions.  I'm getting ready to submit my sessions for the Portland Code Camp, so please let me know if there is something that you'd like to see.  Right now I'm leaning towards speaking on 1) the WP7 marketplace, 2) tips and tricks learned in developing WP7 apps, and 3) heading up a Saturday evening hackathon.  Let me know what you think.

tags: WP7 | PADNUG

Books to Learn Silverlight

A question came through the PADNUG mailing-list asking about good beginner Silverlight books.  I've included my response below.

You really owe it to yourself to take a hard look at the book Pete Brown is currently working on (  Today at PDC he announced this book would be modified to cover Silverlight 4.  His book will officially be released roughly during the same time that Silverlight 4 goes RTM.  What’s great about the Manning Early Access Program (MEAP) is that if you purchase it now you can read the chapters as they come online and watch as they are revised.  Take a look at the table of contents.  Today on Channel 9 Pete promised that the next drop of his updated chapters would be sometime next week.  If there was only one book I could recommend, it would be this one.  You simply cannot get a better author.

I don't work for Manning and I don't get any kickbacks from Pete.  I stand by the statement that I believe Pete is the best author for this topic (learning Silverlight/MVVM and starting from nothing).  Hopefully I didn't offend anyone with that statement.  If so, please feel free to send me a copy of your "better" book.  I'd be happy to read it and be proven wrong.

tags: Silverlight | PADNUG

Where to Find Work / Using Recruiters

There's a thread that was generating a lot of discussion on the PADNUG mailing-list last week.  It was about where to look for work, and evolved into whether or not one should use a recruiter.  I've included my response below.

My last three positions didn't come from recruiters, but from either craigslist or people I knew at those companies.  With that said, each time I go looking for a position I contact my recruiter friends to see if they can help me.  In truth, I lean on them for help pretty hard.

Whether or not you choose to take a position presented by a recruiter (versus a position you find through other means) really that depends on what type of position you're looking for.  Startups generally don't use recruiters, especially early on.  Top-tier companies (e.g. Amazon) have recruiters in house.  Many superman-like positions come from word of mouth (e.g. almost any big hire @ Microsoft).

Using a recruiter doesn't mean you'll have to take a lower rate/salary.  That depends entirely on your capabilities.  If you aren't happy with the amount of money you're being offered, then perhaps now is the time to qualify yourself for those senior/architect level positions.  If that's what you want then tell the recruiters this and they'll help you understand what you need to do to qualify for those positions.  There's a good chance that you may find that the only thing left for you to do is to ask for these upper-level positions.

If you prefer doing short-term contract work, then you may want to consider forming your own business and being entirely independent.  The rates are higher, but you take on more responsibilities as well.  In that case you're really forming your own startup.

Sitting down and talking with a recruiter is a great way to find out what you want.  I find that many are more than willing to listen to your situation and offer advice where they can.

tags: PADNUG | Jobs

Slides and Examples from PADNUG Presentation on MVVM

Thanks to everyone who showed up and particpated during my MVVM presentation at PADNUG on Tuesday night.  We had a large turnout (80+) and it was a bit intimidating.

The slides and examples are posted at

I can see there's a lot of interest in this topic.  Things are definitely picking up in the industry for work opportunities for using WPF and Silverlight (thanks Win7!).  If you want to learn more about this topic, please download the slide deck and check out the links to additional resources.  Just a word of caution, it's going to take some effort to learn MVVM, so be prepared to invest yourself in it.  Also, I was talking with Erik Mork and others about having a follow-up MVVM presentation as part of the new Portland Silverlight User Group.  Stay tuned for more information regarding that.


Speaking at the Portland Area .NET User Group on Tuesday, November 3rd

In two weeks I’ll be presenting for the Portland Area .Net User Group at the Microsoft office here in Portland. I'll be discussing the Model-View-ViewModel design pattern (MVVM). Last summer I was planning on giving this same presentation during the Portland Code Camp.  Unfortunately I had to back out at the last minute, due to being swamped with work, getting ready for a new baby, and more work (ah the joys of being a startup junkie).  I took a good amount of flak for backing out (and rightly so).  A number of people wanted to see that presentation and I let them done, for that I apologize.

You're probably wondering exactly what will be discussed during this presentation.  I've included the official abstract below, but you should know that my primary goal is to have a discussion with folks and help them understand why MVVM is a pattern worth learning about.  Sure there will be demos and examples, and we'll even go through some tool recommendations.  But honestly, I'll have only enough time to help you begin to understand this design pattern.  What I want is people to leave the meeting with a desire to begin to learn MVVM, and the discipline to begin to adopt it.

Examining Model-View-ViewModel (MVVM)

MVVM is a design pattern for building rich clients in both Silverlight and WPF. Frankly, there's a lot of buzz around this idea, but why should you care about it (other than to pad your resume)?

In this session I'll be making the case both for and against using MVVM. I'll go over what it is, show how you can use it, and will be including plenty of examples. I'd also like to discuss some of your concerns for why you may want to avoid it, and lastly examine some tools that make it easier to use.

Even if you don't currently use WPF or Silverlight you should still attend this presentation. At the very least you'll leave with an understanding of MVVM such that you'll be able to comfortably discuss it during your next job interview.

That last sentence in the abstract isn't a joke, but it may be a bit far reaching.  I believe that in order to be comfortable discussing MVVM during a job interview you'll first need to have used it, practiced with it, and have done more than just skimmed MSDN articles and read through code examples.  In August I interviewed with Cynergy Systems and they tested both my level of knowledge and experience with MVVM.  Despite my lack of "professional" experience with MVVM (courtesy of my previous employer), I was still able to intelligently discuss MVVM, explain how and why I would use, and demonstrate where I'm using it in some personal projects.  I am confident you will begin to see more employers testing and filtering candidates based on their knowledge and experience of MVVM.  The adoption of rich clients (both Silverlight and WPF) is climbing steadily and this pace will only increase as companies are forced to distinguish themselves through usability and user experience, rather than feature sets.

My goal with this presentation will be to whet your appetite and hopefully spark a desire to go off on your own and learn more.  It takes discipline to learn and adopt something new, and WPF is hard, especially if you've been doing WinForms for the last few years.  When you're ready to take your education to the next level then you should seriously check out Shawn Wildermuth's Silverlight Tour.  They'll be here in Portland on December 2nd-4th.  You might want to pencil that into your calendar now, I'm guessing this class will fill up soon after the PDC announcements regarding Silverlight 4 and Silverlight for mobile.

So if you're going to be in or around Portland on November 3rd, please stop on by.  The meeting starts around 6:00pm with free pizza.  Afterwards we go across the street to Gustav's for socializing and continued discussions.  Hopefully I'll see you there.