garote: (Default)
[personal profile] garote
It's weird interviewing people for positions next to mine. I keep having to remind myself that it's been more than half a year since I started here. It passed like lightning.

We're clamoring to expand our department. The people I interview are all nice, but so far none have qualified. I feel sorry for them sometimes, because their interview schedules always include a few guys who ask nothing but hard, specific programming questions, one after another. In some interviews, I have even been one of those guys. I see how it kills them - they get flustered, they blank out, they strain to change the subject - but we have to know the limits of their experience, so we keep doing it. More importantly we have to know what it's like to work with them when they're stumped. Are they inquisitive? Are they able to think on their feet? Do they vocalize their thinking? Or do they just shut down?

I imagine it's not as hard to join other departments. It can't possibly be. The people in this one are terrifyingly good at what they do, and I understand why their standards are high. Some days I am thankful that my role here is a kind of supporting one. Scripting, data wrangling, managing hardware, patching a software assembly line while simultaneously redesigning it ... these are things that make sense to me, because doing them is a matter of learning details. It's like using legos - building anything is just a matter of snapping pieces together, and if your pieces don't fit, you just look around for a new piece with a slightly different shape and grab a handful of those.

But this low-level OpenGL stuff, some of it just ... freaks me right out.

Sometimes I find myself in conversations where people throw around mathematics that I never even got to in college. So I stand around feeling useless until the conversation returns from Dimension X, and someone asks a question like "are we building that?" or "Is that running in the lab?", which I gladly answer. It's a blow to my confidence, but then I remember that my to-do list is already ten miles long with things that I am actually more qualified to do than anyone else in this department.

Getting the build and test system sorted out has taken up every square inch of space in my head for seven months. Every time I try to take a break or deal with some other responsibility, I can almost physically feel the pieces falling back out of my brain. Clunk, clunk. It seems like I spend two days out of every week just repairing the damage from the weekend.

But after countless hours of thinking during my commute time, scribbling diagrams and user-interface bits all over a stack of papers (including the backs of the resumes of interview candidates), and several long conversations this week with the ex-build engineer who is my mentor, I feel like I finally have enough pieces sorted out to take the build and test systems to a whole new level of usefulness.

So now I need to say three things:

1. I know I've fallen way behind on my correspondence with friends and especially family. I'll try to do something about this.
2. Zog, I really do think you should apply here.
3. Alex: Thank you. I can't remember if I ever did say thank you, but I'm saying it now in case I didn't. Thanks for opening this door, and holding it open for me for so long while I dragged myself out of my old job. You and the rest of these folks are amazing and it's great to be along for the ride.
(deleted comment)

Date: 2007-04-13 07:07 pm (UTC)
From: [identity profile] graue.livejournal.com
That's pretty sad not to be able to reverse a null-terminated string in place.
void reverse(char *str)
{
	char *front, *back;

	front = str;
	back = &str[strlen(str)-1];
	while (back > front)
	{
		char tmp = *front;
		*front = *back;
		*back = tmp;
		back--;
		front++;
	}
}

I just wrote that in about 30 seconds. What's to forget here, isn't it trivial to figure out? I don't think I've written that function before in my life. What part is the trick that has to be remembered?
(deleted comment)

Date: 2007-04-13 07:47 pm (UTC)
From: [identity profile] conflictdswitch.livejournal.com
I think that the problem is that many sophomore-level students just aren't entirely comfortable with manipulating pointers.

To quote a Data Structures professor I had: "Pointers are very sharp and, if you're not careful, they will cut you."
(deleted comment)
(deleted comment)

Date: 2007-04-14 12:00 am (UTC)
From: (Anonymous)
True dat. Here, if we asked someone to reverse a string in C, they'd better be able to slap it on the whiteboard (at least in pseudocode) in less than a minute. It's like interviewing a new recruit for your pro soccer team and asking, "can you bounce this ball off your head a couple times?"

Date: 2007-04-13 05:34 pm (UTC)
From: [identity profile] conflictdswitch.livejournal.com
Sometimes I find myself in conversations where people throw around mathematics that I never even got to in college. So I stand around feeling useless until the conversation returns from Dimension X, and someone asks a question like "are we building that?" or "Is that running in the lab?", which I gladly answer. It's a blow to my confidence, but then I remember that my to-do list is already ten miles long with things that I am actually more qualified to do than anyone else in this department.


Isn't this how a good team is supposed to work? No *one* person can easily do the job of another and *everyone* is more knowledgeble than everyone else on the team in some respect.

Date: 2007-04-13 08:24 pm (UTC)
From: [identity profile] conflictdswitch.livejournal.com
It's why one of the ballyhooed 'extreme programming' tactics is to have two coders looking at the same screen, working on the same code: At the end of the day, you have TWO people who understand that code completely, not just one.

I remember my dad complaining about this a few times when I was home on vacation. He actually had to crack some of *my* textbooks to find references to some of the code that his "workmate" was puting up. (It was really messy code too, not commented at all and tons of weird declarations.)

Profile

garote: (Default)
garote

January 2026

S M T W T F S
    123
45678910
11121314151617
1819202122 2324
25 262728293031

Most Popular Tags

Page generated Feb. 3rd, 2026 12:36 pm