Category: Editorial

  • What You Should Know About Coding

    What are the important things you should know about writing T-SQL code for an organization or on a team? I’m sure that many of you have ideas, and please, feel free to share them with us with a comment. As you think about your answers, think about this as well: what do you wish you’d have known when you started writing code?

    I went through university quite some time ago, over 30 years ago, and some things have changed in this industry. Not so much in the way we structure the code we write, though we have gotten much better in some ways. Rather the way that organizations work has dramatically changed. It’s not just this new DevOps thing, but more that many organizations are starting to expect developers to do more than sit in a cube and react to a set of tickets or a specification written months ago.

    More companies are expecting developers to think and interact with others, knowing more about other parts of their environment and application. More developers work in teams, and perhaps very interesting to me, the once dreaded and heavyweight code review that seemed to die during the middle of my career has become a commonplace, quick task that developers do every day now.

    There’s an interesting piece, written by Ryland Goldstein, about the things he thinks developers should be learning in college or early on. I thought it was interesting to see him open with lines of code (LoC) as a metric, and show the growth in code for some large applications. To me, LoC hasn’t been important at any point in my career, but I know it was talked about while I was in school.

    He does talk about some things that good code should have, and I agree that most of the time the language doesn’t matter. I do think his points on reading code, and learning to work with other people’s code is good. To me, this really means we want to adapt and learn to write code in the style that our team uses. That can have a huge impact on group productivity, when we can write in a similar style, and then also read (and review) code quicker because it’s all the same style.

    Perhaps the best line is this: ” Every single member of our team (including me) would have a full blown panic-attack if someone ever suggested committing un-reviewed code.” I think too often the database side of things ends up committing (and deploying) un-reviewed code too often. We could to better, even if we need to teach someone how to review our code. Having a second set of inexperienced eyes might not prevent mistakes, but it certainly might help others learn to write better database code.

    Steve Jones

    Listen to the podcast at Libsyn, Stitcher or iTunes.

  • The Crazy Times of Year

    Do you have busy times of the year that recur regularly? In some positions I’ve held, we had certain events or processes that always caused additional stress and headaches for employees. As a bartender, certain holidays (New Years, Halloween) were extra crazy. In one company, every quarter was an adventure involving a late, or a complete, night of work. Different industries and organizations seem to have different schedules that regularly stress employees.

    Are there times that are tough for you? Or maybe slow times? In a few organizations where my wife worked, the week between Christmas and New Years was always so slow that they’d actually close the office and give people the week off, without it affecting their vacation schedules. That would be a nice perk to have.

    This is the busy time of year for me. Spring sometimes gets filled, but this next couple months is somewhat crazy. The first third of September I was in the UK. I returned home, and I have a week and a half off, which I need because then life gets hectic.

    The weekend of the 20th, I’m heading back to upstate New York to see my daughter play in a volleyball tournament. That’s exciting since I’ve never seen her play college competition live, and I’m looking forward to the trip. A few days after I return, however, I head to Australia for work. Just a couple days, because I can’t spare the time, which is disappointing to my wife. She’s like to go, but since I’m in Memphis the first weekend of October, there isn’t time for a week in the beginning of Spring down under.

    I am home the second week of October, but with a pre-con and SQL Saturday, it will be a busy week of prep and trying to get other things done since the third week of October my wife wants to go back to New York to see our daughter. I’m tempted, but torn since the last week of of the month I return to London before heading to Seattle the weekend after.

    I still have other work to do with SQLServerCentral and Redgate in addition to these weekends, and I have the feeling I’ll be ready to knock off travel and just coach kids after the PASS Summit. Right now I’m looking at being committed for part or all of every weekend except for this past weekend until Nov 9.

    A tough time, but really, it’s a great job I have with amazing opportunities to see friends and places all over the world. I know I’ll be tired, but it will be a good tired, even with the extra time spent preparing for travel and catching up on chores when I return.

    Are there any wild times in your work world? Let us know today.

    Steve Jones

    Listen to the podcast at Libsyn, Stitcher or iTunes.

  • Fantasy SQL Server

    This past week was the 118th T-SQL Tuesday (hosted by Kevin Chant) and it was a great one. Lots of people participated, with some really interesting entries. Kevin asked people to post their fantast T-SQL (or SQL Server) feature that they wish Microsoft would build. From better defaults and hints to a performance rating to CCI improvements to better partitioning, there are lots of creative solutions. Look for the recap this coming week.

    I didn’t write mine, mostly because I was out of the country and busy with SQL in the City Streamed and then some customer visits, as well as a mini-vacation in London with my wife. As a result, this slipped my mind, but my feature would be two phase authentication for a batch. I’d like a user to be able to submit a batch, have that held in a queue inside SQL Server until another user approved this feature somehow. The implementation doesn’t matter, but requiring two admins (or users) to run something would be fantastic for limiting rogue admins.

    What’s more, I’d use it to schedule something for the future that needed to be done, but I wasn’t sure when, like cleanup of some deployment. I’d write the trigger delete or other cleanup, leave it in queue and then have a job that reminds me of work that’s out there. When I’m ready, another account approves something.

    There were some good features submitted. I like Brent Ozar’s, restoring a single table, which is based on this suggestion with lots of votes. Not likely to happen because the backup process doesn’t know what’s on the pages, it just restores them. However, I’d think this could be added somehow with a scan of system tables inside the backup. Another simple one is better logging of job results. We’ve needed that for a long time, and that seems doable.

    If you didn’t participate, you can still write something, and even submit a suggestion to Microsoft. Doing a T-SQL Tuesday post is a great way to think and exercise your mind a bit. You might even have a great idea that someone notices and Microsoft picks up. You can still write your post and leave a comment on the invitation post.

    Steve Jones

  • Staying Focused

    Most of us know when we’ve been working in the flow. Time ceases to exist, and often seems to have flown by when we stop working. We may not eat or take a break, just focusing on a problem and tackling it in a very single minded fashion. Whether this is a development task or some infrastructure effort, we can achieve flow.

    At the same time, many of us struggle to find the flow in a busy workday of meetings, interruptions, music, slack messages, and more. Attention is a commodity, and one that many of us struggle to focus on a single task. We may find that if we do achieve flow and something interrupts us, then we struggle to get focused again.

    When I give presentations and talk about remembering what code we wrote or changes we made last week, plenty of people will chuckle along with me. It’s a challenge to remember what we were last doing, especially when we move to more DevOps style work with small chunks of tasks being completed. Even coming back to work the next day, after an evening of family or hobby time, can be distracting.

    How do you get back into the flow quicker? There are lots of books and advice around, but I thought this programmer’s look at how to keep himself organized around a busy life was interesting. He uses some tools, primarily based around software coding, to help remind himself quickly of not only what tasks need to be tackled, but where he was in the flow of the work. In some sense, this reminds me a bit of Andy Warren’s efforts at keeping SQL Saturday organized.

    Flow is hard to come by. To me, this is one reason why more workers ought to have private offices and less meetings. A developer or DBA in the middle of the zone, working in the flow, needs to be left alone. That’s the most productive time for them, when they are most efficient and valuable. More organizations ought to try and foster this, not inhibit it.

    Steve Jones

    Listen to the podcast at Libsyn, Stitcher or iTunes.