Category: Editorial

  • Fixing Report Visuals

    I’m not a visual designer, and I find that as I learn a bit more, many of my previous reports contain lots of silly mistakes. They’re often full of data, which I like, but which can be hard for others to follow and understand.

    I need to do better, and I do ask for help at times from friends. I also need to get a better process for evaluating if I’m doing a good job. I was thinking about that as I saw a makeover article from storytellingwithdata. It gives a short process of things to consider when building reports.

    With most of our software, we go through iterative approaches, either by ourselves, or with others, to try and build something that meets the needs or a client. Reports involve the same process, but I know that often the report process is my showing them something very raw and them asking for changes.

    What can be more time consuming is that the numbers are often the thing a client is concerned with early on. Are we calculating things correctly and including enough data. We might go back and forth quite a bit on this part of the report process.

    Once we agree, and they are happy, I think I’m done and can move on. However, often this is where they start to now care about the visual appear. The layout, colors, etc., and I am drawn into another report writing session, spending more time on something that is far, far less interesting than writing queries or other software code.

    I can see why tools like Power BI, which let the client mess with the visual design, have a lot of appeal. As a software developer, I’m out of the loop here, or more out of the loop. Let them decide they want a vertical or horizontal bar chart, or a stacked line chart. What do I care?

    I know visualization, layout, colors, etc. are important. They’re not enough of my job to care, but I do think someone needs to. I’m lucky in that my company has artists, so I can send over slides, reports, etc. and get hints about what I should change. It’s certainly something I wish I’d have had in the past at other jobs, since anything beyond a simple graph or table is well outside my wheelhouse.

    Steve Jones

  • How Do You Decide to Rollback?

    One of the constant questions I get from Redgate customers is about rolling back database changes. We build software to help you deploy changes, but what about rollbacks? I think I’ve heard this in almost every conversation I’ve had on this topic in the last 5 years. It’s one reason that Flyway has undo, though with some caveats. Please don’t expect this works magically like a restore operation.

    These is a complex topic, and one that can be way harder than a rollback for application changes. In fact, everyone wants it to be simple, but I don’t think it ever will be. There is a big reason for that: data. Undoing data changes can be impractical, especially in if there are lots of changes.

    The question I’d like you to ask yourself, and give me thoughts about, is when do you decide to rollback. How can you make that decision in a production system? Are there criteria or guidelines you use? Do you ask someone else? Maybe another aspect of this situation is how you decide to roll forward instead of rolling back.

    I was listening to some MVPs discuss this awhile back and one of the main criteria that one person brought up was data changes. This individual said if no data had changed, they just undid everything. However, once data changed, they were likely in a roll forward scenario where they needed to fix code quickly.

    That’s often the big factor for me. Once data is changed (or added), then we often can struggle to rollback. If we have an application that needs a new column, and we add it, if there software has a problem, we may not be able to roll back because the old software doesn’t work with the new column. We don’t want to delete the column, at least not until we save the data. These are the problems.

    The easy rollbacks are when the deployment fails and transactions undo the work, or we just quickly undo everything we did. That’s an easy decision, but I rarely find this sort of issue. Instead, usually we find certain data breaks our application or the logic is improperly implemented.

    I look forward to your ideas and thoughts here, but I do have some advice. One thing I always tell customers is that you want to deploy often, so that you are ready to fix something you broke. That’s important. The other thing that simplifies life is to never add and delete objects in the same deployment. This goes for everything. If I add new first and last name columns, but keep the old fullname column, if I’ve broken something, I still have the old columns and data. I can rollback easier. If everything works, I can always delete the fullname column later. Following these concepts has made my life much easier when I made database changes.

    Steve Jones

  • The Second Half of 2021

    July is starting, and with it we move to the second half of 2021, or H2 2021 for those of you that like the planning shorthand on roadmaps and project manager boards.

    The first half of 2021 has felt like a big of progress in the world, as we try to recover from the pandemic that froze time for most of 2020. I felt like most of last year was one grinding day after another, with little change, lots of limitations, and a constant “sameness” in my life from day to day. While I like routine, I also like some changes and little alterations that keep life interesting.

    I know the first quarter of this year felt like that as well, but slowly in the US things started to change. I got my vaccine does, something I didn’t expect until this month or later. The US and a few other countries have deployed so many vaccine doses that life has started to change and open a bit. I know many other countries aren’t as lucky, and I do hope that more assistance and sharing comes from the US and other privileged countries to ensure that we can end this pandemic.

    As things change, I’m more hopeful than I was six months ago that we will move towards a more normal way of life, albeit likely will still some changes. I know I see less masks in the US, but not zero. We still have precautions in many places, and most people seem willing to follow whatever rules a business wants. More offices are opening up, although partial remote work seems to be the accepted practice. I’ve seen a few music and other entertainment events start to take place, so maybe we’ll see more technical events. There were good decent number of people at DevConnections in Florida, so that was a hopeful sign as well.

    We are all emerging from the pandemic at different rates, with vastly different risk tolerances. Not only are countries taking different approaches, but even within a country like the US, the experience can vary. On a few recent trips, it seemed to me that we all need to be flexibly and respectful of others, willing to adapt to the situations as they occur.

    The second half of 2021 will be interesting, but likely very different from the last year. No matter where you are, and how you feel, I do hope that life improves and you can enjoy yourself, both at work and away from work.

    Steve Jones

  • Learning Intentionally with a List

    We’re coming up on the middle of the year, and I wonder if you are improving your career this year? Did you make plans and are you sticking to them? I’ve been tracking progress on my goals, and so far mediocre progress.

    It’s tough to learn, but even tougher to learn when you don’t have a specific focus. Choosing to “get better at T-SQL” isn’t a good goal. It’s vague and hard to measure. To me, you need to pick some specific areas to focus on and then develop some goals on what you want to accomplish. For example, you might want to learn to work with APPLY and convert some queries from joins to APPLY or pick a series of challenging problems that you can solve with that operator.

    Mental note: make some lists of problems to solve.

    These days there are so many areas that you could focus on when working with data that it can be overwhelming to try and pick something. If you were to think about what you want to learn today, what’s the list of things you think you need to learn?

    If you have that list, then can you choose a few specific things that will help you measure your progress? I’ve picked a few, but not enough to measure tightly. That’s something I need to change for next year, with some ways to measure myself better.

    If you are working on growing your skills, share some ideas on how to improve your career and skills. What types of things help you get better? Maybe more important, what things do you think are important to learn and why?

    Steve Jones

    Listen to the podcast at Libsyn, Stitcher, Spotify, or iTunes.