Posted in WIT

Thoughts for International Women’s Day 2019

20180922_083834I took the following picture of the Code of Conduct prominently displayed at the SQL Saturday Boston held in September. As I was clicking away, a woman passing by shouted over to me, “It’s a shame we need one of those things…” It stopped me in my tracks because it wasn’t what I expected to hear. It really has stuck with me ever since. I was taking the picture because some events get criticized for not having a code of conduct at all and here we were – prominently displaying ours. Which we thought was a good thing. But it made me think a little more about that whether the pride was misplaced.

It seems to me that one of the biggest reasons for code of conducts, especially at tech events, is because of the harassment of women who have attended the event in various forms. Anti-harassment policies apply to everyone but women seem to have traditionally borne the brunt of the problems which have made them necessary.

Organizers of events are left to make the decision on how to handle those who have been accused of harassing others at their events either as speakers or just attendees. But when so many of the events are decentralized, even when they are under a large umbrella organization, I think it’s hard for organizers – especially newer organizers – to know who these people are. There’s no central reporting system to cross check to see if someone has been kicked out of a similar event for violation of code of conducts. Organizers are left to rely on the “rumor mill” where you have to get the story in front of the right people and you have to trust that it’s getting around correctly. And because it’s people passing along these stories, it starts becoming harder and harder to guarantee. We all remember the childhood game of “telephone”, right?

Then there’s reconciling the stories with seeing these same people who violated code of conducts still being included as speakers or members of special programs by vendors or community, etc. Then you have to ask why are those people there? Is it because those stories were ignored or is it because those involved never heard them in the first place? Or do those in charge not have proper guidance in how to handle these situations?

A code of conduct gives us a place a start. Although let’s face it, we shouldn’t have to tell adults how to behave appropriately and respectfully at professional events. But the other problem with a code of conduct is that they often only apply to specific events. Or at least on the scale that most groups use. How do we handle issues that arise after events – the indecent proposals at an informal, after event dinner? The “mansplaining” emails? The harassing tweets? If you aren’t privy to those, how do you as an organizer decide what to do? And how can it be clear that those actions outside the events play into people’s decisions to attend them at all? There are some women who have publicly said they won’t go to events if they see people speaking or attending who have harassed them or others. How do we create events where everyone feels safe, comfortable, welcomed, and valued if we don’t know and don’t have the means to take the appropriate steps?

There has to be something better than word of mouth to share this information. I hope there is more about how this does get handled than I know. If that’s the case, we should have more transparency into how this gets handled on a larger scale.

I feel I have a lot more questions than answers around this, unfortunately. All I can do is to try and speak up when I can and to encourage others to do the same. Writing and editing this post right now, I wonder what missed opportunities I have had to bring these issues up and worked towards a solution. It’s not always an easy task and I’m not perfect so I just need to continue to work to be better. I can also do more to support those who do a better job of educating others and actively work on solutions to these problems on the larger platform than what I have.

When I started this blog almost 3 years ago, I decided I wanted to have a post for every International Women’s Day. I am a Woman in Technology so I think it’s important to share my thoughts about it since we all have our shared and differing experiences. I’ve always wondered if I’ve been too optimistic in my past posts. What I love about #sqlfamily and the SQL Server community is that they truly are dedicated to supporting WIT activities. (And we should strive to be this supportive for all of those who are underrepresented.) We are a diverse community and I believe that the vast majority of our community supports and celebrates that. That’s why I’m very optimistic about our little #sqlfamily corner of the tech world and I feel like that’s why I can focus on the support that’s given in our community rather than the problems. I can’t and don’t pretend issues don’t exist but I have hope that we have the tools and desire to make it better.

Back to the code of conduct – I agree with the attendee that it is a shame that they are needed. But it’s that first public step organizers can take to remind everyone that they are expected to act professionally and respectfully at all events. And, more importantly, inappropriate behavior and actions have consequences.

Posted in SQL Server

#TIL About Foreign Key Scripts

No matter how long you work with something, you can always find something that you never knew before. I found one about foreign keys this week.

I was reviewing SQL scripts for coworkers and I noticed that the foreign keys were written without referencing the parent table’s column. But the script didn’t fail and created the foreign keys correctly. So how did this work?

Continue reading “#TIL About Foreign Key Scripts”

Posted in SQL Server, T-SQL Tuesday

T-SQL Tuesday #110 – Automate all the things

TSQL2SDAY-150x150I’m getting the new year started by joining in the T-SQL Tuesday party. Thanks to Garry Bargsley (b | t) for hosting this month’s topic: Automate All the Things.

What stuck out most to me is when Garry asked the question:

What does “Automate All the Things” mean to you?

It’s not the real focus of what he’s asking us to talk about it, but I think it’s important to talk about. When I think of automation, I think of setting up routines that need to occur on a regular schedule. This means that you would automate system checks, backups, maintenance, etc. that run every night. In some ways, I see automation as a tool that helps with mainly administrative tasks.

Well I don’t work on the administrative side of the house. I work in development so I don’t have to deal with the day-to-day maintenance work that benefits from automation. Now, I do see automation used in other places in development – for example, unit tests that run every time a build is kicked off, QA automation tests, etc. I know database work can have unit tests but it’s somehow hasn’t filter down to the way that I have worked. (Yet.)

However, I have started to recognize when I have to do a series of steps over and over for a reason – usually involving resetting my environment for testing one thing or another. I’ve started collecting the small pieces together and started creating mini scripts so I can do these steps again. And I’ve started modifying them so I can make them work in any situation. For example, I need to move data between two databases but the database names may be different so I added a parameter and made the statements dynamic so I just need to supply the right database names. Or I created a simple PowerShell that has the list of commands to run to do those few steps instead of me doing them separately each time. It’s not always a lot of steps but this way I don’t accidentally mistype something or put something in the wrong place.

In many ways, this is part of setting up automation – identifying the repeatable actions and creating a mechanism to repeat those steps in a reliable way so I know every time I run the script, each action will work correctly. While I’m not scheduling them to run at a certain time – whether it’s a calendar or from some other action, it’s laying the foundation so that if I – or my coworkers – could ever automate these actions, the basic set of scripts is ready to go.

Most of my database work is still done using T-SQL scripts. Call me old-fashioned but I like using these scripts because I can use them directly in a query window in Management Studio or I can call them from PowerShell and I know I’m doing the same exact actions regardless of how I execute the script. I’ve started to use PowerShell more to run these scripts. I still feel like I’m learning PowerShell, but I’m definitely getting more comfortable and improving my skills. None of this may be the cutting edge technology but it gets the job done.

One day, I’ll probably be able to implement what I consider to be true automation. Who knows – maybe someone else will consider what I’m doing “true automation.” But until I can really automate these actions, being able to set things up so that will be possible will have to do.



Posted in Apropos of nothing

Reflecting on reflecting

Because even when you’re practically perfect in every way, your reflection needs to take a look back at you too…

Yep – it’s that time of year again where we all start reflecting and seeing how we measure up. Well, I’d say it’s that time of year again, except lately I feel that’s all the time. It’s like we’re in a constant state of reflecting because there are so many times that lend themselves to this. The end of the calendar year. Annual reviews. Some anniversary, real or made up like a “blogiversary”. Birthdays. The Jewish New Year for some of us. (My birthday is around that time of year so it’s like I get two for the price of one!) I’m beginning to feel like if I do any more reflecting, I’ll have to start calling myself Narcissus and stay away from all bodies of water.

Continue reading “Reflecting on reflecting”

Posted in data modeling, SQL Server

How I Really Feel about Surrogate Primary Keys

When someone goes on a rant about something they truly feel strongly about – good or bad, my typical joking response is “You’re being a little wishy-washy about this. Tell me how you really feel.” I recently had a conversation with co-workers about surrogate primary keys and realized I need to use that line on myself.

So let me tell you how I really feel about surrogate primary keys. Where’s my soapbox?


Continue reading “How I Really Feel about Surrogate Primary Keys”

Posted in SQL Saturday

SQL Saturday Boston #797 Reflections

Now that SQL Saturday Boston is over (along with the rest of my insane September), I’m finally able to reflect on the whole event.

my speaker badge
My badge and its ribbons

My first SQL Saturday Boston was as an attendee when it was held out at one of the colleges in Wellesley, MA (either Wellesley College or Regis College – I don’t remember which one.) I missed one or two of the SQL Saturdays after that because I was late registering and SQL Saturday Boston fills up quickly. I managed to volunteer at SQL Saturday #500 helping in the morning at the speaker and sponsor check-in table. I had spoken at my first SQL Saturday before the SQL Saturday Boston BI 2017 but I didn’t submit my T-SQL 101 session because it was a BI Edition SQL Saturday and I didn’t think it met the criteria for a BI session.

This year, I had the honor to be on the organizing committee. It was an interesting experience to see the same event from so many different perspectives.

Continue reading “SQL Saturday Boston #797 Reflections”