I interviewed for an SRE position at Google. I wasn’t real excited about the job (it would require me to move and I have small children and we live near family here), but I figured I should give it a shot.
It really soured me on the whole thing. It was an all-day affair of “gotcha questions”. Not talking about my previous experience, what I was interested in, what I could do…no, it was “without looking, what’s the 4th bit of the TCP flags?” or “umount fails, why? give an explanation It still fails, why? give an explanation” until we got to “/bin is a separate partition and mounted on the device your trying to unmount, and so opening the umount binary prevents the umount”.
My favorite was “how do you measure the latency between two systems?” “Ping.” “What if ping isn’t enough?” “Well, you could do a lot of pings and average the results.” “What if that’s not enough?” until we got to “instrumenting the network stack to remove syscall delays in ping,” with the interviewer saying after all that “‘ping’ was the answer we were looking for.”
It was hours of that and it was seemingly all scripted. I was just a cog to be placed in a certain spot; there was no question about my past, the projects I’d worked on, what I was looking for in my career, or anything. Just a bunch of scripted questions.
There was a phone interview prior to this of similar character, and some more interviews after, but ultimately the money wasn’t good enough to justify moving away from our extended family, and honestly I wasn’t really excited about it after that interview process anyway.
I’ve been a pretty vanilla Java developer for a while, but I’ve been on an “infrastructure” streak at work. I got tired of bemoaning that it wasn’t a priority to upgrade things, automate things, etc and hence have been doing more devOps/SRE like activities. I’m still not strong on most basic sysadmin things, but have been wondering what else I can do to build up those sorts of skills. How did you start building up that knowledge? There are sysadmins at work that are pretty good, but I don’t even know what to start asking since those things are usually out of my scope.
I’ve always been in a weird place where I wear a lot of hats. Back in the late 90’s, I was a sysadmin/network admin who enjoyed coding and research for fun. That slowly transitioned to doing coding and research professionally, starting with automating and monitoring infrastructure (back when there was no middle ground: you either ran Big Brother with a bunch of home-made scripts or you shelled out $90k for HP OpenView). Around 2005 or 2006 it flipped completely, and now I only do research and coding and any infrastructure work is solely on test systems, etc.
I interviewed for the SRE team and it was standard coding questions like I would give at work. Data-point of one, obviously. They had Robert Griesemer interview me which was fucking intimidating. The rest was fine.
The big value of the education part of an undergraduate education is knowing what all the sub-headings are in a given field, and where to look in those sub-headings to find information on how to solve a specific problem. There’s a Hard Problem of Knowledge Organization, analogous to the Hard Problem of AI, and we’ve tried to solve it in multiple ways, but most enduring is to split fields into sub-fields, recursively, and turn people into generalists who go on to specialize, either in academia or in their careers; it isn’t impossible to jump fields, but it requires time and mistakes to get good at a new field, and humans only have so much of either in them.
Therefore, expecting People What Know-All And Do-All is contrary to both our educational system and basic human biology, and expecting it at junior dev salaries is even less sane.
I interviewed for an SRE position at Google. I wasn’t real excited about the job (it would require me to move and I have small children and we live near family here), but I figured I should give it a shot.
It really soured me on the whole thing. It was an all-day affair of “gotcha questions”. Not talking about my previous experience, what I was interested in, what I could do…no, it was “without looking, what’s the 4th bit of the TCP flags?” or “umount fails, why? give an explanation It still fails, why? give an explanation” until we got to “/bin is a separate partition and mounted on the device your trying to unmount, and so opening the umount binary prevents the umount”.
My favorite was “how do you measure the latency between two systems?” “Ping.” “What if ping isn’t enough?” “Well, you could do a lot of pings and average the results.” “What if that’s not enough?” until we got to “instrumenting the network stack to remove syscall delays in ping,” with the interviewer saying after all that “‘ping’ was the answer we were looking for.”
It was hours of that and it was seemingly all scripted. I was just a cog to be placed in a certain spot; there was no question about my past, the projects I’d worked on, what I was looking for in my career, or anything. Just a bunch of scripted questions.
There was a phone interview prior to this of similar character, and some more interviews after, but ultimately the money wasn’t good enough to justify moving away from our extended family, and honestly I wasn’t really excited about it after that interview process anyway.
I’ve been a pretty vanilla Java developer for a while, but I’ve been on an “infrastructure” streak at work. I got tired of bemoaning that it wasn’t a priority to upgrade things, automate things, etc and hence have been doing more devOps/SRE like activities. I’m still not strong on most basic sysadmin things, but have been wondering what else I can do to build up those sorts of skills. How did you start building up that knowledge? There are sysadmins at work that are pretty good, but I don’t even know what to start asking since those things are usually out of my scope.
I’ve always been in a weird place where I wear a lot of hats. Back in the late 90’s, I was a sysadmin/network admin who enjoyed coding and research for fun. That slowly transitioned to doing coding and research professionally, starting with automating and monitoring infrastructure (back when there was no middle ground: you either ran Big Brother with a bunch of home-made scripts or you shelled out $90k for HP OpenView). Around 2005 or 2006 it flipped completely, and now I only do research and coding and any infrastructure work is solely on test systems, etc.
The only thing I like about Google is the interviews. I’ve considered applying periodically just to do them again for fun.
Actually working there was much less fun
I interviewed for the SRE team and it was standard coding questions like I would give at work. Data-point of one, obviously. They had Robert Griesemer interview me which was fucking intimidating. The rest was fine.
The big value of the education part of an undergraduate education is knowing what all the sub-headings are in a given field, and where to look in those sub-headings to find information on how to solve a specific problem. There’s a Hard Problem of Knowledge Organization, analogous to the Hard Problem of AI, and we’ve tried to solve it in multiple ways, but most enduring is to split fields into sub-fields, recursively, and turn people into generalists who go on to specialize, either in academia or in their careers; it isn’t impossible to jump fields, but it requires time and mistakes to get good at a new field, and humans only have so much of either in them.
Therefore, expecting People What Know-All And Do-All is contrary to both our educational system and basic human biology, and expecting it at junior dev salaries is even less sane.