endweek

Nov. 11th, 2007 02:07 pm
intjonathan: (haku)
[livejournal.com profile] tenshiemi got a new job as our office manager. We're going to have to put her in the fishbowl with the front-room crew until we move. Unfortunately we probably won't move until 15 December, but she does get to be the head of the party planning committee.

I've been keeping up more with my work blog, answers to selected problems. I'd make a syndicated feed for it so you could read it right here, but that's a paid-user luxury. You could ask why I made a whole separate blog for it, and the answer is that I really didn't want to, but for some reason in the developer community livejournal is a second-class citizen. I also reserve this space to be angry, sappy, sexy, nostalgic, artistic, and generally human. Those kinds of things are best left out of sites placed on a resume, not so I can ease my fit into a mold, but so I can allow future co-workers some time to adjust to my skill level before exposing my idiosyncrasies.

Went to [livejournal.com profile] dritta's housewarming party last night and saw a bunch of my favorite people. I do miss entertaining, winter is hard on the social life. Speaking of entertaining, Day 7 of 24 (which has a preview now) starts sometime in January, though it's been delayed by the writer's strike. We'll start that or BSG Season 2 in January, I think, and we'll keep the dinner thing because that was awesome and people don't eat together enough.

If you get tomorrow off, you suck.
intjonathan: (Default)
Fred Brooks outlines 3 essential points about systems design:

  • Conceptual integrity is the most important consideration
  • Deciding precisely what to build is the hardest part

  • The focus of any organizational structure must be on solving the critical need for communication



Some of these depend on each other, which can be represented graphically:


Of course, you can't just do these things in order. Over the course of everyone actually building the thing, decisions about what it will do must be revisited.


So, to make a great system, first one must decide what it will do, then ensure that its concepts remain coherent, then communicate constantly and easily with everyone building it. At Treemo, I sit right at the second step in that list, and am working on becoming better at the third, as it is increasingly required of me.

Anyway, these concepts are software engineering 101. Every tool, process, idea, program, or proposal that crosses my desk is going to have this diagram applied to it. "Does this thing solve a communication problem and/or reinforce our software's conceptual integrity?" It seems simple, but most things don't pass. Sometimes I feel like people turn their brains off when evaluating things like this. Software is hard, yes, but process of making it is over 50 years old, and the thousands of software projects that have lived and died in that time can tell us a LOT about how to make solving that hard problem easier. We have such ignorance of our history in this industry. I've only been a professional developer for a year now, and I've reinvented hundreds of wheels both in my code and in my organization. It's exhausting sometimes.

Also worth addressing are the blocks on the bottom of the first diagram: transparent trust, shared vision, and sharp tools.

First, you're not going anywhere in any company if you can't trust those around you. The need in software for fluent, open communication cannot be met without grab-my-hand-over-a-cliff trust. Joel is right about this, even though he doesn't come out and say it. Gifting your developers with offices, decision-making authority, and free lunches is a wonderful way to create a safe environment where they feel free to create and speak.

Second, everyone making software must grasp their role in both the company and the development process. They must share that vision for their role and be enthusiastic about it, because if they're not, why are they working there? Being on-message is just as important for testers as it is salesmen.

Finally, sharp tools must be available to everyone who needs them. Michelangelo was known to work so quickly and so hard that he would work all night with a candle on his head, chiseling furiously until the marble dust choked the air of his workshop. How many chisels do you think he owned? When you look at the David, do you wonder at how much he spent on having them sharpened? This also ties in with the trust issue: put a fast computer in that office.

Now, to build a company wise enough that I don't have to spend Sundays thinking about this stuff...
intjonathan: (Default)
If I'm gonna sit here all day, I might as well write.

Team Fortress 2 is in beta, and I've been playing it as much as I can since I got it. I got RSI from playing the first Team Fortress game so much back in highschool, and the sequel puts me at high risk for a relapse. Damn thing is bottled fun.

We're hiring like crazy at work. It's far too hard to find good people, especially when you can't try very hard. Come write cool PHP with me! Come design a website! WE HAVE MONEY AND WANT TO GIVE IT TO YOU! DON'T YOU LIKE MONEY? I DO!

Dad still doesn't have a job though, so most complaints about mine fall with a certain unsympathetic thud.

I picked up another cold thanks to Yet Another Stressful Week, so I'm laying low this weekend. Of course now my back hurts from sitting around too much. I can't win.

I feel powerless to make September stop sucking. It hasn't all been bad, but I feel like I'm kind of on a treadmill.
intjonathan: (bjork)
Apparantly I'm holding up the entire development process at work with one major feature that's taking, like, 100 years to code.

The stress has so far caused neck cramps, digestive trouble, shooting nerve pains, loss of appetite, and fatigue.

I swear it's got to be something more than just work, either that or I'm horrible at my work/life balance.

I need a spring break. I'm starting to miss being bored.
intjonathan: (mamimi)
Today has been very sideways. I was going to make a list of all the FORTUNATELY... UNFORTUNATELY... events that happened, but it was too depressing and would probably propagate the curse.

I've spent too many of my recent evenings wondering why I can't just go to bed as soon as I get home.

I can't believe it's only Tuesday.
intjonathan: (Default)
(On stress.)

The weeks approaching a release feel like looking at the 10-day forecast and seeing "42F, 90% chance of precipitation" 10 times.

Your hibernation instincts kick in something strong, but you can't sleep right. The overwhelming urge is to make everything to just go away.

But you have to go through it. The puddles are deep, but the power is out. There's nowhere else to go.

Thanks, everyone, for your encouragement. It's good.
intjonathan: (girl)
cramping shoulders, mild excema, poor posture, dehydration, insomnia, loss of appetite, headaches, jitters.

spooky tree by niralisse on Treemo
These are a few of the signs that I'm encountering crushing stress. Ironically, were I still in school, this would be finals week. I thought such weeks would be few and far between when I finished schooling, but it turns out that at a startup, they happen about once a month. It's really wearing me out.

If I make it through:
tomorrow, I get to decorate my tree.
Wednesday, I get to go to a movie.
Thursday, I get to put together my new computer.
Friday, I get to sleep in.
Next Tuesday, I get to go to dinner on the boss' dime.
The next two weeks, I'll be off work for a week.
The end of the month, I'll have thrown two epic parties and finished the most dynamic year of my life, all while playing 3 games of speed chess.

You wouldn't be able to sleep either.
intjonathan: (Default)
I come home and hop online, thinking there will be a world of content that has appeared since this morning. Unfortunately, I've been online all day at work, and in the 20 minutes it takes to walk home, not much happens.

I left the cyclical crunch times of school for the occasional crunch times of a startup. The assignments are different. They all have to work completely, and if they don't, you will sit there and fix them until they do. If you want more time, you have to fight for it. If a requirement is unclear, you have to talk about it. The code you write has to meet standards, and copying other designs is encouraged. Quality software engineering and documentation is equally important as working code. In other words, it's school backwards. And it's hard to quantify that as bad, as school assignments do an excellent job of exposing you to an enormous range of programming and architectural concepts, but they give little perspective as to how their application will play out.
Documentation is an oft-cited and excellent example. Docs are rarely expected (and sometimes discouraged!) in school assignments. But if you don't document your code at work, you will be fired, and your ex-co-workers will toast their newfound freedom from your shitty, unintelligible sludge. If you're bad at it, they may put up with you, but only if you improve.
While I was told these things in college, few assignments put it into action. I learned more about documentation from a one-quarter technical writing elective in community college than in 3 years in Western CS.
I complained extensively about this in my major review, but going out into the working world has made it clearer every day.

Mike V, one of my senior project teammates, had an interview with us today. He did very well, unfortunately he comes at an awkward time for us as the boss will be gone a lot for the next two weeks, and we're in the middle of a crunch for CTIA. I hope he doesn't find a better offer...

12 hours of coding today, and I gotta get off the keyboard and go to bed. Thank god it's no less than a mile between here and work.
intjonathan: (Default)
Last day at Hyperboy. They seemed sad to see me go, I think they realize all too well how hard it's going to be to get where they're going without more good developers. I'm real happy with the work I did there, it was cool to go to the site as a user tonight and watch my code in action. Hopefully their launch will go well, they'll suddenly have scads of investor money, and hire me back at twice the pay. Or something like that.

Of course, since today I started feeling like part of the team and tackling big projects, I had to go home and not come back for a while. But that's OK, as I have a job waiting for me in Italia - that great art won't take pictures of itself, you know!

Speaking of pictures, my A540 should arrive tomorrow. (Thanks, cool relatives giving me graduation money!) I'm about to find myself buried in photos, and expect to get all too familiar with Picasa and Flickr. I'm alternately excited and terrified. I love taking photos, but organizing and collecting them is tiresome business. Definitely one of the really unsolved problems in applications.

I keep reminding myself that I don't have to get up for work tomorrow, then getting really stressed when I remember why, and that I'll be packing instead. This stuff really sneaks up on you. I hope that I can release myself from the obligation to do everything right.
intjonathan: (bjork)
Enjoy the changes, because routine will set in before you know it.

I graduated on 10 June, 2006. I spent a week in Bellingham sorting things out and packing. On the 17th and 18th, I said goodbye to Bellingham and moved the last of my belongings into what is now my parents' house in Lynnwood. I spent a week moving what I could and preparing for a large LAN party on the 24th. The party went well, minus a few guests. On Sunday I dealt with the exhaustion, hot weather and excess sunlight... poorly. Yesterday I moved my waterbed out of my room and into the basement, along with alll the rest of the furniture that had been displaced by the party. Last night I slept in my childhood room on a different bed for the first time in over 10 years.

This morning I drove to Ballard for my new job at Hyperboy. The work environment is very similar to HITS, it's a small office with relaxed management. Typical startup. It'll be a fine 2 weeks.

When I first moved back here I felt very displaced. I still miss Bellingham, especially on sunny days like today, when having 3 lakes within a short drive was invaluable, and driving to Ballard in traffic with no A/C is awfully tedious. I've been walking around the neighborhood a lot, trying to get a feel for the place again, and striving to connect with the decades of memory that live here. I visited my 5th grade classroom for the first time in years, very haunting. Walking through all the housing where there used to be forest, telling myself the stories about the mink farms, abandoned country clubs, and wildness that marked the edges of my childhood, has been theraputic. I don't know how much longer I will recognize my home. As I was vacuuming the basement after the party, I realized that this was the same basement I would build blanket forts in, the same bar I built enormous Lego creations on, the same fireplace that has kept me hauling firewood in winters as long as I can remember. That TV stand was my grandmother's, we got it when she died. She had it in a tiny apartment on Broadway in Everett, along with my fold-out desk and stereo cabinet. They looked different there.

I've lived here since I was small enough to stand on the ledges in the basement. Returning to it has been strange. Were the circumstances different, I'm not sure I would've chosen to.

But it's true that I would've had to move out sometime, and my room can't stay a time capsule forever. If I take the time to live here again, maybe when this stops being my home we can part peacefully.

It has been a lonely two days. I have been thinking a lot about my future. On 17 July I will board a plane to London (from which my parents have just returned), and shortly thereafter Venice. I haven't been thinking a lot about this trip yet, as there will be time for that soon enough. I'm very preoccupied with the years that stretch out afterwards, where I must reconcile with the life I abandoned 3 years ago. It hasn't exactly been waiting for me, and I intend to find what's left of it and see what still matters.
intjonathan: (Default)
Today started mediocre but got better real fast.

I've been sleeping poorly lately, maybe it's too hot or something, but at least I got lots of sleep even if it wasn't very good.

Work was about average, at least I didn't have any meetings with iain and I accomplished some actual server work. Iain is getting on us about meetings and QERs and shit though. :( "Why don't you schedule a meeting with me..." What am I, your secretary? Am I trapped in Office Space? "If you could just come in on Saturday, that'd be greeeeat."

Fortunately everyone realized that it was 80F outside and that working is dumb, so we split and went to Lake Samish at 5. Man, it was flawless. Not crowded, the lake was warm, and the sun wasn't even too hot. Seven people on a double airbed in the middle of a lake makes for good times.

We had gone straight to the lake from work, so we were all starving by the time the sun went down at 8:45. Bob's Burgers were deemed necessary, so off we went, still in our trunks, to sit and stare at the uncannily attractive waitress(es), enjoy delicious and reasonably-priced burgers, and get the hiccups. Well, actually only I got the hiccups. They were a lousy dessert.

We all wrote love notes to our waitress on the back of our reciepts. I'm not sure about the etiquitte there. I made sure to tip well regardless, cause we were loud and required split checks.

So now my hiccups are gone, and I'm swum out (we were in the lake nearly 3 hours). Tomorrow I'll probably have to like, work late or have a "one-on-one" meeting or some other bullshit. At least the weather's supposed to be cooler, so I'll feel less like I'm wasting yet another summer day at the peak of my twenties.

I wonder if I could get in trouble at work for bitching about my boss on a blog?

Profile

intjonathan: (Default)
intjonathan

June 2012

S M T W T F S
     12
3456789
10111213 141516
17181920212223
24252627282930

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Sep. 25th, 2017 09:44 am
Powered by Dreamwidth Studios