Checkpoint: Three Years Later

It kinda snuck up on me. I’ve got so much going on I forgot all about it. There was so much going on: client deliverables, kids birthdays, presentations, conferences, even freaking accounting…life was happening. Three years ago, I was laid off from my job of almost twelve years. I try not to think about it too often; no sense in dwelling in the past. But on the anniversary I like to take a look back at where I was an remind myself about how much has changed. And boy, things have changed.

For almost three years I’ve been working as an independent consultant. There’s nothing glamorous about that but I did get two very important things from working independently. The first thing I got was the ownership of my learning plan. I now control what I learn and how I learn it, fully. If I want to learn Hadoop I get to choose when and how that happens. I no longer have someone telling me that they’re going to send me to Informatica or some other training. I get the choice. Of course, that means I have to pay for it all but I’m convinced that not all knowledge is beneficial for one’s career path. We only have a finite number of minutes every day to learn. I want those precious minuets to be on something I’m passionate about.

The second thing I got was choice. I get to choose who I work with. For me this is empowering. I now choose to work with some of the best people in the business and that would scare some people. Some people need to be the smartest person in the room. So they find a mediocre place to work so that they can be the biggest fish in that little pond. I’m not that guy. I want to be the dumbest person in the room. Why? Because that room is going to be full of amazing people. That’s the team that I look for when looking for work. I want to work with amazing people doing amazing things.

Also during those three years I started speaking…a lot. And let me tell you, I love it. I try to speak at one event a month. I’ve met some great folks traveling around the country presenting at events and conferences. Those people are now colleagues and friends. There’s a fantastic technical community out there if you just look. If I have a technical question that I don’t know the answer to I now have a community of folks that can answer it. It’s awesome.

The other thing that I did was create a local community of developers. We called that community dotNet Miami. I’ve talked a lot about it on this blog. But the people in that community continue to push me towards technical excellence.  And if you didn’t know already we’re a whole lot of fun.

I’ve also created software. It’s a tough line to walk between data professional and software developer but when they come together it’s almost magical. One of the things I’ve created is a website called This site helps SQL Server professionals make sense out of STATISTICS IO and STATISTICS TIME outputs. It’s a great feeling when Microsoft MVPs and Microsoft MCMs go out of their way and thank you for writing a tool. There’s more tools to come from me so stay tuned.

It’s been an interesting ride so far. Often it’s been scary but it’s been an awesome journey. I’m really looking forward to doing more for the community and my clients. The best is yet to come.

Summit 2013 In Review: The Good

The PASS Summit had a lot to live up to. I’ve heard so much about the Summit from my fellow PASS members I fully expected it to be located in the Land of Oz, staffed by the Kermit the Frog and the Muppets, and the speakers carried lightsabers while moving you to tears by just saying hello. Like I said, a lot to live up to. Although not located in Oz and not one Muppet was sighted (Buck Woody didn’t’ attend) there were plenty of good things that this conference had to offer.

I attended Paul White’s excellent pre-con titled “Understanding the Optimizer and Interpreting Execution Plans” on Monday. I walked into the pre-con, sat down then saw that five MCMs sitting behind me and one MCM sitting I front of me. At that point, I knew this wasn’t going to be your typical conference pre-con. Paul did a great job of presenting some very complex stuff and was very engaging with the audience. That pre-con alone made the trip worth it.

Pretty as a picture.

The Charlotte area is lovely. The place is picturesque. It’s like the place isn’t in America. It’s so perfect it’s kinda weird. I took a couple of Vine videos (video 1, video 2) while I was there check them out if you want a quick look at the place. My hotel was located across the street from the convention center so it wasn’t a big deal to head back to the room to pick something up. There was also a ton of restaurants in the area and getting around was just so easy. I have to say it was the perfect location for a conference even if it was a bit weird.

During the Summit there was a bunch of things going on at once, sessions, vendor area, SQL Cat team, lightening talks, and the community zone. You couldn’t do everything so you had to choose. I did spend some time in the Microsoft area. There I got a one-on-one discussion with a Microsoft employee about the Parallel Data Warehouse (PDW). We went back and forth on how PDW worked compared with other parallel databases like Teradata. I pretty much got my own private session of PDW which is most awesome.

Even though I didn’t attend many sessions many of the speakers were top notch. It’s always a crap shoot when you go to these kinds of conferences. Will the speaker know the material? Will the speaker be engaging? I’d much rather hear a great speaker talk about something I could care less about than hear a bad speaker talk about a topic I’m passionate about. So of the three sessions that I attended I made it a point to see Brent Ozar (twitter | blog) speak. I had no idea what his presentation was about because I didn’t look at the title. As usual he was informative, entertaining and engaging. It’s always a pleasure to hear him speak.

I also participated in SQL Run which was a 5K run put together by Jes Borland (twitter | blog). I know, why in the world would I wake up at 5 AM to run three miles with people I didn’t know? Why wouldn’t I? SQL Run was a great way to get out, see the city a bit and meet some folks all while getting some exercise. I also got an awesome tek shirt out of it.

Can I tell you something else? The parties were awesome. Some were planned, some were not. There was always someone interesting to meet. Andy Warren’s (twitter | blog) networking party packed out Buffalo Wild Wings. And let me tell you these people love their karaoke. I counted three full nights of karaoke, and that’s awesome.

Community Zone

Andy Warren holding court in the Community Zone.

Sure there was a whole lot going on during the Summit but there was one thing that was the thread throughout the week and that was #SQLFamily. Being apart of the SQL Server community is one of the reasons why I started dotNet Miami. From Sunday when I landed in Charlotte until Friday night when I landed back in Miami I was surrounded by SQL Family and it was awesome. So that’s why my favorite part of the Summit was the Community Zone. At any given time it was full of people willing to talk about technology and community. And the people that were there were chapter leaders, SQL Saturday speakers, PASS volunteers and Summit speakers. These were the kinds of people that you hope to meet at a conference and they were all in one place. I’m still scratching my head why more attendees didn’t flock to the Community Zone. Such an opportunity wasted…but not by this guy.

* Title photo credit: Kendra Little

Summit 2013 In Review: Overview

Recently, I had the opportunity to attend the PASS Summit in Charlotte, North Carolina. I’ve made attempts the past few years but I’ve never been able to put a trip together for one reason or another. This was my first PASS Summit which some have described as the Super Bowl of SQL Server conferences. The best and the brightest minds that work with SQL Server show up for a week of sessions and networking. After I missed the 2012 Summit I decided enough was enough and purchased my ticket before 2012 ended.

My plan for the 2013 Summit was simple: talk to as many people as possible. If I hit a few sessions that was cool but those sessions would be recorded. Being able to talk to some of the people that shape SQL Server is an opportunity that only comes once a year, so I wanted to take advantage of it.

What also made the Summit somewhat unique for me was that I’ve been involved in the SQL Server community for well over four years now. First on Twitter, then as a speaker at SQL Saturdays and user groups. So many of the speakers, organizers and volunteers I have known or had conversations with for years. So, I wasn’t going into this conference without knowing many people, which is a very cool feeling.

I spent the week having many conversations about SQL Server, the SQL Server community and trying to understand PASS’ role in the local chapters and SQL Saturday. I never had a meal by myself nor did I spend a night in my room wondering what to do. There was always a gathering after hours or a group to have dinner with. This community really does a great job in providing many, many opportunities for networking, learning, and having fun.

Overall, I had a great time and finally met many of the people that I’ve been chatting with on Twitter for years. It’s great to meet someone in person with a hello and a handshake. If you’re someone who deals with SQL Server whether you’re a developer, DBA, or BI practitioner this is the conference for you. I’m planning on making another trip to the PASS Summit next year in Seattle and who knows maybe I’ll be selected to speak. I’m not sure the Summit is ready for that…only one way to find out.

T-SQL Tuesday #41: How I Started Presenting

TSQL2sDay150x150For my first T-SQL Tuesday post this is an appropriate title. I love speaking. It all started when the call for speakers came out for the very first South Florida IT Pro Camp. At the time I was a practicing project manager and was looking for excuses to keep my technical skills up-to-date. I was finding this particularly difficult to do in my day-to-day job.

I had just returned from Tech-Ed 2011 where I had a complete blast. I had approached that conference much differently than any other conference that I had ever been to. I decided that I was going to converse with as many people as I could (skip sessions if I had to) and attend every party. The key for me was to network as much as possible. The sessions were going to be online later but the technical expertise that had come together for four days was only temporary.

What I learned from Tech-Ed 2011 was that I really enjoyed participating in a community (yes, a conference is a temporary community) and talking tech with geeks. I actually learned more from the one-on-one conversations during that conference than from the sessions that I did attend. Since I wasn’t having these kind of conversations at work  I realized that I would need to do something different. It was then that I found out that community events such as code camps typically have a speaker dinner the night before the event. For me that was like hitting the Daily Double. I could not only have some great technical discussions but they would be with some of the brightest people in our industry. But I still wasn’t convinced. So I took to twitter where Ryan Parsley (blog | twitter) gave me some encouragement so I decided to submit. So if you ever sit into one of my sessions you can blame Ryan.

I spent the next few weeks gathering information and putting a presentation together. It was a bit scary. And as I recall I took a few vacation days to work on the presentation. During the preparation, I do recall doubting myself and thinking “Who am I to be in front of an audience?”  I think I ran through the presentations at least five or six times before the event. I was nervous but not as much as I thought I would be. The night before the event was the speaker dinner and I wasn’t disappointed. I engaged in a few excellent conversations. The day of the event I gave the presentation (Introduction to Project Management) and had a blast. It was so much fun. It wasn’t long before I had signed up for a SQL Saturday and a Code Camp.

Six months later I started dotNet Miami and was helping others find the love of speaking while sharing their knowledge. I haven’t been speaking very long but

How dotNet Miami was started

dotNet Miami

After the inspiration of starting a community and creating the vision the big question in my mind is how am I going to start this thing? Luckily, I had a guide. I started off by reading Dr. Greg Low’s (blog|twitterThe Rational Guide To Building Technical User Communities. This short book is a must read for user group leaders. It goes into the ins and outs of leading technical communities. It covers everything from finding speakers, recruiting volunteers to tips for presenters and how to find funding.  It gave me a good foundation on how to start the group.

The next thing that I did was to start spreading the vision. I initially met with a few developers that I worked with in the past and other people in the South Florida community that I’ve met.  Some were interested, some were not. The meetings were small; we never had more than four people. One of those people was Dave Nicolas. Dave became my right hand man and our biggest cheerleader. I think it’s safe to say that without Dave there may not have been a dotNet Miami. These meetings were discussion on how we would get started and where I would share the vision. We held these meetings every month and started to get to work.  The biggest hurdle that we had to overcome was to find a meeting place. Since Miami is a big place we needed it to be somewhere central. Somewhere that was easy to get to after 5:00 PM. I instantly targeted Coral Gables. It was smack in the middle of Miami-Dade county and thirty minutes from anywhere.

After meeting for three months and still not having a location I got impatient. Who cares that we didn’t have a location? The important thing is that we start building community. So we planned meetups (or geek dinners) held at a local sports bar. We didn’t have any publicity for the first meetup and again had the same group of four. For the following meetup I did things differently. We announced our event in the Sherlock Staffing community newsletter. This newsletter is sent weekly to thousands and lists all of the technical events in the South Florida area. When we held the event we had ten people show up. We had a phenomenal discussion about javascript, database development and learning resources. After that meetup, I was really encouraged. We had ten people show up just to talk tech! Maybe Miami can support a .Net community after all.

We made good headway on sponsors, a website, and speakers but we were still missing one major component: a location. During one of our planning meetings Josef Diago mentioned a new café that opened in Coral Gables called Planet Linux Café and that maybe they would host us. So I took my daughter for a trip to the café. It was a wonderful place that was warm and friendly. My daughter also approved of the chocolate cake. I spoke to the owner Daniel and he was more than happy to host us. So we set a date for the third Thursday of January. We had the final piece. DotNet Miami was going to become a reality.

Seven months spanned from our first planning meeting to our first real meeting. It was more work than I initially thought and not being able to find a location for so long was disheartening. But it was totally worth it. For our first meeting in January we had thirty-five people attend. Not bad for the first time out. The community continues to grow and meetings are lively as ever. I don’t think it’s a coincidence that this year I’ve learned more than any other in my professional career.

What dotNet Miami is all About

dotNet Miami at the Hackathon

Why wouldn’t you want to hang with these people?

After deciding to start a .Net community the next step was to decide why dotNet Miami should exist. It’s not enough just to have a desire of community. If I was going to start a community what benefit would it provide? How would this new community provide value to it’s members and the Miami technical community at large?

So this got me thinking, what would my ideal .Net user group look like? First of all it would be full of people who genuinely enjoy being around each other. The community members would be diverse both in ethnicity and in thought.  There wouldn’t be a meeting where ninety percent of the attendees walk into a meeting and leave without saying a word to anybody. It would be inviting for both the seasoned technical professional and the college student. The meetings would be full of diverse technical content. The topics presented will interesting and relevant to what I do at work. The speakers would be a great blend of well known names in the industry and members of the community that investigate a topic and then present on it. This way the expertise stays within the community and all can benefit from it. And we wouldn’t have presentations from sponsors that are just bad product demos. There wouldn’t be any charge for attending a meeting or any membership fees. And we would never, ever, call it a user group.

Yes, my ideal community would be all of those things but most of all it will be about people. People who freely share ideas together. People that can answer each others questions when it arises. People who encourage one another to be better both technically, professionally, and personally. Yes, this is what dotNet Miami is all about and here is how we describe ourselves.

Who We Are
We are a group of developers that are passionate about technology. We primarily focus on Microsoft technologies but are open minded to other platforms and ways of thought. We are diverse in our experiences with technology some of us are seasoned corporate developers while others are students. Within the group we see each other as equals and are able to learn from our unique experiences.

What We’re About
We believe that together we can make each other more awesome than we already are. We are firm believers that community makes us better developers and better individuals. We believe that community is more than a meeting of like-minded individuals that sit in the same room for an hour listening to a speaker then leaving without interacting with one another. We believe that community is actively engaging with one another. Whether it’s an intense discussion over a new product or just shooting the breeze over a drink, together we can improve each other’s skills, technical or otherwise. We also love it when our members present to the group. We always want to provide a place where our community can improve their speaking and presentation skills. We also believe in encouraging other technical communities in the South Florida area. We are not competitors, we are comrades.

What We Promise
We strive to deliver content that appeal to our members that are just beginning their journey into technology and those that have been on their journey for a while. This means that most meetings we will have a presentation introducing a topic and a main presentation. We will also treat, with respect, everyone that desires to participate in the group. We want everybody to feel that dotNetMiami is a safe place for interesting and challenging technical discussions. We can agree to disagree but we will not tolerate disrespectful conversations. We also love our sponsors. We think their products are amazing and we hope you do too but we feel that sales presentations are boring. We promise to not sell you products but give you information about products that could save you time and make you a rock star in the office.

Why I Started a .Net User Group

If there is dissatisfaction with the status quo, good. If there is ferment, so much the better. If there is restlessness, I am pleased. Then let there be ideas, and hard thought, and hard work.” – Hubert H. Humphrey

Last year I started a journey. For years, I had been observing people interact in groups. I had gotten to know the SQL Server community over twitter and saw how they interacted with each other. How their concept of #SQLFamily spanned more than just a common technical bond. They liked being around each other; they were friends. I also started to hang around the South Florida WordPress community. I saw how they bonded together when one of their own was in a life threatening motorcycle accident. They gave not only their sympathy but their time and money.

Then I started to wonder, why isn’t the .Net community like this in Miami? To be honest Broward and West Palm Beach have some good .Net communities. The annual South Florida Code Camp has fourteen tracks and over 1,000 registrations. Dave Norderer (blog | twitter) who organizes the Code Camp does an amazing job with the event. So if South Florida can host one of the largest Code Camps in the country why can’t we have a vibrant .Net community in Miami? This question came to a head for me when three of the Visual Studio team members came to South Florida. The Miami User Group hosted the event but there were only twenty or so people there. That really got me thinking about the nature of community. If developers won’t come out to an event where the people that writes the tool that they use everyday are there why would they come to an event at all? Can’t they get great training from home via the internet with sites like Pluralsight or Tekpub? Why do people even get involved in community? More importantly why should I and why should I care?

I pondered these questions for a few months still observing the SQL Server and WordPress communities. During Tech-Ed I wondered out of my pre-con and into the INETA User Group Leader Summit. I’m not quite sure what drove me there. Probably my curiosity of successful communities and wanting to meet up with some acquaintances that were attending. I think I had more questions after the Summit then I did before but I met some really great folks that shared their thoughts on community throughout that week. It was there that I decided to create something instead of just criticizing. To put myself out there and build a community in Miami. What I realized that week that it doesn’t take an uber MVP community guru leader to start a user group just someone who’s willing. I also realized that I had a desire, a need, to connect with others that shared the same passion that I have about technology.

I still haven’t had all of my questions answered. In fact, I have more questions about the nature of communities now then when I started. But now that I’m a part of a community I can start investigating answers to these questions while making the Miami technical community a better place. That may be the biggest reason to build community after all.

Visit our community at

New T-SQL features in SQL Server 2012

Recently, I spoke at SQL Saturday #141 South Florida. Words can’t express how much I love the SQL Server community. Every time I’m able to speak at a SQL Server event I’m deeply honored. For almost the past year I’ve been traveling around Florida speaking at events like SQL Saturday talking about Project Management. But for this SQL Saturday I wanted to talk about something different. I wanted to talk about SQL Server (*gasp*).

For almost a year now I’ve been working as a SQL Server consultant. No, not the DBA kind but the developer kind. I’ve been slinging around some hefty T-SQL code recently and with the introduction of SQL Server 2012 I was really interested in the new features in T-SQL. So what better topic could there be for a SQL Saturday for a presentation? What hit me first was that there wasn’t a big feature like Common Table Expressions or PIVOT/UNPIVOT in the 2012 release. But this release has a bunch of little features that will make your experience better when writing T-SQL. The new functionality to the OVER clause (aka Window Functions) may get most of the headlines but I’m a fan of the smaller features like CONCAT and FORMAT. These incremental improvements will help in BI situations such as transforming and reporting data.

One of the other things that I used for the demo was the Stack Overflow Data Dump. Stack Overflow releases their data every month so crazy people like myself can toy with it. It’s great for demos because of the depth of data and easy to understand schema. If you do any sort of demos check it out.

Download the demos from “New T-SQL features in SQL Server 2012″