Tag Archives: human factor

When working remotely does not work

About a week ago this article from Atlantic landed in my Inbox from one of many newsletters.

And now, returning home from just three days of working remotely, I think about how I agree with many of the points this article makes.
In general I am very thankful, that I have an option of working remotely periodically, but only because otherwise I will have to skip work entirely each time I travel.

I’ve always been a great proponent of remote work, arguing that it can be as efficient, as working in the office if not more, using my work with NY Department of Education as an example. But I have to agree with this article: times have changed. And now I have no doubts, that working remotely for me in my current position should be very limited – both to my own benefit and the benefits of the projects I am working on (which, to be honest, is almost the same thing :))

Advertisements

Leave a comment

Filed under publications and discussions, Team and teamwork, Workplace

How women networking should NOT be organized

There was one small episode during ICDE 2017, and although it has been a month already, I still feel like I want to write about. Here is want happened

Among other booths of different vendors there was (as usual) the Amazon AWS. And one of their reps told me,that on Thursday they are going to have a “women event”, and whether I want to sign up, and if I just could leave my email with them. I told her: well, there is a conference banquet on Thursday, at what time precisely your event is going to be? And she said reassuringly: after the banquet!

Now, the banquet would start at 6PM, and on Wednesday evening I receive the following email:

Hi Hettie,
I wanted to reach out on behalf of AWS and invite you to attend the AWS Women in Engineering Networking Event tomorrow on Thursday, April 20. Our recruitment and engineering teams are coming down from Seattle for the ICDE Conference and we’d love to meet you in-person at our happy hour at Blue Door Winery in San Diego (around 3 miles from the conference venue).
There will be wine tasting, artisanal bites, and a raffle on-site. Please feel free to bring guests, the more the merrier!

I am clicking on the invite, and guess what start time it shows? Yes, you are right – at 6PM.

Let me tell you that. The banquet is the most important social event at any conference, and I would always make a point for the younger generation about the importance of attending a conference banquet. There you can be introduced or just introduce yourself to anybody, you can talk at length with the authors of the papers which were most interesting for you. People just are more relaxed and do not run to attend the next session. And if somebody organized a “women networking event” at the same time – how this should be perceived? Like “kid’s table”?! How much this kind of networking would worth? And if the event organizers didn’t bother to look at the conference program when scheduling this event, it’s even worse…

Fortunately, at least at the first glance, there was not that many women who would trade the banquet for this networking event 🙂

Leave a comment

Filed under events

How I learned to love tests: both using and writing ones – part 2

Even when I would reluctantly admit I need to have tests on place, I never understood, why one might want to put the check for the number of tests you want to run in pg_tap. What’s the point? You know how many tests you want to run, so the only thing you need is to count the executions :). And when the number does not match it means that you didn’t count them correctly;)

That’s what I was absolutely sure about… until last week. A week before that I’ve discovered that I’ve mapped one foreign table incorrectly. Or, may be, it got changed and I didn’t notice – I didn’t have proper tests!

Nevertheless, after I fixed the table structure… yes, you are right, a number of tests failed! and since ai’ve added a whole bunch of newly mapped columns (21 of them, to be precise), I had to place 84 more tests… four for each column… and after I did it… and pg_tap reported that I ran less tests than I’ve planned. And my first inclination was to change the “number of tests I want to run”. And I almost did it… but then I thought: I remember I’ve counted! If there are less than 84 new tests, then there are two options: either I counted them incorrectly, or – I misses several tests.

It was not fun at all, going through this huge file with all the tests… but I found the missing ones! And I was so happy again, that somebody forced me to run the tests each time I am committing changes 🙂

 

 

Leave a comment

Filed under Development and testing, Team and teamwork

How I learned to love tests: both using and writing ones – part 1

My fellow database developers, let’s be honest: we do not like writing tests. We are not application developers. We do not understand the test-driven development: at the end of the day, how we can figure out what should be the outcome of our functions and stored procedures, when we do not know what data they will be working with?!  When our managers tell us, we should generate the test data, we think its’ the most ridiculous thing in the world, because if we create some data, obviously the results of the testing will be favorable!

I understand, that not necessarily each and single database developer goes to that extreme, but… pretty close. And I will be the first to admit being guilty with the similar attitude. I only believed in testing on a “copy of the real data”, sort of A/B testing, which is important, but not the only thing to be tested.

Especially these days, when the data structure is not “almost always static”, when the changes the application DB are not a rare catastrophe, but a part of normal life of the application. At a minimum you want to have tests which show you that if you change”something” in the database structure, other “something” won’t break. We need those tests. But… it is so boring to write them! It slows our development process sooooo much! Especially, you know, when you have this big project to complete, and each and every half an hour matters!

At least that’s what I was thinking for the past two months working hard to bring our new Data Warehouse live. And promising to myself, I will write the tests… later :).

But my former co-worker, my forever-mentor, current consultant for my company – Chad – have written his test for “his”part  – which is a part of our system, which is responsible for “taking” to the third-party databases. So… on the night of massive changes on the said third-party database, which were not properly communicated in advance, when some parts of my processes started to fail… and when I fixed the data structures to match the new ones… the tests started to fail!

I was not happy :). Not happy at all. I was thinking – why?  Why I have to sit and fix these tests at 11-30 PM?! But guess what. It took me only 45 minutes to fix each and single test, which was touched by the change, and to validate the new data structures. And I was done before the midnight. And guess, how long it took other people to have their parts of the system updated and running with no issues? Almost the whole night, and almost the whole next day! You might laugh at the next statement, but here is it anyway: at that moment I felt very much protected by these tests.

And that’s what the tests are for, aren’t they?!

Leave a comment

Filed under Development and testing, Systems, Team and teamwork

About my new job – what exactly I am doing

The most important thing which I love about my new company is that we all share the same values, have the same vision. When I had a very first conversation with the CTO, literally her second phrase hit the right spot! I thought immediately – we can work together. I we will work together 🙂 – and so far I could not be happier.

I’ve immediately jumped into a very important project. Like it happens to me way too often – I’ve already promised the moon and stars, and now I am thinking – what if it will take longer than I thought? I know exactly how I want to proceed with each and single part of this project, but I also know that each step can involve some unforeseen technical difficulties. It makes my life both nervous and exciting. Every morning I wake up realizing I was thinking about my project while I was sleeping, and now can tell: no, this idea which seemed so cool yesterday is not really going to work. Or the opposite – well, I know how to make this part better!

… that’s how I used to say when my kids were teenagers – it’s like having three soap operas running at the same time 🙂 – now it’s a reality show running here and now. And the outcome is still unknown…

Leave a comment

Filed under Companies, People, Team and teamwork, Workplace

The other day I had another conversation about the business logic with one of our new managers.The good thing – since we were writing another paper, I’ve just reviewed my “split logic” principles and explained it to two of my other co-workers. So I was ready to explain it again.

But I keep wondering, why people are so scared to have “a business logic in the database”? At the end of the day we have multiple applications accessing one database. The database is “more permanent” than the app. The same data can’t be processed using “two different logics”. Isn’t it quite natural, that the business logic actually should be reflected in the database?

Another thing is the fear that the code, which is stored in the db in form of  functions, is somewhat different, that just “a code”. Which leads to another scare – that when something is stored in a database, it becomes a black box. I am not sure how to fight those phobias, but I am pretty sure that they do us a disservice, because those are phycological, not logical, and even more not technical reasons to reject the better performing solution… The more I think about it, the more I agree with the statement, that impedance mismatch os more cultural, than anything else…

Leave a comment

Filed under Systems

Team and teamwork

For the past couple of weeks I’ve been asked multiple times the same question I though I’ve answered a long time ago: Hettie, why do you want to have a database developer on each quad? Won’t it be better, if you just have a team of database developers, and if there is a need in the database work, you would dispatch a developer to a project?

I was so sure I’ve written about it already, but I’ve just looked over all the “people” tags and didn’t find anything… so I guess, I just always meant to write about it, and never did :).

In short: if a squad does not have a database developer, it becomes much more difficult for the squad members to realize they actually need some database work. Since the database is “a backend of backend”, many potential problems which can occur are not recognized as “db problems” or “db tasks”.

On the other hand, when a database developer is indeed a member of the squad, when he or she is present starting from the very first design sessions, when (s)he understands the project/product needs, the better solutions can be introduced from the very beginning, potential problems could be resolved before they occur.

It’s very rarely that “an outsider”, “a consultant”, which a database developer can become if (s)he won’t be a squad member, can grasp all small details about project. I personally do not believe in “theoretically correct solution”. In the overwhelming majority of cases the solution should be tailored for a particular case. The foreign keys and other constraints and functional dependencies are originated in the real world, not in the database. Not always, but in most cases you can’t just look at the database schema and say, whether it is “right” or “wrong”. And that’s where a database developer on a team matters – to do things right. Right away.

Leave a comment

Filed under Team and teamwork