Category Archives: Team and teamwork

My first year at Braviant

Yesterday was my first anniversary at  Braviant Holdings. That was not an easy year. There was a lot of hard work. Lots of days and nights when I was not sure where I will be able to accomplish what I want and what I believe is needed to be accomplished.

But now, when I look back and think about what have happened over this year, I can only say: Wow!

Building of the new Data Mart from scratch, completely replacing the new system, using new techniques for combining multiple external sources. Keeping up with new challenges. Helping to build new framework for our data analytics. Starting as a sixth employee in the company and the only tech person and now being a part of a tech team within the company which quadrupled it’s size in one year.

And most importantly – delivering high- quality database solutions. The thing  which makes me really happy is that through this whole year I never had to compromise my technical values, that I was given a freedom and responsibility to do what I believe is right, and to be accountable for results. It’s the best thing one can imagine – to see how your works makes your company to perform better – every day.

And the last, but not the least – always feeling good being around my co-workers, smart, intelligent, helping, compassionate and dedicated. I love the culture of continuos learning, which exists at our workplace, love the fact that everybody wants to know what other groups are doing, and how their work impacts others. Granted its’ much easier to accomplish when the company is small, but I really hope we’ll continue this way.

Leave a comment

Filed under Companies, People, Team and teamwork

That’s about us!

I know that many people have already reposted this article, but I didn’t! Mostly because these past three weeks I was preoccupied by my family issues…

Anyway – Here is an article about Braviant Chicago office. And it’s very true, that we’ve hired the best and brightest! My dear co-workers, no matter how much I can be upset with you changing your requirements twice a day – you are indeed the best and the brightest, and I am honored to work with all of you!

 

Leave a comment

Filed under Companies, Team and teamwork

A major accomplishment

It’s almost the end of the year. And it sounds like the most improbable day to write something about work, especially voluntarily.  But I’ve being really busy working  for the past several weeks (and months, to that matter).

But now I have something really exciting to report. And that “something” happened on Wednesday last week. On that day we stopped the automated emailing of reports from the old datawarehouse. Which of cause means, that we have all needed reports set up to run and email results from the new datawarehouse, which I have being building for the past seven months.

On one hand it seems like it took too long – the data was there and available for a while. But it always takes lots of time to convince people, who are used to the old ways, that they need to switch to the new system, the the new system is better, more accurate, etc. Besides,as it almost always happens, on the day that we’ve announced that “the old reports will be discontinued”,  the whole bunch of reports never converted to the new system emerged out of nowhere…

We were able to convert all these reports, to validate their results with business, and to shut down the automated reporting as planned.  And that means a lot for me, because it’s a very practical result of all my work since I’ve joined Braviant.  I do not have any illusions regrading this “sunset”, I know that there may be still multiple cases of “I need to see this old report” and such. And even after all user access to the old system will be disabled, we’ll need to archive the data for auditing purposes. But in any case I consider the current status as a major accomplishment, and a very material result of my work.

Of cause I won’t be able to accomplish that task without my wonderful co-workers, and since we are a small company, the input of each individual made a huge impact on the successful achievement of that goal.  I am in a very good place now, in all possible meanings of this word 🙂

Leave a comment

Filed under Companies, Data management, Team and teamwork, Workplace

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

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