I’m feeling pressure. As I get this post ready, I feel a bit of a buzz from the stress of prepping a number of different presentations for the next month. Quite a few are new, and that always has me worried.
I know that’s not good, and I’ve over committed myself a bit. Actually, my employer and I together have over committed me. There’s a lesson in here for next year, and I’ve already spoken to my boss on things we need to watch out for next year.
However I also need to fit in a few breaks here for my own sanity, and today is one of them. So everyone enjoy have a good day, and remember to take your vacation. That’s a lesson I’m trying to work on today.
This editorial was orignally published on Dec 8, 2009. It is being re-run as Steve is on vacation.
There’s a new book from Microsoft Research called Total Recall. It’s actually on my list to read soon. It’s from Gordon Bell of Microsoft Research, and it talks about the idea of life logging, of capturing things about what you do and what you’ve done, in audio, video, and text. These might be things that are private, available to you and not the public. Or things that you might want to share with some people, like your family, but not others. Dr. Bell actually carried around devices to record his life for a long time, with the idea of working through the technological hurdles of life logging.
Whether you think you’d like this in your life or not, it’s an interesting knowledge idea for companies or individuals. Maybe it’s a good idea for programmers or DBAs. What if you could have all the code you’d ever written? What about tests of that code and the applications where it had been used? Would a walkthrough of tuning efforts you’d made for some types of SQL or even queries that solved particular challenges be useful? What about a walkthrough of the changes to your schema across time?
There are some interesting possibilities here in terms of your career work. If you could add meta data, annotations, correlations between emails, requests for work, problems, your particular implementation, and then the later results, you might learn from your mistakes quicker. You could perform some type of root-cause analysis of your efforts across time, or on a system and find out what you are doing wrong, or what you’re doing well.
I don’t know how well you could analyze someone’s work and help them find out what they’re doing well or not well. I also have some serious concerns about the privacy and security of the details about someone’s efforts being shared without their consent, or even the ownership of this data. But I think there are some great possibilities here as we develop new, and cheaper, ways to collect and store all kinds of data.
At the very least having a “life log” of a server might prove to be a very valuable troubleshooting tool.
I am a proponent of blogging as a way to build your brand. Your work showcases your knowledge, thought process, and interests. It provides a way for potential employers to perform due diligence and determine if you are a good fit for their team and position. Blogging can also help you to learn more about your craft and focus your learning. After all, it’s been said that if you can’t explain something to others, perhaps you don’t really understand it.
As I meet people, and talk to them about blogging, I often get asked “what should I write about?”. The easy answer is to write about the things that you do on a regular basis, the problems you solve at work, and the solutions you implement. However, what do you write about if you don’t do much at work and are looking to learn new topics. If you want to show that you are building experience with SQL Server in a way that isn’t required at your current position?
I think it’s easy, and I’ll give you a few ideas. First, build a lab at home. These days it’s easy (and free) with VirtualBox and a little memory, both of which can be had for relatively small investments. Next, start following the #tsql2sday tag on Twitter and challenge yourself to get a post written every month. However don’t stop there. I keep a list of previous topics and you can go back and write a post for every one of those topics. Your effort won’t be in the recap, but you’ll force yourself to learn, or at least explain, your thoughts in those areas.
If you want additional challenges, read a question like this one on splitting strings. Don’t read the replies, but try to answer the question on your own by writing a blog that explains your solution. You can link to the post and show how you would solve the issue if you encountered it. If you want to press yourself further, go through my list of article requests and pick one. It doesn’t matter if the article has been written and published or not. Write your own solution on your own blog, as I saw Jason Carter do here for this request on exporting XML files. Feel free to submit your post as an article, and maybe we’ll publish your solution as well.
There are so many ways to challenge yourself and learn more about SQL Server that it could be a full time endeavor by itself. Please don’t make it one, and remember to balance your career growth with the rest of your life. However, do continue to work regularly on your career, and showcase your knowledge. It’s good practice for your communication skills, and you never know when you might count on the wide breadth of knowledge you’ve documented to help you land that dream job.
The Voice of the DBA Podcast
This is part of a series of tips for speakers on how to make your presentations better.
Organization matters, and it makes a difference to how your presentation goes. The more organized you are, the better the experience for attendees. If you are very unorganized, then it becomes hard for the audience to follow what you are doing.
I’m am giving a few tips and tricks here, not for the actual outline and focus of your talk, but a few items that can help you smoothly move through your presentation.
Most of us don’t present a talk exclusively from Powerpoint. If you do, that’s great, but often I find people need to move from Powerpoint to Management Studio, or switch to a VM, show code in Visual Studio, run a browser (for Azure), etc. I personally need to sometimes run Red Gate tools as part of my talks, so I’ve learned to get organized.
I actually got this trick from Brad McGehee and I think it’s great. As I’ve written and organized my talks, I’ve learned to make notes in Powerpoint. Every time I need to run some tool or application, I put a note in the first slide of my deck. These are a few things I need to run, and when I get ready for a talk, I have a list of items to start right away.
Here is the first slide from my Continuous Integration for Databases talk.
Even if you only have one talk, it’s easy to forget things. I’ve seen lots of presenters forget to run Zoomit, start Visual Studio, or even SSMS. As someone that watches dozens of talks a year live, I can tell you it’s less than impressive or exciting when I get to watch Visual Studio start up on a projector.
I’ve tried different methods for organizing my presentations. I’ve put all the code in separate folders. I’ve numbered the files; I’ve named them. I’ve put everything in one long script file with comments.
All of those have worked, and all of them have failed. The important thing is that you have some organization. When you’re speaking in front of people, you’re concentrating on your topic and flow. Anything that distracts you is PAINFULLY obvious for attendees.
It will happen, no matter what, but minimize it. Get some sort of organization and ensure that what you’re showing on the screen smoothly transitions from one section to the next.
In line with having code organized in files, I would highly recommend that you include comments and notes in your code for both you and the audience. We are trying to teach and explain our code and concepts. There’s no mystery or magic that we need to keep people from knowing, so the more we can disclose, the better.
Your attendees will appreciate some instructions in the code when they try to duplicate your efforts on their own machines. However these same instructions can be very helpful for you during a talk. The instructions will guide you alone, allowing you to continue to speak and explain things, without trying to multi-task and remember the flow of your presentation.
All of the organizational items really come down to you thinking ahead. Just as you might do as a DBA or administrator, considering what might go wrong, or what might interrupt your “uptime” as a presenter will help you prepare for a smooth delivery in front of an audience.
I am most definitely a fan of continuous delivery (CD) and the idea that we have the ability to both release our software at any time, for any change, but also have the process and mindset in place to rapidly push enhancements and patches through our development process. However I’m also no naive enough to think that the processes of Agile, Lean, Scrum, Continuous Integration, or any other methodology make this happen. It requires belief and effort by your entire team, including management, to evolve your software quicker.
There is a downside. The faster, and more often, you release changes to your production system, the more likely you are to cause an issue. This isn’t really any different from traditional waterfall processes, which also cause issues in production, but it does mean that the perception of issues is a bit changed. People expect higher quality when they implement a CD process, and while quality might be higher (there is debate on this), it certainly isn’t perfect.
Walgreens has implemented a CD process, and they rapidly deploy changes, but they’ve also had issues. In fact, there’s a piece that talks about an issue during a database deployment, and offers some guidance on preparation to deal with problems in your deployment process. The ideas of monitoring (which is critical), planning for recovery, coordinating development, etc are all things that we need to do in any production environment, but they are especially important in a CD process where people expect changes quickly. Whether those changes are enhancing the application, or rolling back a problematic deployment, they need to happen quickly.
Over time, which may be decades, I expect that more and more organizations and end users will expect patches and changes to their software to happen in the background, while the system is being used. This might mean we need to plan for application architectures with sections that can be upgraded separately, or maybe we will develop ways to modify executable code without ending the process. In either case, the ideas behind CD will become more and more useful, and the more you understand them, the better off you’ll be.
The Voice of the DBA Podcast
I had another piece that looked at some issues with PASS slated for today, but it’s been a tough morning. Both with work, and with the conflict with PASS, so I’m going to move this up and give PASS more praise. As conflicted as I am about the organization, it does amazing things for the community.
SQL Saturday #318 – Orlando
I remember when Andy first pitched me on this idea. I was dubious, but we talked about it over months and finally got the first event running in Orlando on Nov 10, 2007.
This weekend, starting already with pre-cons, is the EIGHTH SQL Saturday in Orlando, SQL Saturday #318.
There have been have only been 14 Summits. I went to SQL Saturday #300 a couple weeks ago. That’s amazing. Free training, probably 20+ sessions at each event, held in countries all over the world, from Brazil to Nepal.
If that doesn’t make you smile, you don’t get community.
Now, I know some of you will say “Andy and Steve started SQL Saturday.” True, but it was hard, it was a time sink (mostly for Andy) and while we grew a number of events, we would never have gotten this far.
It’s mostly due to the efforts of Karla Landrum and I can’t praise her enough for the enthusiasm, excitement, and support she brings to the process.
But it’s also PASS.
The organization supports Karla with behind the scenes help from people at headquarters. Without their decision to absorb SQL Saturday and promote it, market it, support local organizers, this would not have grown as it has.
If you search the hashtag, you’ll find some amazing notes. Tweets, excitement, blog posts, and more. If you have been to an event, then you get it. You know how amazing this is and you should thank the people that work and volunteer for PASS.
If you haven’t been, you’re missing out.
Go. Give it a try. Carpool to one near you. Help organize one with your user group. You’ll be amazed.
PASS has done something special with SQL Saturday and they deserve a lot of praise and credit.
When I asked recently what compelling reasons there are, or aren’t, for upgrading SQL Server, it seems cost was the issue for most people. I can understand that, especially as licensing for VMs has made it an expensive endeavor to upgrade their systems. Many, many companies have started to revisit their policies regarding upgrades and seriously evaluate the decision to undertake a version change. While I’m not sure if many companies are starting to look at keeping all instances of SQL Server for ten years, I know many are looking to keep their noncritical systems on the existing versions as long as possible.
As I read through the posts on my piece, I found this great quote from one of the commenter: “I’m a great believer in “If it ain’t broke, don’t fix it” and so if a system is running acceptably for it’s purpose, I’ll leave it alone.” To a large extent, that’s how I’ve viewed systems. If things are working, it becomes hard to justify an upgrade. In fact, I had a client that was running a SQL Server v6.5 instance in 2005, a full ten years after that version was released. Why? Mostly because the database backed a card key system that worked. While the database wasn’t supported, neither was the card key system, and since an upgrade would have been close to $100,000, it wasn’t worth performing. We did upgrade to a virtual server to remove hardware dependencies, but otherwise left the system alone.
That brings me to this week’s question, which is one that I’ve asked myself for years: Is SQL Server mature?
If a version of SQL Server can handle the load placed on it, is there any good reason to upgrade. I suspect that for many applications, the base features of SQL Server are good enough. If these features have performed well for a number of versions, then why change? While I like the changes in T-SQL, especially error handling, I’m not sure those changes are worth paying tens of thousands of dollars for. I’m not sure the improvements are really justified for many applications, and I’m not sure many developers can even find the time to implement them.
More and more I think that key to continued adoption and growth of SQL Server is licensing by scale, not edition, and not by feature. Just like Azure, let me pay for the cores and RAM I need, and let me easily grow that as needed.
The Voice of the DBA Podcast
Continuing on with things that PASS does well, since I want to be balanced, I wanted to talk about volunteers.
I don’t know if you’ve noticed, but PASS gets a lot of volunteers. There are volunteers that run SQL Saturdays. Volunteers that run user groups. Volunteers that help out for both of those, and volunteers that handle all sorts of tasks for the organization from picking speakers to choosing board candidates and more.
In the past there have been people disillusioned with the usage and valuation of volunteers, but I have to say that I think PASS overall does a great job here. How else can you explain so many people willing to help out each year. They can’t all be treated poorly. Heck, most of them can’t be.
Every year at the Summit, volunteers are recognized with in meetings and with a party. There’s even an award for the volunteer: the PASSion award.
I greatly appreciate all the efforts of the volunteers, but I have to give credit to the organization itself for recruiting, managing, and using volunteers. There may be room for improvement, but without a doubt, something is being done right here.
Who is Mike in the business intelligence/analytics world?
Is it Mike White? If it is, he’s the guy I call for help with SSAS stuff. I’ve known Mike for years and he’s a smart guy.
Is it Mike Davis? He’s another smart guy. I don’t know him, but I read his blogs often, and he seems to know a lot about the BI side of things.
If it’s Mike Bag ’o Data, then I don’t know him, and I can’t vouch for his skills. I’m sure he’s a good BI/BA worker, and he deserves a conference to go to and discuss the problem and challenges he faces. I’ve linked to Tom LaRock’s description of Mike, and there’s a lot I agree with. In fact, I do think Tom is onto something.
I’m just not sure it’s something PASS should do.
I do think that analytics are important. I think this is a growth area in the data professional world, and I also think that lots of current DBAs better learn a bit more about how to support Mike, build tools or platforms for Mike, or transform into Mike.
I’m just not sure that PASS is the group to do this.
At least not in a way that it’s been done. The BaCON idea, which I suspect had a little inception from a for-profit company that’s a touch larger than PASS and gets to voice it’s opinion behind closed doors.
Now I like inception. I think there are plenty of times when I can’t come up with ideas on my own and it’s good to have someone suggest them to me. I can even take those ideas and run with them and make something of them.
However I’m just not sure I think PASS should be doing this, at least not at BaCON scale.
I attended the first Microsoft BI conference and thought it was a success. Lots of people, a disparate group of technical people, PMs, managers, and more. A great mix of content and I was looking forward to future conferences.
I wasn’t expecting the concept to be mismanaged and abandoned. I think MS lost its way here, combining the event with TechEd, then having it fall apart.
Or did it?
I think the concept was reborn, but by having someone else take the risk, and do the work. That’s fine, but if that’s what we want to do, then I’d like to start small.
Have some small experiments, two slices, run a Business of Software, 200-person conference and build some momentum. See if you can grow the event with some new speakers and attendees outside your audience. Limit the exposure, and limit the work required. By all means, though, place the bet.
You see, I don’t have a problem with PASS doing more BI or BA work. I think it’s a good area in which to grow. I think there’s potential. I also think that most people would agree to making inroads in this area.
However the whole BA idea wasn’t well developed, and certainly wasn’t well presented to the community. A vast group of speakers and attendees weren’t sure what was happening. In fact, even after attending the event, a number of people felt confused about what the purpose was for the event. I think plenty of people thought it was this:
Time will tell if we get any players out there, but I can guess the purpose of the exercise, and I think it’s less about community and more about $$, though certainly there is some overlap.
I want PASS to experiment and place small bets. I want them to try new things. I certainly don’t want them to hoard their reserves and not improve their infrastructure or stagnate.
However I also want the organization to remember that the members are the organization. We’re not there to be pushed to manage some other organization’s agenda.
If there is a BA need, then someone should work on it. I’m just not sure that someone is PASS, at least not at scale.
Personally I’d much rather them expand into the BI area. We know this area, we know there are people dedicated to working in this space. In fact, I bet we could get a nice, 3,000+ person event every spring dedicated to BI. We could then have a 5,000 person Summit in the fall that’s mostly DBAs, the core audience, and includes some BI.
I bet we could grow the BI conference to 5,000 as well.
Imagine two 5,000 person conferences, bringing together data professionals. Maybe even have one of them on each side of the US each year.
Then imagine that we take an infant area, something like analytics, and grow it into a toddler at a small scale. Some of our current #SQLFamily won’t want to interact with the little one, but some will, perhaps a few hundred. However, it will grow, I truly believe that, and we can help it continue to move to 1,000, then 2,000, and who knows how much more.
We could even see PASS grow, with new funds to providing tracks or information at developer events, truly trying to expand the horizons of those that work with SQL Server and increase their competency.
We could do it. We really, really could.
If we’d learn to not work in secrecy, not spring the grand ideas on the community unexpectedly and then continue to defend the problems rather than embrace them and work to fix things.
If we worked from vision, transparency, and responsibility, I think we’d do better. Unfortunately, I think the structure of the organization leads to fear based decision making, and an overall perception of disappointment. I can’t help but think that the way things are set somehow takes good people and beats them down into something different in meetings.
I struggle with PASS as an organization, and I know many of you don’t care. However I hope you care about PASS as a concept and help work to make it something better.
If that’s with BaCON, that’s great. If it’s not, that’s OK as well.
I just would like more than the board to help shape decisions, and certainly more than a few bloggers spouting words at their screens.