Education

squeaky wheel… yada, yada

Well, I guess if you complain about something long and hard enough, things happen.  Sometimes, things happen that have nothing to do with your complaining, but the coincidental correlation is so strong that your mind draws associations for it (which sometimes leads to fodder for blog posts).

BTW, sorry for not posting much lately; my personal life has gotten rather complicated lately, so I’ve been avoiding the computer after hours.

Anyway, I’ve been struggling for some time now with Visual Studio for Team Systems: Database Edition, particularly in a scrum environment, and it just seems that I’m not making much headway with it.  It’s just a foreign model of usage, and I’m still struggling with the tool. It’s kind of like learning to drive a car after driving a golf cart; the basic principles are the same, but there’s a heckuva lot more options.

Anyway, Shawn Wildermuth to my rescue; his company, Agilitrain, is hosting a series of workshops on Agile Database Techniques using Visual Studio 2008 Database Edition; I told my boss about it, and even though training money is pretty tight right now, I got approval to go within minutes (that says a lot about my boss, or it may say something about his opinion of me and the need for training).  Anyway, here’s the course description:

Agile Database Techniques

This course provides students with the knowledge and skills to properly manage the SQL Server database development lifecycle in an agile environment. The student will learn how to manage changes to the database structure, ensuring quality through T-SQL unit testing, and how to automate the building and deploying of SQL Server databases. Intended for developers and administrators already comfortable with the concepts of designing, programming, testing, and deploying SQL Server databases, this course focuses on using Visual Studio Team System 2008 Database Edition to maximize productivity while minimizing mistakes.

Price: $1995.00 (USD)
Pricing may be different in locations outside the United States
Language(s): English
Length: 3 Days

Pre-requisites:

Before attending this course, the student should have experience developing and maintaining SQL Server 2000, 2005, or 2008 databases. It would also be beneficial if the student has worked in a team-based software development project and is familiar with their organization’s Software Development Life Cycle.

I’ve also been notified that Nob Hill Software has released their latest version of Randolph (an automatic versioning software for databases) with full support for TFS.  Unfortunately, I haven’t had a chance to install and test it yet (I’ve actually been working on an Analysis Services project; looks like I’m becoming a BI guy), but once I do, I’ll post a review here and at the AtlantaMDF Review site.

SQL Saturday #7 wrap-up

Finally back in my hotel room; I’ve forgotten how exhausting it is to actually present these days.  John Baldwin and the rest of the Steel City SQL user group did an awesome job pulling this together.  These guys are a lot of fun to be around, and they really went out of their way to make sure that speakers felt welcome.

Some highlights:

  • The facility was awesome.    It was held at a new building on the Jefferson State Community College campus; every room was equipped with a projector and audio equipment, and seating was comfortable, etc.
  • There were a few familiar faces, but I also had the chance to meet other Southeastern SQL geeks.  I’m hoping that we can build on this relationship, and encourage new growth for all of our user groups.
  • I particularly enjoyed hearing Andy Warren’s session on statistics; even though I don’t do a lot of work in performance tuning anymore, it was useful for me as a developer to understand what is a potential cause for bottlenecks on our servers.
  • My own session (Confessions of a Data Integrator) went well; I need to trim it a bit and sharpen the focus, but I got a lot of positive feedback and positive comments from attendees.  I definitely think I can sharpen it a bit, and I also think I can revamp it for SQL Saturday 17 (in Baton Rouge).

The only snafu I noticed was that the schedule had some interesting time slots; some sessions were 60 minutes in length and some sessions were 75 minutes.  On at least two occasions, the 75 minute sessions were cut short (because the volunteer misread the length of time for that session).  Overall, it was a great day, and I’m looking forward to future events.

Announcing AtlantaMDF Reviews

Just a quick post to tout a recent sister site that I’ve started (with the help of several other AtlantaMDF members): AtlantaMDF Reviews.  Our goal is to provide a forum of book and tool reviews that would be of interest to our local PASS user group.

The site has just started, with only 2 brief reviews as of this date.  However, we’ve got several people working behind the scenes reading and reviewing new material so that we can begin posting several articles soon (BTW, if you’re an AtlantaMDF attendee and would like to contribute, please find me and let me know).

Anyway, if you’re a Google Reader user, here’s a button for you to add the feed to your collection.   If you’re not a Google Reader user, the feedburner URL is below. Keep your eyes open for new material soon:

Add to Google

http://feeds2.feedburner.com/AtlantaMDFReviews

SQLSaturday #7: Birmingham, AL May 30, 2009

I’ve been so busy with all of my other projects at work that I’ve forgotten to really tout this.  On May 30, I’ll be presenting at the Birmingham SQLSaturday (hosted by the Steel City SQL User Group).  My talk is titled “Confessions of a Data integrator”, and will focus on dealing with other people’s database designs. 

Over the last twelve years, I’ve built a career on pulling data from a variety of data sources, most of them which were poorly designed (according to the basic rules of normalization).  From that experience, I’ve pulled together a set of principles for extracting data which I plan to share.  This is a bit of challenge for me, because I’ve never actually written any of these rules of mine down 🙂

Anyway, if you can make it, please do; stop by and see me.

Educational opportunities a blooming….

Just in case you’re not following http://sqlsaturday.com, there’s been a few announcements of upcoming SQLSaturdays.  I’d love to go to a few of these, but we’ll have to wait and see how the economy shakes out a bit. 

  • SQLSaturday #7 – May 30, 2009 – Birmingham, AL.  I’m still working on my slides for this one; if you show up, please come find me and say hi.
  • SQLSaturday #12 – June 6, 2009 – Portland, OR.  I’d love to go to this one, but obviously Oregon’s a bit of a haul from the ATL (plus, see reason for not going to #14 below).
  • SQLSaturday #14 – June 6, 2009 – Pensacola, FL.  My family’s leaving on a cruise on June 7th, and I’m very tempted to say “we could swing by Pensacola a day early…”  Ain’t gonna happen.
  • SQLSaturday #16 – August 8, 2009 – Miramar, FL.  South Florida will rock.

 

Of course, there’s lots of other development code camps going on; here’s a couple that I want to attend:

  • Codestock – The dev community in Knoxville, TN is an incredibly awesome bunch of people; it’s southern-fried hippy geek culture at its finest.
  • DevLink – Technically, devlink is not a code camp (they actually charge a substantial fee – a whopping $100), but they’re close enough that I feel comfortable placing them on this list.

You can find a much more complete list at http://codecampjukie.com

Reflections on my comfort zone

Spoke to a good friend today; a guy I haven’t seen in several years, but we exchange emails pretty regularly.  He’s been having a rough time this year: he lost his job earlier this year, and has been trying to find work to keep him afloat while he revamps his career.  He mentioned to me today that he was moving back to our hometown so that his kids would be near family while he gets thing sorted out.

Home is a comfort zone, and it’s the place to go when things are bad; while I support my friend, I did give him one piece of advice: don’t settle there.  It’s not a bad place to live, and I have lots of friends who are very happy to live there, but there’s a difference between making the decision to live someplace because you like the benefits (home, a small town life) and settling for a life because you’ve run into a wall elsewhere.  This guy and I always had the dream of leaving town; granted, we both thought life was going to be different than it turned out, but at least we both managed to get that part right.  We moved out, onward, and upward.  It’s OK to go back to visit, but don’t stay unless you’re sure you know why you’ve decided to stay.

As I was thinking about this, I realized how much I have settled in my own career.  I like my current job (lots of benefits), but I’ve gotten bored with the grind lately.  I’ve stopped challenging myself to learn something new, and have settled into the “same old, same old” because it’s easier that way.   While I continue to be productive, I haven’t grown professionally as a developer, and that’s not a good place to stay.  It’s OK to visit, but not OK to settle.

So today, I seize the day.  I go back to the lists of things to do, and I start ripping through them and challenge myself to learn something new. 

So you wanna host a SQLSaturday? Here’s my tale….

This is going to be a long post; definitely the longest I’ve written in a while, and probably longer than anything I’ve ever written.  So long, in fact, that I’ve toyed with the idea of breaking it into separate chunks.  However, I decided to keep it as one piece because I felt like someone out there may want to print it out, and I thought it would be easier if it were one post.   Before I get too deep with this, I have a few caveats; first, I am not an expert on SQLSaturday, nor am I the authority.  I’ve done one, and while I feel like it went well, there is always room for improvement.  If you really want to get to know about SQLSaturday, you need to contact Andy Warren and get a copy of his infamous checklists on things to accomplish.  I just wanted to write out some of my experiences and ideas in the spirit of sharing.  Second, my experiences may not jibe with your experiences, so don’t try to emulate me too closely.  I just happened to be in the right place at the right time for a lot of this, and you are probably in a different place (and most certainly a different time).

Anyway, on with the list; first, a little background.  SQLSaturday #13 was held April 25, 20009, at the Alpharetta, GA offices of Microsoft.  I first started talking about a SQLSaturday in September of 2008, and began actively planning it in January, 2009.  I did have a lot of emotional support (and opportunities to bounce ideas around) from the leadership of AtlantaMDF (as well as Andy Warren), but I did most of the logistical legwork myself.  I say this not to brag, but so that you understand how it came together.  Being the primary planner for this event was helpful to me because it let me understand where I could do better with delegation in the planning stages; I do need to say that on the day of the actual show, I had a huge team of volunteers who went above and beyond anything I could have asked.  I may have planned the attack; the volunteers carried it out.

Speaking of that, let’s talk about planning for a SQL Saturday:

1.  General principals

One thing I wish I had done a better job of was to keep asking myself the question: “How does this build the local SQL Server community?”   I think we had a great event, with great speakers, and great attendance, but if we didn’t build up the community, we wasted a lot of effort on a single day.   The point of a SQLSaturday (or any user-driven community development event) is that the local technical community should be built up AFTER the event is over.  Connections need to be made, networking should increase, new speakers should be encouraged to grow.  We accomplished some of that with SQLSaturday #13 (more on that later), but more could have been done.  Ideas include:

  • promote the heck out of the sponsoring user group; make sure that every attendee walks away knowing who the user group is, when they meet, where they meet, and how to contact them.
  • include Twitter/Facebook/LinkedIn directories as part of the event registration
  • have chalk-talks, ask the experts, or coding contests throughout the event to encourage people to share, and not just sit and listen.

 

2.  Delegate, but have a single decision maker

There are several roles that need to be fulfilled, both before the event and during the event; I’ll try to detail some of these, but always remember that you need a single decision maker at the top of the food chain.  During the event, when things happen, it’s far better to have someone make a quick (and accurate) decision than it is to try and negotiate or look to find someone who knows how it’s supposed to be handled.  In other words, if there’s a question about how prizes should be handled, and your prize master doesn’t know, they should go straight to the top.  So here’s my short list of roles, including a description and a time frame for their duties:

Event Coordinator: The event coordinator is the person in charge; they delegate authority to everyone else.  They need to be in on the process from the beginning of the planning stages, and they need to be familiar with all of the issues associated with implementing the show.  Where is the event going to be?  What date will it be?  What are you going to serve for lunch?  Are you going to have a lunch fee or not?

Sponsor Wrangler: This role is the money role; they’re responsible for two things: 1) find sponsors, and 2) keep the sponsors happy.  You keep sponsors happy by making sure that they feel like they’re getting a good value for their sponsorship (ideas on that later).  Sponsor Wranglers are also responsible for making sure that the sponsors keep up their responsibilities; your sponsors will have other obligations, and just like you can let something slip if you’re not careful, they can too.  Also remember that some sponsors will want to donate goods instead of financial support; it’s up to you to decide if that’s OK, but if you accept goods, the Sponsor Wrangler needs to make sure that those goods arrive in time for the event.

Speaker Wrangler: You gotta have talent for the SQLSaturday, and the Speaker Wrangler role lines that talent up.  Make sure you pay attention to point 1 above; you want to bring in enough talent to have a successful show, but you also want to foster community.  The Speaker Wrangler needs to seek out a mix of experienced and new talent, as well as try to get local and regional (or even national talent).  This role also needs to think about things like the speaker dinner, the speaker shirts, and getting the slides and code from the speakers after the event is over.

Volunteer Wrangler: No matter how many people you have helping you plan the event, you need a small army of volunteers to actually run it.  The Volunteer Wrangler needs to coordinate with the Event Coordinator to find people to do things like help set up, stuff event bags, place signage for the event, manage the registration desk, collect feedback forms, and handle prize distributions.  I actually had a couple of wonderful volunteers who stepped up the day of the event to handle event registrations and be my prize manager; I told them what I wanted, and they did it.

Note that you can have multiple people fulfilling one or more of these roles; you just need to have these roles fulfilled.

 

3.  Event day issues.

Here’s a list of stuff to think about:

  • Always have a health plan.  Midway through the first session, a volunteer found me and asked “do we know where the first aid kit is?”  I shifted from relief to panic in at lightning speed.  Turns out someone had a minor cut, it was really nothing, but I didn’t know where the first aid kit was.  You should also know where the local emergency rooms are, as well as the address of the facility in case you have to call 911.
  • Pack a tackle box of supplies.  You’ll need paper, tape, scissors.  You may also want to keep a printer handy in case you need to print badges on the fly.
  • Have a plan for non-registered “showups”.   See the bit about printing badges on the fly.
  • Even with a lunch fee, some people won’t show up.  I kept thinking we were gonna have 100% attendance since people ad already paid for this, but we still only pulled about 85%.  That’s kind of sad, given that we ha to turn away people from the pre-registration because of fire code.  It really meant we needed a larger facility.
  • You have to buy lunches for everyone; over-order veggie meals, and figure out something to do with the extras.  You can send them home with attendees or donate them to the local fire department.  Just have a plan, cause you WILL have leftovers (see the point above about no-shows).  Make sure that you have a list of who gets a veggie meal at registration, and stick to that list (some meat-eaters change their mind).
  • If you have to change rooms between sessions, make sure you have plenty of time to do so.  We had a large room that could be separated into 3 rooms; we had plenty of time to make the change before the lunch speaker, but I didn’t leave enough time after the lunch speaker to change configurations.  We made up the time, but something to think about in future events.
  • Don’t expect to attend more than 1 session.  I like learning, and you probably do to. However, one of the sacrifices of putting on a conference like this is that you don’t really get to attend the conference.  Spend your time networking with the speakers and sponsors who aren’t speaking.  Hang out with the attendees; just don’t plan on attending too many sessions.  DO PICK ONE, however, and go to it.  You deserve it.
  • Eat well before the conference.  You probably won’t have time to do so during the conference, unless you eat BEFORE the lunch break.  Our case, sandwiches were delivered at 11:30 for a 12:00 lunch; I should have grabbed one out of the delivery guy’s hand and eaten it then.   I tried to eat during the lunch break, but was busy resolving issues.
  • Get a room.  If you live more than 10 minutes away from the conference location, you probably ought to consider getting a hotel room nearby the night before.  Get as much sleep as you can before the conference, because you’re gonna be bone-weary the night after it’s over.  I live 30 miles away from where we had our conference, and I almost didn’t make it home without falling asleep.
  • Schedule space by the speaker, not the topic.  I tried to have smaller rooms for more advanced topics, and leave the larger rooms for beginning topics.  I had a popular speaker giving an advanced topic in a small room, and it was overflowing.  People like to hear good teachers speak on something even if the topic may be more advanced than the audience.
  • Try to fill every block of your schedule with something to do. I had a couple of gaps late in the day because I thought there would be some attrition.  I was wrong, and ended up with overloaded sessions.

 

I think that’s it for now; I’ve still got a lot left to do in the coming days, but I think this should suffice for a write-up for now.  If you’re thinking about hosting a SQLSaturday, do it.  It’s a great experience, and it’s an incredible way to connect with the database professionals in your area.  If I come up with more ideas, I’ll write an addendum to this post.

SQLSaturday #13: Today’s the day…

Don’t have time to make a long post, but it’s here…  I hardly slept at all last night; I was out WAY too late at the speaker’s dinner, and then had some things I had to finish printing out.  When I was done with that, I was so wired that I just lay there in bed.   It’ll probably hit me after the sessions begin and this monster is truly out of my hands.  I’ll try to write a post-op up later this weekend, but for now, I hope that everyone who comes gets what they need out of it.

Stu

SQLSaturday #13 – 3 days to go

Holy cow, I’ve got a lot left to do. I know this is probably boring for most of you, but this post is mainly going to be a list of unfinished business. I’ve to to make the list anyway, and I’m committed to making at least one blog post, so let me cheat it out. Anyway, here goes (in no particular order):

  1. Send out Silver and Gold level sponsor emails to all registrants.
  2. Pick up name tags & tickets from Larry (one of our volunteers).
  3. Print out missing name tags and tickets for the people who bumped up the list (when others dropped out).
  4. Count the number of prizes I have to give away, so I know how many drawings throughout the day to have. May have to wait until Friday since two of our sponsors have stuff in the mail.
  5. Go to Sam’s and renew my membership. Buy 300 cans of Coke, 300 cans of Diet Coke, and 300 bottled waters.
  6. Attend the Speaker’s dinner Friday night; don’t forget to bring the shirts!
  7. Pick up boxes for every sponsor raffle and for every class raffle.
  8. Print out registration lists for people to register; send a copy of the list to Microsoft for security purposes (&%^%$%^ that was due today!).
  9. Work on my Powerpoint presentation for “Welcome!” speech

I’m sure I’m forgetting something, but this is a start.