Author: way0utwest

  • Horrible Bosses

    Horrible Bosses is a movie that makes me laugh. I’ve seen it a few times, and I’d likely watch it again if I stumbled on it during a flight or while flipping channels. I’ve had some bad bosses, even one I’d consider a horrible boss. I’ve worked in poor conditions for IT, though considering what some people go through, it wasn’t that bad. I”ve been stressed, overworked, and abused by employers. Again, relatively. These are really #firstworldproblems, and not so much problems as annoyances. I’ve really had an easy life compared to many people, though it hasn’t always been stress-free.

    The one thing that I’ve tried to do throughout my career is be a professional. Do the job I’m paid to do, and accept the good and bad. If I don’t enjoy it, or don’t agree with the demands, then I can leave and find another job. I’ve had to do that a few times, often because of the people that make the job a bad one. Fortunately I have a great boss now, which makes my work much more enjoyable.

    I’ve also tried to build software that I feel comfortable with from a moral standpoint. I’ve never been asked to work on anything illegal, and I hope I never am. I’d also hope that I would refuse to do so. I think it’s hard to put yourself in a tough situation, as you can never know all the variables. Imagine that you’re in debt, you need your salary to pay for medical care for your family and it’s a recession. You might feel trapped in a position, worried about not only losing your job, but also your livelihood and potentially putting someone’s life at risk. Making moral stands in tough situations is hard, and I hope I never have to do so.

    My best advice for my kids, and for others out there, is that you want to actively manage your career. I’ve told my son the best time to find the job you want is when you have a job, not when you are out of work and need a job. If you’ve got a horrible boss, start making steps to find a better one. It can take time, potentially months or years, so make a plan and start down the path of finding a dream job that you look forward to every day.

    Steve Jones

    The Voice of the DBA Podcast

    Listen to the MP3 Audio ( 3.1MB) podcast or subscribe to the feed at iTunes and Libsyn.

  • A $3 Billion Donation

    Earlier this week, Microsoft agreed to grant royalty free licenses for 60,000 of its patents for Open Invention Network (OIN) members as it joins the group. The patents include a number that affect Android, Linux, OpenStack, and more. As recently as a few years ago, Microsoft was making over $3 billion from this set of patents, including a billion dollars from Samsung.

    To be fair, licensing revenue has been declining, so this isn’t likely a $3b gift, but it’s still substantial and more important, it’s a positive step forward.

    Actually, it’s a surprising move, and one that seems to have stunned many journalists and open source advocates. There are numerous stories that seem to describe the move with disbelief, which is a position I would have held until recently. If I had seen this post from Erich Anderson, Microsoft’s Deputy General Counsel, I would have parsed the language, looking for the careful crafting of phrases that indicated some future duplicitous action.

    Instead, as I’ve worked with more and more people from Microsoft and talked with them about upcoming changes, I’ve found that Microsoft is truly changing. They’re becoming more open, and trying to prove their services and software are worth using, not trying to lock customers into an environment they can’t easily leave.

    Nowhere is this more evident than Azure, where there are quite a few Linux VMs. In fact, I thought I heard that there were more Linux than Windows VMs earlier this year, but I can’t find confirmation. In any case, Microsoft supports free and open source software (FOSS), including MySQL as a Service. Incidentally, that powers tsqltuesday.com. I moved the site there earlier this year, using Microsoft’s MySQL services.

    Microsoft is a for profit company, and I expect that they want you to use their software in addition to services. That’s no surprise, but they are becoming less cutthroat and much more welcoming. Scott Guthrie, who leads the cloud and enterprise group, noted that “It’s not just code, it’s community.”

    That’s been my philosophy here are SQLServerCentral. We’re a community, and the vision from Brian, Andy, and I was to share and help others as much as we could. We continued that with SQL Saturday, and we continue that today in our own ways. Andy and I try to support individuals in various ways. Brian has really put his money forward in this area with the Pragmatic Works Foundation.

    We’re a community. All of us. We compete, we argue, we laugh, we cry, but we’re a community and we can all try to grow our business, improve our skills, and advance our industry as a community. I’m proud to be a member of the SQL Community and the #sqlfamily.

    Steve Jones

  • Modeling and Design Are More Important in DevOps

    I’ve run across a few customers that are adopting DevOps processes for the database. This makes sense as I deal with Redgate Customers, many of whom are doing this. As they adopt a Compliant Database DevOps process, it seems often that there is a push for database developers to react to feature requests quickly, at the same rate that the application developers do, and push out new code regularly to support changes. This new code often includes schema changes to support new features and functions, which often means table changes because the data elements need to be stored somewhere. This, of course, means the data model changes.

    In many cases, trying to release a new feature today or tomorrow, or even next week, means making quick decisions. As an example, if we capture lots of cost and price information in an application and are enhancing this to add currency values, we’ll be adding fields to any table that stores financial data. How we do this could vary. It’s easy to add a currency lookup field to all tables, and that might be what many application developers want to do. If they’re using an ORM, they might just add this as a property to their object definition, which generate a series of ALTER TABLE statements to add the related fields. Certainly, a database developer could just generate those same scripts.

    Whether this is the best choice, or if some more normalized structures are needed, is unclear. That’s dependent on the problem domain, and if date stamps are needed to capture currency differentials at times, or even if we need additional FKs to ensure there is referential integrity, many junior developers and DBAs might not think about the implications to the data model. As time passes, this could mean additional technical debt to deal with, limiting future enhancements. This could also mean fundamental flaws in how financial data is calculated, potentially opening impacting revenue if the data model doesn’t support accurate calculations.

    Moving to DevOps doesn’t necessarily mean moving fast. It can, but it’s really about making focused, small changes at the rate that matters for your business. It also means that your data model and design of data store structures becomes more important than ever. While we can make decisions quickly, this takes experience and understanding of the business impacts, as well as the potential downfalls from different types of structures. DevOps asks us to give feedback about potential problems up and down the software development pipeline, which should include a data architect of data modeler. Someone with experience here can help to consider future implications and even provide some flexible designs that can adapt in situations where we have incomplete knowledge.

    Since we build our software on the data, we need to ensure we are properly capture the data in a way doesn’t create too much technical debt. There are many, many stories of organizations that struggle to grow their applications over time, often because of very poor data models. Many of these issues could have been avoided by consulting with senior developers, DBAs, and data architects/modelers for an hour before making a fundamental change. Even if this means keeping a consultant on retainer. The investment in reviewing and understanding the data model can pay off tremendously in the future, especially as the cost of data processing is often one of the larger costs of running an application. Whether this is an RDBMS like SQL Server or an alternative structure like CosmosDB. A little investment in modeling early can prevent the need to over-provision resources later.

    Steve Jones

    The Voice of the DBA Podcast

    Listen to the MP3 Audio ( 4.2MB) podcast or subscribe to the feed at iTunes and Libsyn.