<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title>TK's Weblog - Latest Comments</title><link xmlns="http://www.w3.org/2005/Atom" rel="http://api.friendfeed.com/2008/03#sup" href="http://disqus.com/sup/all.sup#forumcomments-f52166cd" type="application/json"/><link>http://tawheed.disqus.com/</link><description>my thoughts on entrepreneurship, the web, and achieving the dream.</description><atom:link href="http://tawheed.disqus.com/comments.rss" rel="self"></atom:link><language>en</language><lastBuildDate>Sat, 17 Mar 2012 03:44:56 -0000</lastBuildDate><item><title>Re: How to Interview an Engineer for your Startup</title><link>http://www.tawheedkader.com/2012/03/how-to-hire-a-hacker-for-your-startup/#comment-467588706</link><description>&lt;p&gt;You've just said in this thread that you would not only reject a genius because of his communication skills, but also accept two average programmers just because they can communicate.&lt;/p&gt;

&lt;p&gt;Just because a person is introverted does not mean they can't work well with people.I've some news for you: average "coders" are NOT programmers. Managers like you should not be hiring programmers, because ultimately, you're not looking for programmers, you're looking for coders.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Guest</dc:creator><pubDate>Sat, 17 Mar 2012 03:44:56 -0000</pubDate></item><item><title>Re: How to Interview an Engineer for your Startup</title><link>http://www.tawheedkader.com/2012/03/how-to-hire-a-hacker-for-your-startup/#comment-466891512</link><description>&lt;p&gt;Would you not agree that in order to communicate how "genius" one might be, one would need a certain amount of communication skills?&lt;br&gt;If you're hiring someone based completely on what their resume says, or what ever grand promises of intelligence and genius they possess, that is where you fail.&lt;/p&gt;

&lt;p&gt;I don't have room on my team for someone who thinks they're so smart that they're beyond having to work as part of a team, or bounce ideas around with a team.  Company culture is more important than being the smartest guy on the planet.  I'd take 2 "good" developers with lots of real world experience who work well together, over 1 "great" developer who can't work with anyone else.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">jim rubenstein</dc:creator><pubDate>Fri, 16 Mar 2012 09:03:44 -0000</pubDate></item><item><title>Re: How to Interview an Engineer for your Startup</title><link>http://www.tawheedkader.com/2012/03/how-to-hire-a-hacker-for-your-startup/#comment-466638083</link><description>&lt;p&gt;It's not a tactic.  It's me exercising  quality control.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">John C. Randolph</dc:creator><pubDate>Fri, 16 Mar 2012 00:39:27 -0000</pubDate></item><item><title>Re: How to Interview an Engineer for your Startup</title><link>http://www.tawheedkader.com/2012/03/how-to-hire-a-hacker-for-your-startup/#comment-466559353</link><description>&lt;p&gt;My mistake. I thought we were talking about Engineers. If you just need a programmer then what you say is mostly true (they will still have to interact with other programmers though).&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nelson</dc:creator><pubDate>Thu, 15 Mar 2012 22:32:26 -0000</pubDate></item><item><title>Re: How to Interview an Engineer for your Startup</title><link>http://www.tawheedkader.com/2012/03/how-to-hire-a-hacker-for-your-startup/#comment-466468357</link><description>&lt;p&gt;Yes. Communication skills are as much or more important than programming skills in a business environment.&lt;/p&gt;

&lt;p&gt;If you need your software to be built and understood by more than one person and maintained by people other than the original coders, you had better believe that communication skills are critical.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Guest</dc:creator><pubDate>Thu, 15 Mar 2012 20:10:04 -0000</pubDate></item><item><title>Re: How to Interview an Engineer for your Startup</title><link>http://www.tawheedkader.com/2012/03/how-to-hire-a-hacker-for-your-startup/#comment-466458528</link><description>&lt;p&gt;I don't know about that. There is a difference between "people skills" and "programming skills." Most of the time, the two do no come hand-in-hand. In my experiences the best programmers are usually introverted; the ones who like to wear headphones all day and write code in their own little world. Programmers should not have to inherently be "people persons" because that type of construct has nothing to do with the actual development, deployment, architecture, or any of the many other constituents in a well-built application.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Greg Sabia</dc:creator><pubDate>Thu, 15 Mar 2012 19:55:24 -0000</pubDate></item><item><title>Re: How to Interview an Engineer for your Startup</title><link>http://www.tawheedkader.com/2012/03/how-to-hire-a-hacker-for-your-startup/#comment-466440580</link><description>&lt;p&gt;So you would reject a genius programmer if he/she lacks communicative skills?&lt;/p&gt;

&lt;p&gt;That is where you fail.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Greg Sabia</dc:creator><pubDate>Thu, 15 Mar 2012 19:29:08 -0000</pubDate></item><item><title>Re: How to Interview an Engineer for your Startup</title><link>http://www.tawheedkader.com/2012/03/how-to-hire-a-hacker-for-your-startup/#comment-466439386</link><description>&lt;p&gt;I agree, sometimes those skills are necessary, especially when you're working "in the field." Although, I hardly think you're developing large-scale applications for months at a time "in the field."&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Greg Sabia</dc:creator><pubDate>Thu, 15 Mar 2012 19:27:22 -0000</pubDate></item><item><title>Re: How to Interview an Engineer for your Startup</title><link>http://www.tawheedkader.com/2012/03/how-to-hire-a-hacker-for-your-startup/#comment-466314811</link><description>&lt;p&gt;Interesting approach - how long does it typically take you to work through the problem with the candidate? &lt;/p&gt;

&lt;p&gt;We use a much smaller problem that the candidate works on before hand and then we pair on together. I think that gives you a reasonable idea of telling whether someone can code well but I don't know that it covers the lead bit that you're trying to hire for. &lt;/p&gt;

&lt;p&gt;On the other hand it does help you to see whether they can actually code/have been coding frequently. I've often interviewed people for those types of positions who could probably nail a whiteboarding problem but struggle when it comes to actually implementing it because they haven't done it for ages.&lt;/p&gt;

&lt;p&gt;As you point at the top of the article, it does often end up being about a gut feel anyway and judging whether or not you'd want that person on your team!&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Mark Needham</dc:creator><pubDate>Thu, 15 Mar 2012 16:45:36 -0000</pubDate></item><item><title>Re: How to Interview an Engineer for your Startup</title><link>http://www.tawheedkader.com/2012/03/how-to-hire-a-hacker-for-your-startup/#comment-466255705</link><description>&lt;p&gt;Maybe change "clustered" to "covered" index instead (or whatever DB specific syntax that accomplishes the same thing -- like INCLUDES).&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Some other guy</dc:creator><pubDate>Thu, 15 Mar 2012 15:32:23 -0000</pubDate></item><item><title>Re: How to Interview an Engineer for your Startup</title><link>http://www.tawheedkader.com/2012/03/how-to-hire-a-hacker-for-your-startup/#comment-466211207</link><description>&lt;p&gt;Really, I think it's better to ask them to describe the best architecture they've built or worked on, then have them draw it... and just keep having them filling.  &lt;/p&gt;

&lt;p&gt;If they can't do that, then consider going to a wrote scenario - but only as a backup.  If they can't do the former, then they've auto-categorized themselves.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">ZJ</dc:creator><pubDate>Thu, 15 Mar 2012 14:39:57 -0000</pubDate></item><item><title>Re: How to Interview an Engineer for your Startup</title><link>http://www.tawheedkader.com/2012/03/how-to-hire-a-hacker-for-your-startup/#comment-466208514</link><description>&lt;p&gt;This thinking fraught with the same perils it had the first time you posted it, and were criticized, in this thread.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">ZJ</dc:creator><pubDate>Thu, 15 Mar 2012 14:36:43 -0000</pubDate></item><item><title>Re: How to Interview an Engineer for your Startup</title><link>http://www.tawheedkader.com/2012/03/how-to-hire-a-hacker-for-your-startup/#comment-466158161</link><description>&lt;p&gt;Kudos on your interview question, I appreciate programming interviews that test real-world-ish programming ability. Most puzzles and algorithm questions simply test whether or not a candidate has heard that question before. Walking through a realistic problem from start to finish, on the other hand, gives both the candidate and employer a good sense of working together.&lt;/p&gt;

&lt;p&gt;My own thoughts on the matter (much more snarky and less instructive than yours):&lt;/p&gt;

&lt;p&gt;  &lt;a href="http://joshcarter.com/software/dear_programming_job_applicant" rel="nofollow"&gt;http://joshcarter.com/software...&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Also, on your comment, "people that can cross between frontend, backend and design are the true rockstars and exactly what we’re looking for." Unfortunately, I've interviewed with several web companies that *say* this, but in practice they don't interview people for across-the-board work.&lt;/p&gt;

&lt;p&gt;Problem is, the job reqs are written for one side or the other, and the interview goes accordingly. In my case, things go south on salary; the company isn't willing to pay good money for "just a [x] programmer," where [x] is the small piece they interviewed for.&lt;/p&gt;

&lt;p&gt;Your company may be very different, of course, I'm just speaking from my own experience. Oddly, I've found my best work in embedded systems. I've had several employers that truly valued the ability to work from device drivers all the way out to front-end UI -- and they put up a salary to match.&lt;/p&gt;

&lt;p&gt;Best regards,&lt;br&gt;Josh&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">joshcarter</dc:creator><pubDate>Thu, 15 Mar 2012 13:38:02 -0000</pubDate></item><item><title>Re: How to Interview an Engineer for your Startup</title><link>http://www.tawheedkader.com/2012/03/how-to-hire-a-hacker-for-your-startup/#comment-466071267</link><description>&lt;p&gt;The only issue there is, when the candidate has trouble - things get REALLY awkward.  You just want to end things as fast as possible (as the interviewer) so you don't waste any more of your time, and you don't lead the candidate on.  Pre-screening before you get here is important, but sometimes they slip through the cracks.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">jim rubenstein</dc:creator><pubDate>Thu, 15 Mar 2012 11:51:05 -0000</pubDate></item><item><title>Re: How to Interview an Engineer for your Startup</title><link>http://www.tawheedkader.com/2012/03/how-to-hire-a-hacker-for-your-startup/#comment-466067943</link><description>&lt;p&gt;I'd agree with Crutcher.  While there is absolute validity to not performing perfectly when put on the spot, or explaining things on the spot or when you're nervous; the whiteboard method passively tests these skills.  Working as part of a team, communicating effectively, not being a total douche bag, working under pressure, and being able to formulate coherent thoughts are all part of working for a company.  If you don't possess those skills, there's a very chance I'd not want you on my team no matter how much of a genius you are.&lt;/p&gt;

&lt;p&gt;That said, there's a certain amount of nervousness that comes with working with someone you don't know, and knowing that person is actually judging you as you speak.  The interviewer will take this into account, and it's not something you should concern yourself with.  If the interviewer DOESN'T account for nervousness or expects you to be spot-on perfect during a whiteboard interview, well...you probably don't want to work there anyway (:&lt;/p&gt;

&lt;p&gt;I wish people would stop crying about having to do whiteboard work in an interview.  There's more that is being assessed than just your programming skills and knowledge here, as there is much more to working as part of a small (or even a large) team than just being able to write code.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">jim rubenstein</dc:creator><pubDate>Thu, 15 Mar 2012 11:46:52 -0000</pubDate></item><item><title>Re: How to Interview an Engineer for your Startup</title><link>http://www.tawheedkader.com/2012/03/how-to-hire-a-hacker-for-your-startup/#comment-465927707</link><description>&lt;p&gt; The problem is, software jobs vary wildly from shop to shop. I've seen people recently come into an interview with 10 years as a lead developer on their resume, and they didn't know what MVC stood for. You just can't rely on resume experience in this field, not if you are going the small team of experts model. (If you're going large team of worker bees of varying skill and a few overlords doing architecture, which is also a common model, you can take more for granted.)&lt;/p&gt;

&lt;p&gt;Which isn't to say that you don't have to sell the job to the candidate. The trick is to make it a conversation. Don't be like the person giving the driver's test at the DMV - frantic scribbling on clipboards with no real feedback. Say positive things when they're on the right track. Show some personality. Treat this person as much like they're already a coworker as possible without solving the problem for her.&lt;/p&gt;

&lt;p&gt;And of course set aside some time for selling yourself. It's not about equity and salary at this point - though that discussion is important too. You want to sell how you're developing clean, modern code that's easy to work with, everyone on the team is smart, you have good project managers, or a strong QA staff - of course, if these things are true. Be honest about your cultures flaws as well - if it's a shop that people work 8am - 7pm most days in, you'd better say that. Some people don't care, but if they do, it's a disaster waiting to happen if they find out their first day. And if the story you'd have to tell is not very compelling, you better be working to fix it!&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Kate Kirby</dc:creator><pubDate>Thu, 15 Mar 2012 08:32:52 -0000</pubDate></item><item><title>Re: How to Interview an Engineer for your Startup</title><link>http://www.tawheedkader.com/2012/03/how-to-hire-a-hacker-for-your-startup/#comment-465925359</link><description>&lt;p&gt;You are going to end up getting great on the spot thinkers ...&lt;/p&gt;

&lt;p&gt;Unfortunately this says next to nothing about their abilities as developers, unless you've done that sort of thing before (and really, what's the point if they have?) all you get is "how I solved this before", if they haven't, according to you, anyone who would need more than half an hour to come up with a solution would get cut. You don't attach too much value to programming languages but you attach a great deal of value to domain specifics.&lt;/p&gt;

&lt;p&gt;In my opinion and experience, good programmers will kill you with questions every step of the way, they'll question every decision, every detail (although not voicing every one, some things we can actually assume). An interview is too short and stressful to think things through and you will get good people telling you dumb things because they don't have the time to think them through.&lt;/p&gt;

&lt;p&gt;I have some experience working alongside good developers and alongside some REALLY bad ones, one of the key differentiators I have noticed (and I wish I could assume it was common knowledge by now) is that good developers will question you as though they were five you olds. "Why"? ... but why? ... no but why? ... they will drive you crazy this way, they will seemingly not get a single thing you ask and they will seem to be struggling with concepts that even non-technical people would get. I say "seem" because these developers rarely deliver anything that is not exceptionally well tailored to the problem in record time with code 'real' five year olds can read.&lt;/p&gt;

&lt;p&gt;The rockstars(TM)  always get it right away, they know what you want before you do and they will code it in half the time, it will look flashy and will wow you to no end. And then you try to use it. You'll find buttons in the wrong positions, the layers are all mashed together, you change one thing and the entire application crashes. You'll find anything cpu intensive is slow and their proposals to fix it always involve multi-threading (because that obviously fixes everything). These rockstars will always conveniently be somewhere else when the entire thing comes crashing down and if you're lucky you've got a few real devlopers to fix things.&lt;/p&gt;

&lt;p&gt;I'm obviously generalizing on both ends of the spectrum but I think "thinking on your feet" is not a good gauge for a developers ability, if anything I'm weary of the ones that do.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">nevermore</dc:creator><pubDate>Thu, 15 Mar 2012 08:29:01 -0000</pubDate></item><item><title>Re: How to Interview an Engineer for your Startup</title><link>http://www.tawheedkader.com/2012/03/how-to-hire-a-hacker-for-your-startup/#comment-465903678</link><description>&lt;p&gt;"Create a database index on the short_url field" &lt;/p&gt;

&lt;p&gt;I would be very hesitant to say that because it seems so obvious. &lt;/p&gt;

&lt;p&gt;"Store links created in the past 30 days in an in-memory cache for easier lookup"&lt;/p&gt;

&lt;p&gt;I would also consider activity of links. You may get some links that are hit every second excluded from the cache. A simple LRU cache might give a better result (probably putting new links in the cache as they are created). Or alternatively you can predict the most active links each hour from the visitor stats. Some links are visited only once and should probably not be cached too long (unless we continue to see hits). You would probably want to do some sort of analysis here to find the best approach. &lt;/p&gt;

&lt;p&gt;I can imagine this technique working very well. You need to be sure the potential employee is told the scope of the project. A link shortner used by 1 company is very different to a link shortner used by the masses. I'm sure you covered that in the interview though. &lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jonathan</dc:creator><pubDate>Thu, 15 Mar 2012 07:52:36 -0000</pubDate></item><item><title>Re: How to Interview an Engineer for your Startup</title><link>http://www.tawheedkader.com/2012/03/how-to-hire-a-hacker-for-your-startup/#comment-465890891</link><description>&lt;p&gt;Within 30 minutes for 1 and 2? This can't have taken more than 3!&lt;/p&gt;

&lt;p&gt;&lt;a href="http://jsfiddle.net/7ErnR/" rel="nofollow"&gt;http://jsfiddle.net/7ErnR/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If that makes me a 'good candidate' then you just made my day :)&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">kungpoo</dc:creator><pubDate>Thu, 15 Mar 2012 07:21:15 -0000</pubDate></item><item><title>Re: How to Interview an Engineer for your Startup</title><link>http://www.tawheedkader.com/2012/03/how-to-hire-a-hacker-for-your-startup/#comment-465780277</link><description>&lt;p&gt;This is a nice v1 url shortener.  It is very close to what I'd expect to find in a rails shop.  Depending on expected load, I'd rather make this "less railsy".&lt;/p&gt;

&lt;p&gt;Ex:&lt;br&gt;Throw varnish in front of rails, set your TTLs there.  additionally, have your varnish boxes log the request headers and parse the log files in a separate daemon.  While you propose pushing this into an async job (good!) you are still requiring that the async job service be able to accept new jobs in order to redirect and you are still performing the request parsing within the request/response cycle of your controller =/Finally, I would wonder why you wanted to store all of your detailed fact records about each user instead of aggregating facets you already care about and using off-the-shelf (splunk, loggly, etc) log management for detail storage and analysis.&lt;/p&gt;

&lt;p&gt;At the end of the day, this is a good question to ask of a senior/architect level person because it pulls in their knowledge not only of your application framework but also of proven components outside of that stack.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">aaronblohowiak</dc:creator><pubDate>Thu, 15 Mar 2012 02:43:47 -0000</pubDate></item><item><title>Re: How to Interview an Engineer for your Startup</title><link>http://www.tawheedkader.com/2012/03/how-to-hire-a-hacker-for-your-startup/#comment-465771251</link><description>&lt;p&gt;It doesn't seem like it's honest to say "let's work on this together" if you already know all the answers. That's not collaborative, it seems patronizing and elitist - but I use both those strong words because there's no less melodramatic equivalent. It seems _slightly_ patronizing and _slightly_ elitist. Snooty? Is snooty a good word here? It seems snooty.&lt;/p&gt;

&lt;p&gt;I think a better approach may be to find a few programming challenges or puzzles where the interviewer is unaware of the solution. Trying to solve it together will show the candidate what type of developers s/he's going to be working with. It will show the interviewer an honest perspective on the candidate.&lt;/p&gt;

&lt;p&gt;Also, if a candidate can figure out a problem and I can't: they're hired!&lt;/p&gt;

&lt;p&gt;Um, thanks? I think I just figured out how I'm going to do interviews from now on!&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Dave</dc:creator><pubDate>Thu, 15 Mar 2012 02:22:44 -0000</pubDate></item><item><title>Re: How to Interview an Engineer for your Startup</title><link>http://www.tawheedkader.com/2012/03/how-to-hire-a-hacker-for-your-startup/#comment-465735582</link><description>&lt;p&gt;Not enough focus on people skills. One of the most important thing Engineers do is work with other Engineers. Another thing they have to do, at least the good ones, is understand and prioritize what their customer wants in such a way that the customer gets the most value for their buck.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nelson</dc:creator><pubDate>Thu, 15 Mar 2012 01:03:44 -0000</pubDate></item><item><title>Re: How to Interview an Engineer for your Startup</title><link>http://www.tawheedkader.com/2012/03/how-to-hire-a-hacker-for-your-startup/#comment-465699367</link><description>&lt;p&gt;"not very good at explaining things, or knowing exactly what an app will need just because it's laid out on paper".&lt;/p&gt;

&lt;p&gt;I work in the field. I consider these critical skills.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Crutcher Dunnavant</dc:creator><pubDate>Wed, 14 Mar 2012 23:57:52 -0000</pubDate></item><item><title>Re: How to Interview an Engineer for your Startup</title><link>http://www.tawheedkader.com/2012/03/how-to-hire-a-hacker-for-your-startup/#comment-465693759</link><description>&lt;p&gt;So you want an engineer with all these skill sets to not be ambitious by doing their own start up, and to instead work for you? &lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Iworkatgoogle</dc:creator><pubDate>Wed, 14 Mar 2012 23:48:27 -0000</pubDate></item><item><title>Re: How to Interview an Engineer for your Startup</title><link>http://www.tawheedkader.com/2012/03/how-to-hire-a-hacker-for-your-startup/#comment-465685982</link><description>&lt;p&gt;I actually ask this exact same question in my interviewing - I hope I still can now that you've gone and posted about it :)&lt;/p&gt;

&lt;p&gt;I like it for all the same reasons, but I usually don't get to cover as much as you seem to. How long does it take a good candidate to get through all the areas you've described here? My interviews are generally 45min to an hour and I find it is barely enough time to get a basic design out of someone and then dive into one or two specific areas.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Dan Ford</dc:creator><pubDate>Wed, 14 Mar 2012 23:35:20 -0000</pubDate></item></channel></rss>
