<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>while coding &#187; interviewing</title>
	<atom:link href="http://www.youell.com/matt/writing/?cat=33&#038;feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://www.youell.com/matt/writing</link>
	<description>simplify</description>
	<lastBuildDate>Wed, 31 Oct 2018 04:08:22 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>A Tale of Two Interviews, Part 2</title>
		<link>http://www.youell.com/matt/writing/?p=801</link>
		<comments>http://www.youell.com/matt/writing/?p=801#comments</comments>
		<pubDate>Thu, 05 Jan 2012 19:49:36 +0000</pubDate>
		<dc:creator>matt</dc:creator>
				<category><![CDATA[interviewing]]></category>

		<guid isPermaLink="false">http://www.youell.com/matt/writing/?p=801</guid>
		<description><![CDATA[(You probably want to read Part 1 if you haven&#8217;t already.)
Have you ever talked yourself out of applying for a job? Maybe you didn&#8217;t meet the specific requirements in the job ad. Maybe you were intimidated by the reputation of the company.
I did this. 
There was a job that I kept seeing. The two strikes [...]]]></description>
			<content:encoded><![CDATA[<p>(You probably want to read <a href="http://www.youell.com/matt/writing/?p=785">Part 1</a> if you haven&#8217;t already.)</p>
<p>Have you ever talked yourself out of applying for a job? Maybe you didn&#8217;t meet the specific requirements in the job ad. Maybe you were intimidated by the reputation of the company.</p>
<p>I did this. </p>
<p>There was a job that I kept seeing. The two strikes against it? </p>
<ol>
<li>It was a Ruby shop and I wasn&#8217;t a Ruby programmer</li>
<li>The CTO was a legend</li>
</ol>
<p>Those two things conspired to delay my application by a few months.</p>
<p>Around the time I was scheduling the interview with the company from <a href="http://www.youell.com/matt/writing/?p=785">Part 1</a>, I went ahead and applied to work at this little Ruby shop. I was pretty sure that I&#8217;d get a phone interview, but I honestly didn&#8217;t think I&#8217;d get much beyond that. But it would be fun to apply, and good experience.</p>
<p>I did end up getting that phone interview. This was about a week after the disastrous interview at the company from Part 1. This time it was a panel interview, over the phone, for 30 minutes. After the craziness I had with the previous phone screen I could imagine almost anything. I decided to put it out of my mind and just relax. If I didn&#8217;t know the answer to things, that was just the way it was going to be.</p>
<p>You would think that having seven people interview you over the phone would be stressful. Surprisingly it wasn&#8217;t. From the start it was clear that these were nice people. The interview consisted of them going around the room throwing me tech questions over the speakerphone. I wasn&#8217;t asked to code anything. The technical questions were fairly general. No gotcha questions. No brainteasers. It was clear they were just sketching me out as a developer. </p>
<p>Things were going pretty well when suddenly the phone went dead. I was 20 minutes into a great interview and Skype had failed me. Worse, I realized that I had inadvertently closed the wrong Skype window while listening, so it was <em>my fault</em>. I had their office number and called it, but got their switchboard. I had no idea how to get back in touch with these people. Lucky for me, they called me back. I answered and explained what had happened. They were very understanding and we continued the interview. </p>
<p>About 5 minutes later I heard Skype go &#8220;bloop&#8221;. That usually means the call is over. &#8220;Aww, fuck&#8221;, I groaned. I had cut myself off mid-answer. There was no way they were going to call me back <em>again</em>.</p>
<p>&#8220;What&#8217;s wrong?&#8221;, I heard in my headset. I was still connected! They were still there, listening&#8230; and concerned! The Skype bloop was the timeout of the outbound call I had made earlier. Ice was instantly in my veins. &#8220;Oh thank god!&#8221;, I said. &#8220;I thought I&#8217;d hung up on you guys again.&#8221; Laughter. Instead of completely screwing up the interview with my random profanity, they thought it was funny. </p>
<p>Skype snafus aside, I felt pretty good about the interview. Sure enough, I got an email the next day asking me to come in for&#8230; a 5-hour interview. They&#8217;d buy lunch.</p>
<p>Fuck.</p>
<p>At least these guys seem fun, I thought to myself. Worst case, I&#8217;d get another sandwich. And get some more practice at this suddenly-common style of interviewing.</p>
<p>I started analyzing the last interview. Where was I weak? How could I do better? In this case they were a Ruby shop. I was very upfront with them: I was not well versed in Ruby and I worked mostly with Python. They were fine with that. Still I thought I should familiarize myself more with Ruby. Also, even though I&#8217;d done ok on the algorithms interview before, I knew that was still my weak spot. So with the better part of a week to go before my 5-hour interview, I spent as much time as I could manage reading about algorithms, remembering design patterns, and tinkering a bit with Ruby.</p>
<p>When I showed up for my interview (closed-in elevator FTW) I walked into an open-plan loft-style office with huge windows all around. Once they figured out who I was, the 5 or 6 devs in the office swarmed over to meet me as a group. It was clear I was meeting a team.</p>
<p>&#8220;Are you ready to get started?&#8221;, one of them asked me. I nodded and took a slight step toward the well lit, glass walled conference room where I could see a looming whiteboard.</p>
<p>&#8220;My desk is over here&#8221;, he said, and steered me off toward a sunny area of the office where his desk was parked.</p>
<p>Ah, I&#8217;m going to answer interview questions on his computer, I thought. Cool, I can type my answers!</p>
<p>Pretty soon it was clear that there were no interview questions. He and I were going to pair program, and I was driving. He explained that we were going to hack on a real problem that he had been working on. I don&#8217;t remember what the problem was now, and I doubt I made any real contribution. That wasn&#8217;t the point. Within minutes I had forgotten that I was in an interview, and I was at ease. No one in the office was watching or hovering &#8211; they were all off doing their jobs. It was just a chance for the two of us to work together and see what that was like. He did manage to throw in a bit of tech talk during our hour together, but I was relaxed and nothing seemed like a gotcha.</p>
<p>After that first pairing session it was lunch time. I was wondering what kind of sandwich they were going to give me. Suddenly the entire dev team got on their feet and headed for the door. Apparently we were having lunch out. And so we did, at a nearby restaurant. Instead of asking me tech questions they asked get-to-know-you questions. It was a little awkward at first, but after a few minutes I was once again relaxed and felt in my element, making conversation and letting some of my humor show. (In case you wonder, I had a salad, no onions. It was still a job interview!)</p>
<p>Back at the office I was paired with a guy who was clearly the shark on the team. He was smart and intense. He talked fast and expected you to keep up. We paired, like before, and I was in the driver&#8217;s seat. He guided. My lack of familiarity with Ruby didn&#8217;t phase him, especially once I seemed to have made it past his dipshit filter. Still this was the toughest part of the day, as he had this way of explaining things to you and then staring at your eyes to see if there was the slightest twitch of confusion or weakness. It was intimidating, but tolerable. And understandable, really. I could tell he was protecting the quality of his team and took the evaluation seriously.</p>
<p>At some point the CTO pulled me aside for a chat. Instead of demanding from me why I wanted to work there, he just tried to get a feel for what I was aiming for. I was pretty honest, as I had been at the previous interview. But by this point I was impressed with the team and the work environment. He said to me, &#8220;We&#8217;re a startup. None of us know where we&#8217;ll be in 5 years, and that&#8217;s ok&#8221;. I smiled. Honesty!</p>
<p>I spent time pairing with the other devs that day, each impressive in their own way. In the last pairing session of the day I was able to teach my pairing partner something that he didn&#8217;t know, and we put it to work in solving the problem he was tackling. That made me feel great.</p>
<p>Finally, at the end of the day, the whole group of devs came over to see me off. It wasn&#8217;t cheesy; they were just thanking me for coming in. It was pretty clear that the feelings were positive both ways.</p>
<p>Within a few days I had an offer.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.youell.com/matt/writing/?feed=rss2&amp;p=801</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>A Tale of Two Interviews, Part 1</title>
		<link>http://www.youell.com/matt/writing/?p=785</link>
		<comments>http://www.youell.com/matt/writing/?p=785#comments</comments>
		<pubDate>Thu, 05 Jan 2012 19:46:38 +0000</pubDate>
		<dc:creator>matt</dc:creator>
				<category><![CDATA[interviewing]]></category>

		<guid isPermaLink="false">http://www.youell.com/matt/writing/?p=785</guid>
		<description><![CDATA[It&#8217;s job hunting time for me again. I took quite a chunk of time off after leaving my last job. Now that I&#8217;m ready to dive back in, I&#8217;ve been thinking more and more about the job hunting process I went through the last time. I&#8217;d like to tell you about the last two interviews [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s job hunting time for me again. I took quite a chunk of time off after leaving my last job. Now that I&#8217;m ready to dive back in, I&#8217;ve been thinking more and more about the job hunting process I went through the last time. I&#8217;d like to tell you about the last two interviews I had during my job hunt. This is the story of the first interview. </p>
<p><em>(Cue the wavy screen effect as we roll back in time to the year 2009&#8230;)</em></p>
<p>I worked for many, many years as a roaming contract programmer, followed by a painful, scrappy stint with self employment. After so many years of fruitless jostling and meaningless projects, I really just wanted a home. A stable environment with a good team and a steady paycheck.</p>
<p>Through a friend I landed an interview with a fairly big company in the healthcare field. The phone screen was weird. It was a short 20-minute call. A few easy tech questions, although the guy interviewing me did trip me up on a time complexity question. That wasn&#8217;t so bad. The painful part was the coding task: I had to write code over the phone. No shared editor or whiteboard software, just talking over the phone. He described the problem (Fibonacci) and when I was done I was to describe what I had coded up in C#. This included voicing things like &#8220;semicolon&#8221;. I had something like 5 or 10 minutes to get it done while he waited on the line. Have you had this experience? It&#8217;s a crazy situation. You&#8217;re trying to think about how to code a solution while you&#8217;re on the phone and nothing but dead silence is coming back from the other side. I got it done in time and described a bit of code that seemed reasonable to the interviewer. </p>
<p>It&#8217;s often hard to tell how these things go, but I did get a follow up call scheduling me to come in for a &#8220;hands-on&#8221; interview. I was stoked, but my blood went cold when I found out that my interview would be 5 hours long. They&#8217;d provide lunch, I was assured.</p>
<p>After I got off the phone I pondered this. A 5-hour interview? Really? Had I been applying to Google or Microsoft, that wouldn&#8217;t have surprised me. But this was a pretty ordinary company hiring for what seemed like an ordinary position. Still, I figured the worst thing that would happen was that I&#8217;d get a free lunch.</p>
<p>I decided that if they were going to give me that much attention, I&#8217;d better take prepping seriously. It was stressful. What to focus on? A million things raced through my brain. I eventually settled on reviewing recent changes in the .Net platform and studying algorithms (my kryptonite). I don&#8217;t put a lot of stock in arbitrary algorithm knowledge, but I know to expect questions in that area. I can&#8217;t say I spent too much time studying, but I did throw some time at reviewing things like red &#038; black trees and trying to imagine what the interviewers might ask me.</p>
<p>The big day came. I worked hard to get there early and after getting lost and running into a small obstacle (glass elevator vs. acrophobia) I managed to be just in time for my interview. Perfect!</p>
<p>I was shepherded to a tiny, fluorescent conference room and interviewed by the team manager. We chatted for a bit and he explained their process. Basically I would be stuck in that room all day. They&#8217;d bring me lunch at some point, and over the course of the day they&#8217;d send in people or pairs to pepper me with questions for an hour each. At the end of the day he&#8217;d be back around to wrap up.</p>
<p>First up was Architecture. They brought in a seasoned architect and we stood at the whiteboard for an hour talking about objects and architecture. I was a little nervous about coding at the whiteboard, but he was very nice and gave me latitude to solve problems in whatever language or platform I&#8217;d like. I chose Python since I was working pretty heavily with Django at the time. Things went fairly well, but not perfectly. I felt that he and I were on the same level technically, but he was much more of a specialist of the Enterprise Architect variety. At the end I felt like I passed but it was clear that he was the better Architect.</p>
<p>Next up was Algorithms. This was where I predicted it would all fall apart. A pair of very young guys came into the room, introduced themselves, and then dove right in with some general algorithm questions. To my surprise I knew the answers and could &#8220;read the pitch&#8221; of the questions they were throwing at me. I experienced a huge boost in confidence and I did much better than I expected. When they asked me to write a sort in C# on the whiteboard I stumbled a little. I had just written Python code for an hour for the previous guy so my brain was warmed up but in the wrong language. My C# was a little rusty, especially outside of Visual Studio. It can be amazingly hard to write code with your hands instead of your fingers. Happily they didn&#8217;t sweat syntax errors here and there. Once I shook off the rust and the nerves it pretty much wrote itself. My first solution was recursive so they had me rewrite it. Finally it was done; they had no more code and no more questions. I suspected that the hardest part of the interview had just wrapped. I gave myself a mental pat on the back. All down hill from here, I figured.</p>
<p>Not quite. By the time I was done with these guys I was getting tired. Between the the mental load and the stress I was starting to bog down. Toward the end of the hour someone was nice enough to run out and grab a sandwich for me. Pretty soon I had my sandwich and was chatting with the next pair of interviewers who quizzed me on general .Net knowledge as I ate. If I had guessed in advance which segment I would do best on, this was it. Instead I fell apart. These guys were the sharks on the team, it seemed. Their questions got very aggressive. I just continually whiffed, even with questions that I &#8220;knew&#8221;. This included one question on specifics about boxed variables that I almost certainly had asked when conducting an interview of my own just a few years before. After that round I felt absolutely worthless.</p>
<p>Next I had a &#8220;quick chat&#8221; with the head of the division I was applying for. And it&#8217;s here that I&#8217;m almost certain that I botched the whole interview. I don&#8217;t remember the details, but the essence of it was this: We&#8217;re this successful startup (successful yes, startup no) and you should have a super-compelling reason you want to work here. My response was essentially, &#8220;I just want a job&#8221;. This did not sit well, and in a very polite manner he made this clear. (In retrospect I would suggest they use the phone screen to weed out those pesky people who don&#8217;t dream the Cubicle Dream. I would have saved all of us a bunch of time.)</p>
<p>Finally I got to meet again with the team manager, my last meeting of the day. By that point I was defeated. He asked how I did. Exhausted and weary, I told him that I thought I did &#8220;okay&#8221; and that I would have liked to have done better on some bits of the technical interview. He promised to be in touch and then showed me out in to the lobby. </p>
<p>There in the lobby sat my friend, the glass elevator.</p>
<p>Much to their credit they did contact me a day or two later and let me know that they weren&#8217;t interested. This was in 2009, in an employers market, and I wouldn&#8217;t be surprised if I simply got beat out by a better candidate. So it goes.</p>
<p>Read more in <a href="http://www.youell.com/matt/writing/?p=801">Part 2</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.youell.com/matt/writing/?feed=rss2&amp;p=785</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
