Category: Blog

  • Reviewing 2019 Career Goals

    According to this post, I rate 2019 as a Failure. Of the books I planned to read, I read 2. I started 2 others, but they’re in progress, even right now.

    This post is a look at what happened and why, along with a few ideas on what to do better in 2020. Look for the new goal post next week.

    The Challenges of 2019

    This is really a set of excuses, or at least it sounds that way to me. Ultimately, I just didn’t focus on my career very well. I’m somewhat hoping that doesn’t matter, but I’ve tried to live by “hope for the best, plan for the worst.”

    I started out strong with my reading, going through these books 3-4 times a week at night, practicing with some code. It was a nice break after work or after the gym to learn something. Despite coaching and being busy with my family, I was making progress.

    That failed in March for a couple reasons. One, I was struggling with a project in my life that needed time and two, I committed to deliver some content for another vendor. Those items created a lot of stress, and reduced the energy I had for career time outside of work.

    Add to that the amount of travel I did in 2019. I spent a lot of time on planes, going over 140,000 miles from April to November. While one would think that sitting on a plane is a good time to read, it’s not a good time to learn for me. For a number of these topics, I need to be in front of a PC, and often on a plane, I don’t. I want to relax and escape. If I work, it’s because I need to, and then I’m writing or reviewing something for work.

    I had planned to skip a few months of reading work, and even wrote about this. However, I never got back to this and I got used to dismissing my reminders to check goals. That was a mistake on my part.

    I also got distracted with other technologies, doing more work with containers last year, which is OK, but it wasn’t part of my plan, and more importantly, I didn’t update the plan.

    Doing Better in the Future

    How can I do better in 2020? That really starts for me this week, with my return from a sabbatical.

    First, I need to keep a plan handy. This year, I’m going to put the plan in my reminder appointment, and that way I can review it each time the reminder comes up. I’ll also be able to adjust it and write a post that reflects the updates.

    That’s the second thing. Each update needs to include the plan and progress indicators. I’ll do that, if for no other reason than to understand where I am. I don’t mind not making the goals, but I want to know and decide to not make them for good reasons.

    I also need to account for the fact that I am a busy person and some portion of my schedule is out of my hands. I think aiming for 4 books a year is realistic for me, with 6 being the likely goal. I do get busy, and I realize that part of why I love reading is that it takes me away from life. I need to account for the need to spend time reading non-technical books.

    I also think I need to better think about the things I do outside of work and career. I have a lot of interests, and those things need time. That means less learning for me.

    I also think about the need to cement some of this learning in other areas, so I’d like to actually add in some project work that uses skills I’ll work on. I think that’s important, and like many of you, my work doesn’t always give me the chance to use new skills. To ensure I do capture some learning, I likely need to actually build something.

    I’m not sure how things will go, but I plan on creating goals now and then writing an update every month.

  • Schema Filtering in SQL Prompt

    I love SQL Prompt, and I’m regularly impressed by the enhancements our teams continue to make in the product. One item that I found interesting recently was schema filtering. This post takes a quick look at this feature.

    If I go to look for an object, intellisense is amazing. In this case, I’ll type “SSF <tab> cust”. I’ll see this:

    2020-02-27 15_03_37-ObjectDefinitionBox

    There is the customer table first, and as we see on the right, this is the dbo.customer table. Below this, we see there is a Customer table in the ETL schema and two CustomerLoad tables, which are in two different schemas.

    I might actually be working in one of those schemas. Let’s say I’m an ETL developer. I don’t want to accidentally be coding against dbo.Customer when I want to use ETL.Customer. Certainly I might need each one, but in this case, I might just care about loading stuff into the ETL schema and want to work there.

    I can add filtering in SQL Prompt by going to the Options and then the Connections section. As you can see below, I have a drop down for schemas.

    2020-02-27 15_05_03-SQL Prompt – Options

    The default is all schemas, in all databases, but I can change this. I can set a filter. In this case, I’ll choose the “Only load…” option. When I do this, I see a generic wildcard here.

    2020-02-27 15_06_45-SQL Prompt – Options

    I see schemas for all servers and databases. However, I can set filtering for a specific server and database. Or a database on all servers, or certain servers, but all databases. Here I’ll just edit the schema.

    2020-02-27 15_06_05-SQL Prompt – Options

    This will change behavior to only show the ETL schema in all databases on all servers. Now when I type the same thing, I see the ETL schema objects only.

    2020-02-27 15_08_32-ObjectDefinitionBox

    Good, right? Plus, the refreshes and loads are faster. The downside here is that in another database, I see no tables.

    2020-02-27 15_09_14-CandidateList

    I can fix this, and just look in that one database by entering the database name. I’d suggest you set this by server and database, just so you are clear what behavior is happening, but it’s up to you.

    This was a request from developers that do work in some large schemas, and only want to see those objects. It’s been added to SQL Prompt, so update today, upgrade, or download a trial and give it a try.

  • Day 32, Sabbatical Part Deux

    This is the last post of my second sabbatical, covering the last few day so of week 6. I got sporadic near the end, for a few reasons, but this looks back at days 29, 30, 31, and 32.

    Day 29 was a bust. After finishing up at the Oracle conference on Day 28, I felt sick. I woke up worn out, with a running nose. I ended up staying in bed all day, playing a little guitar, but mostly just sleeping and trying to get better. It helped, as I felt OK for Day 30.

    Day 30 came with a lot of snow. It covered the property, and while no cars were stuck, it was a mess. Friday’s are my wife’s day to feed, and I agreed to help and try to dig things out. I ended up going through and trying to plow out some of the property. I got a bit done, but some was too covered. As a result, we ended up putting out large bales. That means I start here:

    20200221_120129_HDR

    and end up here:

    20200221_120937

    Then I drive this out to somewhere and leave it for horses to eat from. I joked with a few friends on Facebook that not only is this a skill I never expected to learn, it’s one I never knew existed.

    I ended up spending about 3 1/2 hours on the tractor trying to get things cleaned up and organized, including moving snow on the driveway to ensure my wife could get out Saturday morning with a trailer.

    From there, a little yoga, coaching, and then finally an evening out with my wife watching George Lopez.

    The weekend and Days 31/32 were spent in the mountains. My son and I got up early Saturday and drove up to snowboard. We had a great time on a rather warm day, going up and down at Keystone.

    20200222_121314

    We then retired to a house that my sister in law had rented for a week. She’s on vacation, and we went to spend time there. It was a beautiful place, and we enjoyed it.

    20200222_165107_HDR

    Everyone arrived Saturday night or Sunday night and we ended up with about 7 of us spending time there. Monday and Tuesday were very cold (around 0F) and windy, so we didn’t ski. Instead, it was good to catch up with family and friends. Rather than working at all, I enjoyed the last two days of my sabbatical with a relaxing morning each day. I cooked breakfast for everyone, which is relaxing and enjoyable for me. I also did one dinner.

    20200224_092104_HDR

    The days were spent talking, laughing, playing games, and wandering around Breckenridge doing a little shopping and eating. A bit too much indulgence, but I’ll get back to the routine now and improve the diet and exercise time.

    I wished I had brought a guitar, but it was a good time, and very relaxing.

    Day 1 back at work was getting up early and driving home.

    That’s it for my time away, and I’ll summarize a few things in another post. A few thoughts in today’s editorial, but now I’m looking forward to the next sabbatical in about 4 years.

  • DevOps Deja Vu with Oracle

    While I was out on sabbatical, I took a two day break to attend an Oracle conference and speak. The Rocky Mountain Oracle User Group Training Days 2020 was held a week ago a little North of Denver and I was there to speak about DevOps.

    In many ways, this was similar to the talks and discussions I’ve had with SQL Server developers and DBAs across the last seven or eight years. What was different, and fascinating, is that most of the Oracle people were in the place that lots of you SQL Server people were about 3-4 years ago.

    Not that we’re all in the same place, but between the work I’ve done with Redgate and the messages from Microsoft, many SQL Server users get the idea of better development and now are trying to work out the mechanics of implementing things. In the Oracle world it seems that many people are still trying to decide if they should change any development practices and what options are out there.

    It wasn’t just me. I watched 3 other DevOps talks and they all were similar. The message was more on what DevOps can mean and how it changes your work building software. In the MS world, we’re more often focused on the mechanics of specific ways to move to a more DevOps style work environment.

    Redgate is moving to release more tools for Oracle and other platforms, and we’re evolving the way we build these tools to help more groups. I’m looking forward to spending more time with Oracle procs and brushing up a little on my PL/SQL skills.