Andy Leonard is CSO of Linchpin People
, an SSIS Trainer, Consultant
, and developer; a Business Intelligence Markup Language (Biml)
developer; SQL Server database and data warehouse developer, community mentor, engineer, and farmer. He is a co-author of SQL Server 2012 Integration Services Design Patterns
. His background includes web application architecture and development, VB, and ASP. Andy loves the SQL Server Community!Note: Comments are moderated. Spam shall not pass! </GandalfVoice>
I am about to break one of the rules of this blog. Years ago, I decided to never write about things that happen with clients until at least one year had passed. I am going to make an exception and write about something that happened very recently in the first part of this post. I confess I have been writing the second and third parts of this post for a couple years. I have waited to publish those parts for much the same reason I wait to write about client interaction: There is no substitute for the perspective given by time.
Part 1: A Mistake
“Nothing Has Changed”
It was the last possible day to load the Operational Data Store (ODS) with data that would be used for 2013 year-end reporting. Automation was weeks away. The team had been working for weeks on a manual checklist for the load. Since some of the team had planned vacation time approaching, others were cross-trained to execute their portions of the checklist. It was a clean hand-off of work between professionals.
The end-of-year load was scheduled for a Saturday. Early in the week before the Production load, I backed up the Production ODS, restored it to the Development server, and practiced. My part of the checklist contained over 100 manual steps. I ran through them three times, with analysis following each load. Tweaks were made each time. By Friday afternoon all were confident the load would succeed without a hitch.
I began walking through my checklist, executing the load in Production, at 4:00 AM Saturday morning. The Production database was largely static, since the loads were occurring manually and infrequently. I had a backup that was a few days old. I distinctly remember thinking, “Nothing has changed; if I need it, I’ll just use that backup.” My engineering-spidey-sense tingled a little but I ignored it. “Nothing has changed,” I told myself again. Sitting here now, typing this, I know what you know as you sit there reading this: That was an assumption. A rather stupid assumption, at that.
I have excuses.
- No one told me additional data had been loaded into the Production ODS. As a data professional, I am the data’s keeper. People should not have to tell me about changes. I should operate as if no one tells me anything. I should execute defensively. What am I defending? The integrity of the data. As excuses go, this is weak.
- Our team made exceptions to our own rules. On larger consulting gigs, we work in pairs. On smaller gigs, we work alone but share our thoughts and plans with other team members. There’s no substitute for a second set of eyes. Why did we deviate? Vacations and holidays conspired with an immovable deadline; the end of the year could not be postponed. This excuse falls into the combination-of-tolerances / comedy-of-errors category. Somewhat avoidable with better planning, but mostly inevitable once the second end of the candle was lit.
- I was exhausted. As a data professional and as a consultant, I owe it to my clients to work only when I am capable of performing at my very best. It must be “A Game” or “no game.” That’s one of the reasons the aforementioned vacations were not cancelled – even though an important deadline loomed. It’s the reason we strive to travel during the week and not on weekends. And that’s the way it is most of the time. This was that one exception brought about by the perfect storm of the amount and nature of the work remaining and a deadline that could not be moved. This excuse has some validity.
Excuses stink. The short version of a long story is: The Production ODS load didn’t work like the three loads I practiced in Development. Hindsight is 20/20 and looking back, I realize the reason my practice loads worked differently from the Production load was data had been added to the Production ODS since my earlier backup. This prompted the execution of “Plan B.” When I executed Plan B and restored from the earlier backup, I effectively deleted the data I didn’t know had been added and then re-executed my 100+ steps. Not surprisingly, this load went much better.
Something had changed.
“What Do I Do Now?”
I was made aware of the missing data during a meeting. The VP who owned the system that was expecting the data I wiped out was in attendance. It wasn’t an ambush – merely a coincidence. The team is just that small. I put the pieces together quickly in my mind and thought, “What do I do now?” I wanted to remedy the mistake, but I didn’t have a time machine that would allow me to go back and smack myself in the head at 4:00 AM Saturday. So I spoke up, “I know exactly how that happened. It was me. I restored from an older backup. Durnit! That was stupid of me. I apologize.” No one was happy I had deleted data from the Production system. But they acknowledged my apology and we moved forward with the meeting.
After the meeting, still motivated to remedy my mistake, I contacted the developer who had loaded the now-missing data. I apologized to her and offered to help reload the data. As is often the case in our line of work, the hard part was figuring out which data to load, how to find and validate and cleanse it. The actual data-loading part is minor by comparison. Plus, she had saved her work. Reloading would take a few minutes. She appreciated my apology and offer, though.
By sheer serendipity, my error worked in our favor. The ODS is a source for downstream systems, and it proved a lot easier to load one of those systems without the additional data present. With less effort we loaded that system, reloaded the data I deleted, and moved forward. All’s well that ends well, right?
All’s well that we manage with integrity and intelligence.
Part 2: Responding Well
Several apology-generating incidents (AGIs) occurred around the same time. You can read about a couple of them here:
Responding to Plagiarism
In the first instance, a content author plagiarized Itzik Ben-Gan’s content from his book, Microsoft SQL Server 2012 High-Performance T-SQL Using Window Functions. Once the plagiarism was identified, SQL Server Central issued a public apology and held a contest which gave away 10 copies of the book – generating 10 sales for the book.
Why did SQL Server Central apologize? I think that’s a great question. SQL Server Central apologized because they are the organization – the website backed by a corporation – that published the plagiarized material. Did SSC intentionally publish the stolen ideas? Goodness no. It was a mistake.
Everyone makes mistakes.
Just like my mistake with the backup, they didn’t realize it was a mistake until after the damage was done. And, just like my mistake, they took immediate action to rectify the matter. First, they acknowledged their error and apologized. Second, they did what they could to correct the negative impact by purchasing copies of Mr. Ben-Gan’s book for the contest. Both responses were appropriate. Kudos to SQL Server Central for stepping up.
Tim Mitchell wrote an SSC guest editorial about Buffer’s response to hacking. In October, Buffer was hacked. Spammy messages, appearing as though sent by Buffer users, began appearing on social media profiles of Buffer users. As Tim notes: To Buffer’s credit, they opted for transparency before they really knew what was happening.
In and of itself, this is simply awesome. But that’s not all. Joel Gascoigne, Buffer’s CEO, wrote the post himself, and he opened with this line:
I wanted to post a quick update and apologize for the awful experience we’ve caused many of you on your weekend.
The ninth word in Joel’s initial update on the topic is “apologize.”
Everyone makes mistakes.
I make mistakes like the incident described in Part 1. SQL Server Central didn’t catch the plagiarism until after the article was published. Buffer detected a breach soon after it occurred. In each case an apology was issued early.
Apologies are most effective when they are delivered immediately. But given the choice between late and never, late works. Which brings me to …
Part 3: A Public Call for a Public Apology
For the reasons I outlined in this post, I believe the Professional Association for SQL Server (PASS) owes Steve Jones a public apology.
Not everyone agrees with my original thoughts and I do not expect everyone to agree with my public call for a public apology. Before scrolling to the comment text area, please read and consider these next thoughts.
Do Apologies Convey Weakness?
I know some believe apologies convey weakness and I disagree. In fact, the opposite is true. Everyone makes mistakes. By definition, mistakes are not intentional. Admitting a mistake and apologizing demonstrates an awareness of this reality. Conversely, not apologizing could be interpreted to mean, “We never make mistakes,” and that is not a healthy or helpful way to think.
Do Apologies Admit Malice?
Goodness no. A wise person recently wrote we should always assume good intentions. I concur. I didn’t intentionally wipe data from that database. SQL Server Central didn’t intentionally publish plagiarized material. And Buffer didn’t leave a back door open for hackers.
Everyone makes mistakes. Stuff happens. Even when we mean well. Apologizing is a way to admit, “We know you didn’t like the way this happened and we’re sorry you were hurt.”
Why Are You Asking for a Public Apology Publicly?
I’ve made this request to members of PASS leadership privately. Repeatedly. I’ve pleaded, in fact. Why? I believe this is a blemish on PASS’s relationship with the SQL Server Community. PASS leadership alternately positions itself as community leaders and as the community. I will not address the merits of either argument in this post, but I will point out that the 2010 elections episode is pivotal in the history of the relationship between PASS and the SQL Server Community.
Why Are You Doing This Now?
“It has been 3.5 years. Why now, Andy?” That’s an excellent question.
Zerost, I love the SQL Server Community. And I love PASS. I felt – and still feel – the 2010 PASS elections were a dark hour for both. Truthfully, most SQL Server Community members are not aware of details. Most of those who are aware of the details stopped worrying about them long ago – some because they felt it futile to “fight city hall;” some because they didn’t see an issue with the decision itself, only with the response / reaction to the decision; some for other reasons; and some just because. I respect everyone’s decision. I firmly believe people do the things they do and believe the things they believe for reasons that make sense to them.
I will never win a PASSion Award, but it won’t be for lack of passion for both the PASS organization and the SQL Server Community. I care deeply about both. I perceive a divide between PASS leadership and the Community and I would like for that wall to be removed. I believe this dark hour is the strongest part of that wall. I know PASS and the Community are stronger and better together.
First, I have changed. My initial reaction to the decision to not allow Steve Jones on the 2010 PASS Board of Directors ballot was not positive. The decision by PASS leadership hurt my friend and I was ticked. At the top of this post, I mention my policy of not blogging about incidents until at least one year has passed because time brings perspective. I needed time to move from a place of not-wanting-to-help to a place of wanting-to-help. It took a while. A long while. I am there now. And I want to help.
Second, PASS leadership has changed. The makeup of the Board of Directors, Executive Committee – even Corporate Founders – has changed. Kevin Kline points out many ramifications of CA leaving the PASS Board of Directors in his excellent post, What’s the Hidden Issue in the Recent PASS Bylaw Changes? But it goes deeper than that: Thomas LaRock is now President of PASS. I know Tom and, like most people who know him, hold him in high regard. I respect Tom. I like Tom. I expect him to lead PASS well, and differently. I am not so naïve as to think Tom can single-handedly solve every challenge PASS faces. But I am confident he can continue to nudge the organization in the best direction.
I believe PASS has been moving in a better direction since 2010, but I do not believe PASS leadership has crossed the middle point between where it was and where it needs to be.
That last statement is completely subjective. At this time and in this post, I choose not to discuss the reasons I feel this way. As I stated earlier, people believe things for a reason. I have many reasons for believing what I believe about this. For now, I will engage with anyone privately to discuss what I believe and why – there’s an Email link in the “This Blog” section of this page – up and to the right.
In my opinion, the real shame would be for us to look back 3.5 years hence with this issue still unaddressed.
I believe PASS, the organization, should apologize to Steve. Publicly. I think the way PASS treated Steve was a mistake. I think everyone realizes that. I think an apology is the appropriate response and I believe an apology can be made with integrity.
I am honored to present Using Biml as a Design Patterns Engine to the Midlands PASS Chapter Thursday 9 Jan 2014!
Summary: Business Intelligence Markup Language provides a powerful solution for creating and managing SSIS Design Patterns. Andy Leonard, one of the authors of SSIS Design Patterns, demonstrates the flexibility of BIML in this session.
If you will be near Columbia, SC one week from Thursday and read this blog, stop by and introduce yourself. I’m the fat guy with a fu.
I hope to see you there!
When: Thursday, December 12th, 2013, 6:30 PM - 8:00 PM
Social Time starts at 6:00 PM!
SQL Server Extended Events
Microsoft is deprecating Trace and Profiler, a staple for monitoring SQL server since forever, in favor of Extended Events, introduced in SQL 2008. Monitoring of some of the new features like AlwaysOn Availability Groups in SQL 2012, and a lot of additional features/options that hitherto weren't easily accessible with Trace and Profiler are only available through XEvents. Come see the new functionality and how you can take advantage.
Speaker: Az Arunachalam
Az Arunachalam has been working with SQL server since v4.21/SQLNT. He started as a network engineer managing Novell NetWare networks, graduated into managing Windows NT, moved onto development, and is currently working as a database architect with the VA Dept of Corrections leading a small team of smart integration specialists, report developers/analysts, and database administrators. He is also an organizer of the Richmond SQL Saturday event. In his spare time, he likes to tinker with Arduino/Netduino development, and looks forward to getting his hands on EV3.
Location: Markel Plaza
4600 Cox Road
Glen Allen, VA 23060
This month’s sponsor:
John Sansom (Blog | @SqlBrit) is committed to sharing “what I believe it takes to be an outstanding Data Professional.” To that end, John shepherded a book project called DBA JumpStart.
The concept of the (free!) e-book is: “If you could give a DBA just one piece of advice, what would it be?” The list of contributing authors reads like a Who’s Who of SQL Server database professionals: Jonathan Allen, Jes Borland, Jason Brimhall, Denny Cherry, Robert L. Davis, Richard Douglas, Rob Farley, Argenis Fernandez, Grant Fritchey, Steve Jones, Kevin Kline, Ted Krueger, Jennifer McCown, Bob Pusateri, Brent Ozar, Chris Shaw, Jason Strate, Michael J. Swart, Mike Walsh, Chris Yates, and John Sansom.
I’ve perused the book and recommend it for anyone wanting to learn more about the craft of the data professional.
This is a picture of my son, Stevie Ray, learning SQL on my Surface Pro 2. I bought the Surface Pro 2 the day it was released. I didn’t pre-order it because I wanted to read what others had to say about it first. I’m an early-adopter, but not the earliest of adopters.
I did not like it at first. “Why not, Andy?” I’m glad you asked. The form factor was the culprit. That, combined with the touch keyboard, nearly did me in.
I took the advice of some friends with Surface 1’s and bought the type keyboard. That helped immensely. In fact, I am typing this post from the Surface and experiencing the usual amount of typos and corrections. After a few weeks, I am starting to enjoy the form factor. I’m getting older and had to adjust the screen resolution some, but finding a comfortable viewing resolution wasn’t difficult.
Anyone familiar with Windows 8 will have no difficulty with the Surface Pro. It’s a Windows machine, and runs all the software that will run on my laptop. I am learning more about SkyDrive integration and I like what I’m learning. I’ve been a Dropbox user for a while and use it for things like storing primordial blog posts across machines.
I’ve used less than half of the 112GB available on the C: drive of this 128GB model. That’s a little surprising to me.
I like the backlit type keyboard 2. My Lenovo W530 spoiled me with it’s keyboard lighting; I use the backlit keys the most because I prefer working in less-lit spaces.
All in all, I like the Surface; and my fondness increases the more I use it.
I whined about this recently on Facebook. After that, I did something practical: I searched for a solution.
I found a workaround at Connect:
Select "Tools", "Customize..."
- Click "Keyboard..."
- In the list window, scroll down and select "Window.ShowResultsPane"
- Under "Use new shortcut in:", select "SQL Query Editor"
- Place your cursor in the "Press shortcut keys:" input area and press Ctrl+R
- Click "Assign", then "OK".
Tested and approved.
This post is the fifty-seventh part of a ramble-rant about the software business. The current posts in this series can be found on the series landing page.
Once upon a time I was a manufacturing systems integrator. That’s a fancy description of a person who designs and builds machine control systems. I was asked to replace a control system and given a tight timeline to accomplish the work. My engineering spidey-senses were tingling, but there were bills to pay and the promise of a large follow-up gig with the same company if I succeeded. So I took the gig.
One of the managers decided to keep me company as I implemented the solution. The other people he supervised did manual labor, so I understood his desire to “keep an eye on me.” Have you ever watched someone program Programmable Logic Controllers (PLCs) using ladder logic? It’s the coding equivalent of watching paint peel off walls. More to our point; it’s nothing like watching people perform manual labor. After several long days, I asked this manager the question that is the title of this post and a rather blunt conversation ensued which identified trust as the root cause of his direct supervision – he’d had a bad experience with another manufacturing systems integrator and was determined to not repeat that experience. Although I implemented the new control system successfully, hindsight is 20/20. I now realize I managed that conversation poorly. One result was I did not get the large follow-up gig.
Another result was I learned some things; lessons learned which I now share with you for considerably less than they cost me.
Measuring Manufacturing Work
If you work in a factory, the manager can watch the you pack widgets from the end of a manufacturing line into shipping crates. The widgets can be in one of a small number of states:
- On the manufacturing line
- In transit from the manufacturing line to the shipping crate
- In the shipping crate
This work is easy to measure.
Measuring Intellectual Work
It is possible to measure intellectual work, just not effectively. In 2013, one can effectively and affordably measure the outcome of intellectual work, not the inner workings of the mind itself. (Note: this will change one day – probably sooner than any of us want – and when it does, I believe it will redefine economics and culture).
Shipping, delivering, executing – this is the only metric that matters.
That is an excellent question and I want you to pay attention to the answer:
Please Pay Attention
Intellectual work is art.
Software development, for example, is the art of translating business requirements into logic, and then logic into machine language via third-, fourth-, or (rarely in 2013) fifth-generation languages that then translate the code (art) developed by the developer into machine language.
Divide and Conquer?
Modern project management methodologies purport art can be divided into smaller segments and that the segments can be estimated and tallied into a sum of parts. Let’s apply that assertion to the art of painting using an imaginary conversation about one of the most famous paintings of all time: the Mona Lisa.
Imagine you are the project manager hired by Francesco del Giocondo for delivering the painting of his wife, Lisa del Giocondo, which is one possible story behind the painting to which we refer as the Mona Lisa. Where do you start? You may begin by asking Leonardo for an estimate of how long it will take to complete the painting. After all, a popular theory is the painting was commissioned for a new home and as a celebration of the birth of the del Giocondo’s second child; one would assume a timely delivery to be part of the project’s commission.
“It’s 1503, Mr. da Vinci. How long will it take to create this painting?” you ask. “I don’t know,” he replies. “Mr. da Vinci, I do not understand. The reason you have been commissioned instead of your competition is because you are one of the best. This is not your first painting, sir. Surely you can base an estimate on how long you spent on paintings of similar size and complexity?” “All paintings are different,” da Vinci replies, “and the differences are not always apparent to people who do not paint.”
So you offer to help by applying principles gleaned from YOPMC (Ye Olde Project Management Certification): “There are phases, right? First you prepare the canvas, then draw an outline of the foreground, then paint the foreground, then outline the background, then paint the background, correct? You may not do it all in that order, but that’s what you do, isn’t it?” Da Vinci replies, “Those are the mechanics, yes. There is nuance that goes well beyond what you describe. I can do everything you stated and produce rubbish.” “Still, though; we can break the project into these pieces and guess at how long each will take, right? We won’t hold you to these estimates, of course. We’re just attempting to get a rough estimate so we’ll know the month we can plan a party to unveil your painting in our new home.”
The Mona Lisa was completed in 1517.
“Leonardo, later in his life, is said to have regretted ‘never having completed a single work’.” – from the WikiPedia article: Mona Lisa
There are several points:
- It is always possible to measure the outcome as a single point of reference.
- It is not always possible to achieve a goal by dividing a thing into its constituents and then achieving the pieces.
- Even when you have all the requirements, accurate estimation is difficult.
- “I don’t know” is the best thing to say when it is true.
The Primary Point
The primary point is you cannot see me think. Therefore you cannot directly measure the efficiency of my intellectual work. You are limited to measuring the outcome of my thinking – the delivered solution.
Therefore, the result is all you should measure.
One item mentioned in the PASS Board Q & A was the PASS Summit survey, which should be in your Inbox today if you attended the PASS Summit 2013.
Did you enjoy having the Summit in Charlotte? If so, the PASS Summit Survey is your primary and most effective means of communicating this fact to the PASS Board and PASS HQ. The same holds if you didn’t like the Summit in Charlotte.
Would you rather have the Summit remain forever in Seattle? Would you like to see the Summit in Seattle two out of every three years and then in some other location?
Let. them. know.
COMMENTS! Comments are your best option to clearly state what you believe. The option buttons are not going to get the job done. Each and every PASS Board member promised to read each and every comment during the Q & A. I trust they will. And I encourage you to express yourself. You do want to express yourself, don’t you? Here’s your chance.
Check your inbox. If it’s not there, check your spam folder. And respond!
Friday afternoon (18 Oct 2013), the PASS Board of Directors met with interested members of the SQL Server Community to answer questions. Paraphrases of some questions and notes I collected during the session follow (Please note: this is not a transcript):
Kendall Van Dyke asked about duplicate voting. The Board responded that they had looked into the matter and identified duplicate memberships based on names and addresses, but with different email addresses. After filtering for duplicate votes, the Board stated the results of the election were unchanged. Kendall asked if it was time to reconvene the Elections Review Committee and Bill Graziano, PASS Board President, responded, “Yes.”
Questions were raised about including a ballot expiration date in the ballot email. The Board stated they would look into it.
Several attendees requested more time in the voting cycle and more time to cast votes. James Rowland-Jones mentioned that state political elections last a single day, to which one questioner replied that they take measures to obtain absentee ballots because they vacation during state political elections.
More than one attendee expressed their opinion that the shortened election cycle perpetuates the PASS Board Elections “popularity contest.” Rushabh Mehta responded, “Elections are almost always a popularity contest,” and then stated that feedback is welcome. In response to attendee concerns about learning more about the candidates, Wendy Pastrick indicated the candidate application information was posted online for those interested to view. An attendee countered that the shortened election cycle meant a shortened campaign period.
Several Board members made statements about the time involved in an extended campaign cycle. I asked if serving on the Board consumed lots of time and the Board members responded positively. I stated, “If you don’t have time to campaign, do you have time to serve?” Tim Ford – newly-elected Board member for 2014-2016 – replied, explaining that a candidate may have time if elected, but less time to campaign.
There was discussion about Summit location. Stuart Ainsworth asked which factors will be considered when deciding the future location of PASS Summits. The Board responded that feedback is used to determine location. A survey will be sent to attendees of the PASS Summit 2013 Tuesday, 22 Oct 2013. Feedback will be collected from this survey.
Aaron Nelson asked why the Tableau conference will be held earlier in the year (September 2014) and the hotels will cost less than the PASS rate. The Board responded by telling Aaron his question has been noted.
Jennifer Moser assured attendees that Microsoft would be present wherever the PASS Summit is held.
SQL Rally / Regional Events
Two attendees – from the Philadelphia and Atlanta areas – expressed concern that the structure and support for SQL Saturday events does not serve their needs. They would like support to host larger events.
Andy Warren asked if SQL Rally was profitable. Bill Graziano replied, “Yes, but not hugely profitable.” Andy requested clarification and Douglas McDowell stated PASS did not track P & L (profit and loss) for individual events. Denise McInerney stated her vote against holding a SQL Rally event in the US this year was about resources vs. ideas.
Budget, Votes, and Meeting Notes
Craig Purnell expressed concern that the budget, votes, and meeting notes had not been published. Douglas McDowell responded that he thought that information had been published and promised to look into the matter.
I requested a budget summary containing four or five lines that express major income and expense categories. Douglas stated he would look into it.
In response to the news that CA Technologies is leaving the PASS Board, Andy Warren asked if this creates two open Board seats. The Board responded that they did not know.
Andy asked about SQL Rally (see my notes and paraphrases above).
Andy asked why chapters have been told they are not allowed access to a SQL Saturday list of attendees when PASS had access to the mailing list. Members of the Board and a member of PASS HQ stated earlier that the chapter could now access the list of all SQL Saturday attendees who opt-in to receive email communications.
“Why Are You Blogging About This, Andy?”
That’s a good question. The short answer is: I love the SQL Server Community. PASS facilitates the premier event at which our community gathers. PASS wants to improve and I want PASS to improve. I believe that, in many ways, PASS has improved. One example is the decision by PASS to grant one-day guest passes to spouses of presenters (see Comments to my post This Isn’t Hard: Allow Spouses to Attend Conferences, especially the 9th comment, here). I wish to encourage PASS leadership to continue improving. I also believe PASS leadership could improve by being more transparent and demonstrating more trust in the community they purport to serve.
I believe the PASS Board Q & A session can help serve these ends. I would like to see PASS leadership publish action items from last year’s PASS Board Q & A session along with a report on actions taken to address the concerns raised.
I would like to thank the members of the PASS Board for their service and for meeting with members of the SQL Server Community.
I would also like to recognize and thank CA Technologies for their involvement and engagement with PASS. On the About PASS page, one can learn CA and Microsoft co-founded PASS in 1999.
I had a great time at the PASS Summit 2013 this past week in Charlotte! I spoke to several people who told me they were pleasantly surprised by the venue and the event. Charlotte rocks! As a NASCAR fan, I particularly enjoyed the Community Event held at the NASCAR Hall of Fame.
It is always an honor to present and I was honored to deliver Designing an SSIS Framework and to participate in a cool panel discussion titled How to Avoid Living at Work: Lessons from Working at Home. Panel discussions are always fun, and my co-panelists made some really cool and interesting points about working remotely and working from home. Kudos to them and to Thomas LaRock for organizing the panel!
I had a great time delivering the Designing an SSIS Framework presentation, but I fear I may have offended an attendee who had a question about using the SSIS 2012 Catalog for logging. I’ll digress a bit to explain that I was spinning up a metadata-driven parent SSIS package right there on stage, live. (I type during demos. On purpose.) One attendee asked about logging in that package, and they asked the question right before I moved to that topic. As an experienced presenter, I can tell you it is awesome when the audience is asking questions about the very next topic. It means you’ve done a good job ordering the material and that the attendees are engaged and paying attention.
The first version of a framework I demonstrated was based on SSIS packages stored in the file system. This framework was written to support SSIS 2005, but it works well in 2008 and 2008 R2. You can download a version here. It will also work in SSIS 2012 if you do not wish to use the new Project Deployment Model (use the Package Deployment Model instead). SSIS 2012 is almost completely backwards-compatible and that. is. awesome!
The next question was asked as I wrapped up the discussion about the “old” (pre-SSIS 2012) framework. I will have to listen to the recording to see if I can catch the actual question, but it was something like, “Can you use the SSIS 2012 Catalog logging now?” Again, I will have to listen to the recording to quote my exact answer, but it was along the lines of: “Yall are right on top of this today – you should be up here leading this presentation.” What I meant was that the folks were asking great questions in a timely manner. What I fear is that some folks interpreted my response to mean something different from that. I know at least one person interpreted my response differently because they told someone who told me.
I was wrong to respond that way. It was a poor choice of words and I am an experienced presenter. I know better, and I probably offended the gentleman who asked the question. I don’t know who that person was, but I want to publicly apologize for my words. I promise I didn’t intend to offend you. It was a great question and I did not take offense at you asking it or asking it when you did. As the words were coming out of my mouth my brain was shouting at me, “PUT DOWN THE SHOVEL AND CLIMB OUT OF THE HOLE!!!” To you, sir – the gentleman who asked the question – to the other attendees of an otherwise cool presentation, and to the Professional Association for SQL Server, I apologize.
I look forward to SQL Saturday #237 tomorrow. I will be there. I’m the fat guy with a longish beard. If you are there and read this blog, please introduce yourself!
Every once in a while someone asks me, “How does one go from being just-a-developer to presenting at conferences?” When I hear this question, a little voice inside my head asks, “Why are they asking you?” And then another voice says, “You idiot, it’s because you made that trip from just-a-developer to conference speaker.” So now we have an admission that I hear voices in my head. (Is anyone surprised? I thought not. Moving on…)
A disclaimer: what worked for me may not work for you. I can hear you thinking, “Why not, Andy?” Well, because you are not me. Before you get in a huff about that, let me assure this is a good thing. Trust me. And it will likely work more in your favor than you realize.
How I Did It, by Andy Leonard
This may sound strange. The first thing I did was decide I wanted to do more with my career. This didn’t come naturally to me. My beautiful bride, Christy, encouraged me.
Next, I asked people who were already speaking at conferences how they did it. Most ignored me. But a few responded and told me I needed to increase my credibility in the technical field of my choosing. Awesome. “How do I do that?” I asked. A good way to start is by helping others. Awesome. “How do I do that?” I asked again. By posting answers on forums and by blogging.
When I asked these questions, most forums were hosted on usenet (Remember usenet?). I didn’t fare well in the forums; I am not sure why. I quickly found blogging to be awesome, though. I cannot locate that first blog site – I can’t even remember where I started it. Shortly afterwards, I set up VSTeamSystemCentral.com and started blogging there. Here’s a link to my first blog post there.
Around the same time, I asked if I could present at the Jacksonville Florida (where I lived at the time) SQL Server Users Group. I learned of a Code Camp in Jacksonville and submitted a presentation. It was accepted! And, I was fortunate enough to work for an established icon in the SQL Server field: Brian Knight. Brian was writing a book on SQL Server 2005 Integration Services and was looking for co-authors. It was very good timing: I had recently been published in Visual Studio magazine and at SQL Server Central.com.
Of all the opportunities, being an author of the Wrox book Professional SQL Server 2005 Integration Services made the biggest difference in my career.
After that first book was published, things picked up considerably. But I didn’t stop there. Frank La Vigne and I restarted the Richmond SQL Server Users Group. I participated in organizing the first Richmond Code Camp. I was asked to help write two other books. I became a consultant. Each step built on the previous work, and I was awarded SQL Server MVP.
Was I Just Lucky?
I have had this discussion with friends. My answer to “just lucky” is, “No.” Was I lucky? Absolutely; I was more than merely “just lucky.” Allow me to explain.
I found myself working for Brian Knight, an established author and expert in our field. He asked me to help author one of the first books published about SSIS (I had
offered begged to help earlier but there were no openings on the author team until later…). Most first-time authors receive several rejections before being published, and I was asked. That was fortunate.
But I had already started publishing: a blog and a couple articles. This is why I say I was more than merely lucky. I was writing. I caught a lucky break on the SSIS book and then I worked my butt off to bring that writing in. My chapter on Team Foundation Services was one of the first published on TFS. It may have been the first, I’m not sure. You may not recall this, but TFS 2005 and SQL Server 2005 and Visual Studio 2005 were all slated to be released together in November 2005. We started writing under that assumption, and then in September 2005 Microsoft announced TFS would not ship until sometime in 2006. That put a wrinkle in the plans for the book because we wanted it on the market before TFS was scheduled to be released. I won’t bore you with the details. Suffice it to say that chapter was nearly cut from the book and that I saved it by rewriting it (and reworking the demos) in a marathon 40-hours-straight writing session immediately after Microsoft released a TFS CTP in October 2005. So “lucky?” Yes. “Merely lucky.” I don’t think so.
Can I Do This?
If you are asking yourself, “Can I do what you did?” The answer is not only, “Yes;” it’s “Heck YES!” You can probably do it better and in less time. I can hear you thinking, “Are you just being falsely modest?” No, I am not. I say this because there are a bunch more resources out there nowadays than there was eight years ago. There’s lots more software out there, and more people using the software who have great questions about how to use it. Am I being modest? Maybe, but it’s not false – I promise. I’m a chicken-farmer with an Associate’s Degree, folks. C’mon. If I can do this I know you can.
Great question! Go to the free blogging site of your choosing (there are several out there, WordPress.com is one of the larger choices). Start a blog today.
“What Do I Write About?”
My goodness, you are on a roll with the excellent questions! Write about what you know. Pick a problem you hit recently and write about how you solved it. If you haven’t encountered a problem recently, set up your blog and wait – you’re due for a problem any minute.
“But I Solved the Problem Using a Post By Someone Else”
So what? Did the post you found help with every single aspect of the solution? Some do, others don’t. Regardless, reference that helpful post in your post. If that helpful post walked you through every little part of the solution, write that. If there were things you didn’t understand and had to figure out from other helpful posts, write that (and link to the other helpful posts).
What To Expect
Will your email box fill up with requests to present at international conferences and write books? No. Not at first. You have to pay your dues and earn your chops (like everyone else). Is it easy? No. Writing is harder than it looks. Writing well is harder still. I find I am a much better editor than writer. So I wrote this blog post during lunch, saved it away in my drafts folder (I love LiveWriter!), and opened it later in the day to edit it.
There is some fantastic advice out there about how to write well and better. Search for it. You will find it. And you need to learn how to find things for yourself, so consider this a homework exercise.
Where To Start?
At the beginning. For me, the beginning was writing.
Just write. That’s one way to get started.
PS – Some friends recently took this advice and started blogs. Check them out: