The 2Q PGCONF program just announced!

Hi Chicago! I am extremely excited to share with you the program of the upcoming 2Q PGCONF! After the last year’s success the organizers decided to add a whole day f training to the conference.

So, here is what you need to know: the training schedule is here. The talks schedule is here. Exciting news for my company – two talks from Braviant Holdings were accepted! I think it tells a lot about how our company foster innovation and invest in employees professional development.

And now the important dates to remember: the training is on Tue December 4, and the talks are on Wed December 5, and October 14 is the last day of the early bird registration!!!

And finally the last thing. The Chicago PostgreSQL User Group meetup will be next week, Wed Oct 17, featuring Shaun Thomas. Please come and have a sneak peek of the conference!


Leave a comment

Filed under talks, Companies, news, events

New database position (s) at Braviant Holdings

A number of people have asked me, when we will be hiring again. My answer is that as a company, we are hiring all the time. And right now there are several opened positions, including several IT position. But now there is also one more database position opened, so if you missed it last time – here is your chance:).

The job posting is here, and a position description is the same as six months ago. And I am still looking for the same set of skills, and whatever was mentioned in this blog post is still applicable.

I can’t stress more – please read a job description carefully, when I say I need some skill, I really mean it!

To answer other questions I’ve got recently: yes, there will be more database positions next year, but I am not sure when and what positions specifically. And no, I can’t take interns right now, because neither me, nor my team has resources to train people who do not have relevant experience and will be likely gone in a couple of months.

My last hiring period was very long and stressful, but at the end we were able to hire great people, so my outlook as of now is pretty optimistic.

Leave a comment

Filed under Companies

Our presentation on PG Open 2018

It went really well, and what was especially important for me – many people commented on how it exhibited the team work. Not only our work itself, but also how our marketing department helped us to make our presentation really cool and shiny, and everything 🙂

Here is a recording of the actual presentation:

The Q&A – we had lots of question!

Leave a comment

Filed under events, talks

What’s happening at PG Open 2018

Lot’s of interesting talks! The fact that this year I am not alone at the conference, that I have a team – helps a lot! We coordinate between the three of us, which talks we want to attend. Otherwise I don’t know how I would manage! Yes, you can read about the new features of Postgres 11 online, but it is way more interesting to listen to the people who made it happen. Also, I am always looking for people who are solving similar problems as we do, like dealing with incorporating time into data, improving the speed of the data load, and finding efficient ways to connect to external systems.

I was able to catch up with many people whom I knew from the previous conferences, and met lots of new interesting people. And there is still a whole day of the conference ahead, I will try again to listen to as many of the presentations as I can.

Tha opening of the conference

Leave a comment

Filed under events, talks

How to deal with “First you write, then you optimize”

Recently I’ve made yet another attempt to optimize several quite inefficient report, which had been out there for so long, that nobody remembers, who have written them, and who have speced them out. I did not finish this task, even with the help of my team we just didn’t have enough time to spare on improving something, which “works”. And when I was thinking about it over the weekend, I thought that different people may have different definition of “works”, when it comes to SQL writing.

I always say – it’s easier to write the code correctly on the first place, that to optimize reports which are written inefficiently, but way too often I am getting a response from the stakeholders – we need it now, you can optimize it later. And then later never comes.

This is so obvious, that I would not spend time writing about this yet another 101th time. However this time my thoughts have taken a different path. I thought about why I was unable to finish this optimization, why I didn’t have enough time. The reason was, that something else which I was writing have taken way more time than I originally planned. And the reason why it took so long is that I find myself unable to write, even as a first draft, the code which I know for sure is suboptimal. No matter how many people will tell me that “it does not have to be perfect”. And then – yes, it takes longer.

Now I think that when I teach an optimization class, and when I am showing to my audience some cool technique, my thought process is that everybody should realize how much better this technique is, and than use “that and only that” approach, because how-else-this-is-so-obviously-better. And as for my audience, people think – ok. It’s cool. Good to know. And do not change there code -writing habits…

Once again, I might have been just ignorant, and may be everybody knew it all along, but it was a revelation for me: if I want to teach people good coding habits, if I really want to avoid this situation “first write, then optimize”, not only that I need to show people how to write a coode code. And not only I need to show how not to write. But I also need to teach zero-tolerance to the bad coding. So that people’s minds won’t even wander in this direction:). If it is not written the right way, it is not done.

I am pretty sure nobody would like this idea, but can I at least have a dream :)?


Filed under SQL

2Q PGConf 2018 in Chicago – important update!

Dear friends, colleagues and followers! Do you remember, how awesome the first 2QPGConf in Chicago was? I really hope that the second 2QPGConf will be even better!

So what is my important update? Here: the talks submission deadline has been extended to September 12.

I think that this fact (the deadline have being moved to after the Labor Day and after the PG Open) will allow way more people to submit their talk proposals. I truly believe that you should not be “somebody” to submit a talk proposal. Let’s be honest: there are only “so many” new features in each of the Postgres releases, no matter how new and exciting they are. But each and single practical implementation is unique. Each and single faces its own challenges. And yes, the whole purpose of the knowledge exchange on the conferences is not to repeat other mistakes, to learn from the best practices, which might work… or not 🙂

In any case, here is my message: if you are doing something interesting with Postgres, please consider a talk submittion! To all the benefits of the local conferences I’ve listed in my post a year ago, I will just add one thing: if your talk is accepted, you attend the conference for free 🙂

So… see you there?!

Leave a comment

Filed under events, SQL, talks

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