The magic of the right answer

When you are in school, you think that the the most difficult questions are those on the final exam. I remember how I’ve anticipated this happy future when I will never-ever have to take any more test! Sure…

Besides of the fact that later I went on to get my PhD, and voluntarily subjected myself to the new battery of tests and exams, not mentioning the actual dissertation… besides of all this – the most difficult questions are not on the test. That just appear. Show up. In course of your daily work, when you take on a new project, or when you firmly believe that your project is almost done… and then comes a problem. This problem. And a cost of not coming up with a correct answer is way higher than getting B instead os A on your final.

Several days ago after a couple of back-to-back meetings I’ve got this feeling, that everything is falling apart. That my original design was only good in my head, snd that it did not survive the meeting with reality. And that felt like I’ve promised more than I can deliver, and that more than one project will need to be pushed back.

I left work a little bit earlier, biked from the train station home without any audiobook in my earbuds. The I called my mother so that this will be a checked box for that day. And then I sat down and started thinking. It might sound silly, but I’ve realized that the only thing I needed was to focus and to analyze all the inputs I’ve already had. I was not staring at the code. I was not even staring at the database schema. Not writing. Not drawing. Just imagining all of the things I need to fit into one picture in my head. “Imagine you are a database” :).

And then that was it! Before I could even analyze all the dependencies, I knew it was right! I’ve started going through all the difference scenarios in my head: yes, this will work! And in this case as well! And for the future, when we won’t need this particular functionality it will work as well! And it won’t require any additional data transformation!

The next thing I did – I’ve set up a meeting with my co-workers so that they could criticize me ideas and find the cases when “this” won’t work. (Fast-forward to the next day – we actually found more cases when “this” will work!)

And thinking about my 35 years in this profession – those are the best moments, the peaks of satisfaction. This very moment, when you can see the solution, and you know it’s the right one right away. It may be a super-cool optimization, when you improve a query execution time 500 times. It may be a new design, it may be a new way of writing functions. But this moment when you know that what you’ve just come up with is right – that’s the real magic.

The next nest thing is to call my husband and tell him what a cool thing I’ve just invented, and then run around the office with my laptop opened showing this cool thing to everybody 🙂


Leave a comment

Filed under Development and testing

If we need this data for reporting purposes only…

I always thought I have a well established opinion on separating application needs and reporting need. So whenever I was asked to add some attribute to the production system, which is “necessary for reporting”, I would always say: we will build this dada in the reporting system.

So first I could not believe what I just said, when I’ve said something to the effect “I will create this table, which application does not need, and I will use it to record data, which we need for reporting. Literally, after I’ve sadid this I thought – what in the world I am saying?! But then I was very positive that we indeed need this data to be recorded, and I’ve been keeping thinking about it…

And then I’ve realized, that the “reporting” I was referring to is not really a “reporting”. We just historically use the reporting system to go for this information, but in reality, those ones are not analytical reports, but operational reports, which raise alerts when some processing errors occur – mostly in the daily batch jobs. And then I started to think – probably we should treat those operational reports differently? They are not processing big data volumes, they are actually exception reports, and may be we even need to create an “exception processing service” in our production system?

Yes, just to prove, that I am right, of cause 🙂

and data, which is required for reporting. I think it makes lots of sense –

Leave a comment

Filed under Data management, Systems

2Q PGConf is coming!

Fellow chicagoans, did you get a chance last year to attend a first 2QPGConf in Chicago?! If you did, I am sure you loved it, and I am sure you’ve promised to yourself to do it again next year.

Well, “next year” is now “this year”. And the conference is already officially announced – check out the conference website here. And note – this year the conference will last for 2 days – there will be a day of training, and a day of presentations. The call for submissions is opened, the registration is opened, you do not need to travel, it will be all here is Chicago, and managers like it :).

If you where there last year, you already know that that’s the event you do not want to miss, and if you were not there – it’s time to check it out 🙂

Leave a comment

Filed under events

June Chicago PUG

Last week we have a first meetup of Chicago PUG in our new office. From my previous experience moving meetup to a new address always incur some casualties, so I was really glad that people have come! Our new office is not only a better workplace that the previous one, but it is definitely a better place to host meetups.

I had a very busy time for the several weeks before the meetup, and a move itself is quite a stressful experience, so in the morning of the day of meetup I’ve realized I absolutely didn’t think through any of the details. Turned out – I didn’t have to! There was no need to move the furniture as in the previous office, our new kitchen provides a way better setup for people to talk before the start of the meetup, everything was ready for the presentation.

As for the presentation, Chad Slaughter presented a talk “Postgres development methods: pgtap & FT testing”. Which was really perfect for us, because I am trying really hard to popularize the pgTAP tests and a concept of unit tests for the database in general. I do not know why it is so hard, but although pgTAP is a very well established framework, people just like to create problems for themselves and not to maintain the tests for any database work. Either because they have no time, or because tests are boring, or most likely because they just do not understand their importance. So I was really happy that somebody except me was preaching the same thing.

Anyway, I just feel really good about how this meetup went, and hope to maintain the same quality of professional interaction and networking. For many years to come!

Leave a comment

Filed under Companies, events, talks, Workplace

PG Open 2018

For some reason I feel like there were less announcements this year about the upcoming PG Open. But now it is fast approaching: it will take place Sep 5-7, in San Francisco, at the Parc 55 Hilton hotel – same as the last year.

I will be presenting again, however I do not feel it as “again”. Some of my peers were telling me that they are so sure my talk will be accepted – they can’t even understand why I may be anxious. But for me this year was especially challenging. The workload was huge, partially objectively, partially because of the ambitious goals I’ve set for myself, and partially because of the health issues I’ve being dealing with for the past several months.

This being said, I am really happy that our talk was selected to be presented at the PG Open. And another reason to be happy – after three years gap I got back to my favorite topic of ORIM, and I am presenting together with an app developer – my coworker Alyssa Ritchie. Almost back to the old days, but better :).

And the Early Bird registration is still opened – please check out the conference web site!

Leave a comment

Filed under events, publications and discussions, talks


The SIGMOD 2018 conference in Houston TX is approaching it’s end, and it’s the first time a had a moment to sit down and write a paragraph about it. All I can say – I am really happy to be here.

I was questioning whether my participation in the conference will be productive, when I do not have a paper to present, and also whether it is a wise idea to go away for a week when I am still a one person shop, and me being at the conference effectively means a pause in all database-related development.  But now I am really glad I did.

There were a number of talks which made clear connections between theory and practice and reminded me one more time that there can be a very fast path from an idea to the production implementation, when you know what exactly you need.   As they say, the theory without practice is fruitless, the practice without theory is blind. A number of talks addressed very specific problems I was trying to resolve, and all I wanted to do was just to say thank you to the people who’ve made my life easier.

Hopefully there will be more to follow, and for now I just want to thank my company, Braviant Holdings for the support of employees professional development and for understanding it’s importance.


Leave a comment

Filed under Companies, events

What makes a manager awesome?

Recently I  was asked to submit my “Motivational inventory”. Among other questions there was one which made me think for a while: if I think about the best manager I ever had, what would make him(her) awesome? Here is what I’ve replied.

I was lucky to have several awesome managers,  and I can’t really rank them.  But there was definitely one thing in common for all of them- they were supportive.

They would trust my technical skills and would let me to do things “my way”, even when it was not “like people normally do”.

They would have patience to wait till I reach the desired results, even when I myself didn’t have patience .

They would help to resolve the conflicts between team members, and would make sure there is no bitterness left. It would often require multiple phone conversations, and sometimes felt like marriage counseling :).

They would recognize my achievements and make them visible to the upper management and clients. And they would support and motivate me at the moments when I would feel I am a looser and nothing works.


I think that being supportive is the most important role of any manager. Trust, openness, recognition of employees achievements – all of these things can be viewed like forms of support.

Leave a comment

Filed under People, Team and teamwork