chipotle: (Default)
[personal profile] chipotle
I started this entry sitting in the cafeteria of my workplace trying to find a more comfortable place to work on stuff without being handed more things--not that I have a particularly huge workload in terms of items, just that what I have is getting difficult to handle. Knowing that my coworker (the one I was hired on to help) is actually doing a lot more than I am is not a source of real comfort.

Back in a previous life, I liked using Excel for data analysis. No, really. It's a great tool for small to moderate data sets. If you know what you're doing you can use it with large data sets, too, provided you have some level of control over the back end--the actual data store, or "data warehouse." But in this case, I don't, and in this case the volume is probably too large. One table in the data warehouse has over fifty million rows. Fifty million.

The data warehouse of the company isn't organized the way I would have organized it--although granted, my view on "the right way" is influenced by the reporting needs I'm running into, which might not have been predictable originally. (Although some of it probably could have, and indeed should have.) I'm told that canonical data warehouse theory all but stands canonical database theory on its head: it's good to denormalize data rather than normalize it, and--unlike the reporting server in that past life--you don't want to simply mirror the actual production database. That part I can understand; the denormalization I can't, and the near lack of indexing drives me nuts. And since I'm a read-only user of the reporting server, there's nothing I can do about that, save put in requests with the folks in control--who are already far more overloaded than I am. ("Indexes" on databases greatly speed up access to them, but you probably won't know fields in a database to index unless you're designing the reports--which means that to run an efficient ship, you either need someone in the database team dedicated to reporting tools, or you need to give someone in the reporting team levels of access which will scare the database administrator.)

As much as the thought will horrify some folks, I'd love it if the warehouse ran Microsoft SQL Server rather than MySQL. No, it's not quite as fast, but it's a lot more powerful, and darned if it doesn't work better with Microsoft products. See, my day is increasingly consisting of starting queries, letting them run and lock up whatever application I'm using until either they're finished or I can't or won't wait any longer for them. And, increasingly, it's "can't," not "won't": more requests for reports come in and they crash against the unyielding rocks of the unresponsive database server.

And you know, not being able to do your job kind of sucks. It can make you look incompetent and it certainly makes you feel incompetent.

Beyond that, the timing is getting to me. Not the commute, exactly--the commute's annoying but honestly less so than the commute to NetPoodles was. No, it's the hours of 10:00 to "sometime after 7:00." When being home by 8:00 is early, it's difficult to get into bed by midnight, let alone before it. Making it in bed by 1:00 doesn't seem late--but of course it means that I'm highly unlikely to be out of bed before 8:00. Unless I sequester myself in my room, I'm not likely to be doing much creative in the evening, yet it's very difficult to get up early enough to take advantage of morning energy.

Of course, I could try to shift my work hours--but the chances are leaving at the "early" hour of 6:00 every day would be looked at askance regardless of my arrival time. (At NetPoodles, I left at 5:30.) And of course, normal working hours would make the commute worse.

Well. It's still a great place to work, and I'd still be perfectly happy if my contract--which ends again in less than two weeks--gets renewed a second time. But I wish it was a lot closer to where I live.

I'll keep trying to find the time to attend to "personal" projects, including that elusive goal of finding freelance writing work. The idea of being my own boss is increasingly attractive, and it's not quite as scary as it used to be--perhaps because I'm doing 1099 work now, perhaps because I'm no longer nervous--well, as nervous--about having my income radically cut. (A cut to zero would be bad, obviously.)

Well. It's well past midnight now, so I'll take another small step in that apparently fruitless struggle to get up early enough to provide personal time: I'll go to bed.

Date: 2003-04-30 08:52 (UTC)
From: [identity profile] tuftears.livejournal.com
10-7 is standard for engineers but needn't be so for you. Look at it this way, if you come in early, the database will probably be a tad bit more responsive.

No indexing on tables?... That's not good for queries. And what's the normalization you speak of?

Date: 2003-04-30 11:07 (UTC)
From: [identity profile] chastmastr.livejournal.com
Do they pay you overtime, or are you salaried?

Date: 2003-05-01 08:51 (UTC)
From: [identity profile] chipotle.livejournal.com
I may indeed start coming in early. The problem is that Greg keeps "engineer hours." (And my impression is that a few other people in marketing get in at 8:30 and stay until 8:30, although this is probably just paranoia on my part. :) )

There are indexes on tables, but they're not necessarily the right indexes. The aforementioned 50M+ record table has a timestamp which it's not indexed on, for instance. Evidently there's another field in it with a non-obvious name that has a Unix timestamp in it which *is* indexed.

The "normalization" is the canonical rule of not duplicating data within a database. Instead of having one table that lists your CD collection with "CD title," "artist" and "song" fields, you have three tables that assign them unique keys, so every song only appears once in the song table and every artist only appears once in the artist table, even though you might have five Alan Parsons CDs or three different artists doing versions of "Let It Be." Evidently there's a theory in data warehousing that it's okay to have "denormalized" tables--taking those three and just dropping them back into the one huge CD table full of duplicates--as part of abstracting the warehouse from the production database. I can certainly see the value in abstraction, so changes to the production database only require changes in the script that updates the warehouse. (At Intermedia their "reporting server" was just a mirror, although in practice I don't think the database made any changes other than adding fields and tables in the five years or so I was working with it.) But I'm not sold on the value of denormalization. I suspect it also creates part of the problem with the indexes--when you're setting up a table that combines five other tables into one big denormalized chunk, it may not be at all obvious what is and isn't a good indexing field.

Date: 2003-05-01 09:12 (UTC)
From: [identity profile] chipotle.livejournal.com
The contract specifies a pay rate on a weekly basis, assuming a five-day work week. So I'm not paid for taking a day off, and I'm not paid more for working extra hours. But, do note that 10:00 a.m. to 7:00 p.m. with an hour off for lunch is an eight-hour day--the eight hours are just late.

Also note that the way I read the contract, since it doesn't specify the hours I work on a given day, if I come in at 1:00 p.m. I'm not going to deduct anything from my invoice. The silver lining is that, within reason, I can set my own hours. It's clear I don't have the startup mindset, though; I'm not going to be "married to my job" unless my job is writing for myself, or something somewhat off-the-wall like park service ranger. (I've considered a month-long volunteer position as back country ranger in Yellowstone, but I'm not sure I'm really up to that yet!)

The two things that hold me back from simply setting my own hours earlier are the commute I mentioned, which is about what the commute to NetPoodles was only by virtue of the lighter traffic after 9:00 a.m. and 7:00 p.m. (those hours being when the carpool lane opens up to single-passenger cars, too), and the strong suspicion that if I managed to make it in at 8:30 a.m., I'd still end up staying until 7:00 p.m. simply because the rest of the office would just breeze past the logical 5:30 p.m. stopping point and drag me along with it. I've realized that this really comes from a "we're building something really cool and investing all our energy into it" mentality that I suppose permeates any business venture that's still in its formative stages (at least ventures that it's possible to get passionate about). I just strongly suspect that the only "ventures" that would get me to commit insane hours to them would be ventures either entirely for me (like writing) or living where you work (like a ranger)--essentially, something that I loved sufficiently that the line dividing work from non-work blurs.

Date: 2003-05-01 09:45 (UTC)
From: [identity profile] tuftears.livejournal.com
It is more convenient if people who have contact with engineering are available during engineering hours, but if you aren't one of those, I don't think you strictly need to be. Just make sure to communicate your change of hours to Greg so he isn't wondering where you are.

As for the database, well, I don't follow the use of normalization then; if you have a denormalized table with all the information in it, you can search on it in any fashion you desire, and you can index it by cd title, artist, and song. Unique keys are to enforce database consistency, so only one item of that kind can exist in that table and should be updated rather than having another row inserted.

But of course, having to search through a bazillion rows and getting slow results indicates that it's not scaling well, and a different approach should be used.

Date: 2003-05-02 07:47 (UTC)
From: [identity profile] chastmastr.livejournal.com
Aha! I think it was the "sometime after 7" part which worried me.

What would happen if you came in earlier and simply said, when 5:30 hit, "see you all tomorrow" whether they were still engaged or not? Would they resent you not staying late?

Have a great weekend!

Profile

chipotle: (Default)
chipotle

February 2018

S M T W T F S
    123
45678910
11121314151617
18192021222324
252627 28   

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated 2025-12-28 17:51
Powered by Dreamwidth Studios