Category Archives: Team and teamwork

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

The joy of team work!

Last week I had to work a lot! I mean, A LOT! But work-wise that was one of the happiest weeks, and I wanted to share with everybody why it felt so happy.

Those of you who worked with me before know, that my favorite activity is working with  applications, because optimizing for applications is way more difficult and way more fun than optimizing reports. Yes, you can impress everybody, including yourself, reducing the report run time from one hour to one minute. But how much cooler is it to reduce the page load time from 30 sec to 0.1 sec?!  Especially when you have a power not only to write the best queries ever, but also to design the data model “the right way”.

When you do the application database work, the most critical part is to work in close contact with the  application developers. And depending on what kind of team you are lucky or unlucky to have, it may be the best or the worst part of your professional experience.

My IT team here in Braviant is one of the best I ever worked with, which was proved one more time last week. The most difficult part has always been connecting the db work and the app work, like: I’ve selected all this data for you, can you read it from the output I am providing? Or: we can give you all input parameters that way, can you process them? Our app developers have already made a huge step “in my direction” agreeing not to use ORM, but to read the output of the database function. Next step – we hit the  wall exactly where I expected. I’ve spent a half of Saturday writing my code, so that the app developers could start using in Monday morning… and now they are saying they can’t process correctly the embedded record sets! I’ve heard that many times before, and each time in a couple of hours I would hear: Hettie, there is no way! Let’s do it “the old way”, we know how… That time, however my team kept trying to find a solution, and watching these efforts made me to start thinking how I can change the output on my side. After several iterations going back and forward, we came up with a pretty neat way to return the records, which could be used right away, and even a better approach, which, however would require more work from me, and could not be done on the spot.

And you know – I totally understand, when people hate rewriting one piece of code multiple times, which makes me appreciate even more the willingness to rewrite later, when I will come up with the more automated solution from my side…

I have already written a lot in this post, and I am not sure whether it all make sense, but let me try to summarize.  I loved that everybody were willing to compromise, to make adjustments, that there were no “just because” statements, that the whole team was focused on the goal to build the application right from the very beginning, so that we won’t need to worry about performance six months down the road.

Hope it will continue that way.  Except of me working on Saturdays part 🙂

 

Leave a comment

Filed under People, Systems, 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