See Joel Program

June 1, 2009

Tell Me Everything You Know…

Filed under: Technology — Tags: , , — Joel Rumerman @ 7:05 pm

Recently at work I got asked a couple questions at work about some hiring techniques that we might be implementing. I guess my company is defining and implementing a new hiring practice around the idioms presented in Who: The A Method for Hiring and they wanted my input on a couple of the steps they were batting around. I can’t say I’m for or against such an intensive, well defined hiring pattern yet, because it hasn’t been used yet and I haven’t really been that involved, but it did spark my interest in how I would hire a new developer today if given the chance.

What popped into my head is the “Tell Me Everything You Know…” methodology. My goal when I would interview somebody is to, in the shortest amount of time, figure out everything this person knows about technical things that indicate if the person is a standout developer or not.

Here’s the basic interview structure:

I’d tell them we were going to have a series of 5 minute conversations and in those 5 minute conversations they were supposed to tell me everything they know about whatever I asked them. Rather than taking notes, the conversation is recorded because this is going to happen way too fast for me to write anything down. Plus, I’ve found out over the years that notes I’ve written about most things are incomplete and tend to stall conversations.

What I’m going to be able to tell during this conversation is if they can communicate effectively, context switch quickly, respond to a bit of pressure, and if they have the technological chops I’m looking for. I’d say that the last one is the most important, but in my company if you can’t write a good email or switch your focus quickly, you’re kind of useless. This is the extend of how I would hire a developer. It sounds simplistic, but in my head it works.

Here’s my list of topics that I’d ask about. Everyone’s will be different, but these are ones that are important to me.

Tell Me Everything You Know About …

  • Websites
    • HTTP
    • HTML
    • Standards
    • CSS
    • DIV vs. Table Layout
    • JavaScript
    • AJAX
    • JSON
    • Content Delivery Networks (CDN)
    • Verbs: POST, PUT, GET, etc.
      • SEO
    • Sessions
    • Page Design
  • Network Communication
    • TCP
    • HTTP
    • Stateful vs. Stateless
  • Portable Data Structures
    • XML
    • XSL/XSLT
    • JSON
  • Object Oriented Programming
    • Interfaces
    • Classes
    • Polymorphism
    • Inheritance
    • Is-A vs. Has-A
    • Data Structures
  • Development Patterns
    • Factory
    • Strategy
    • Observer
    • Command
    • Assembler
    • Facade / Adapter
    • Builder
  • The .NET Framework
    • Major improvements between versions
    • ASP.NET
    • ASP.NET Control Lifecycle
    • Debugging
    • Compilation
    • Runtime
    • IL
    • Garbage Collection (Disposal, Finalization)
    • WCF
    • Win Form
    • WPF
    • SilverLight
    • WF
    • Generics
    • Linq
    • Object Initializers
    • Delegation
    • Anonymous Types
    • Visual Studio
  • Software Engineering Lifecycle
    • Discovery
    • Task Estimation
    • Requirements Gathering
    • Rapid Application Development
    • Iteration Development
    • Software Maintenance
    • Software Deployment
    • Short term vs. long term wins
  • Databases
    • SQL
    • SQL Server Data Types
    • Indexes
    • Query Performance
    • Storage (trees)
  • Storage Technologies
    • SANs
    • NAS
  • Testing
    • Unit Tests
    • Black Box vs. White Box
    • Load
    • Requests / Second
  • Cloud Computing
  • ProgrammingTools
    • Visual Studio
    • Fiddler
    • Firebug
    • Web Developer Toolbar
    • Yslow
    • IE Developer Toolbar / IE8 Integrated
  • Website Performance
    • No. HTTP Requests
    • Compression
    • Images / Sprites
    • Tables
    • Content size
    • JavaScript Execution Engines
    • CDN

July 28, 2008

Filed under: Searching, Technology — Joel Rumerman @ 7:26 am

It’s rare that anything receives above the fold respect from both and NPR on the same day so when a new search engine, (pronounced Cool) achieved such recognition, I had high hopes for the new search engine.

Here are my initial impressions.

  1. The first time site load was slow even though it’s mainly a single search box. It acted like most other sites do when they get hammered by a lot of web traffic due to a major press day. BUT, it did come up, which is better than a lot of other sites. Subsequent hits were quick as they seemed to cache everything on my browser correctly.
  2. My HCI professor wouldn’t be happy with the black background, but I didn’t mind it so much. It’s a bit different and a bit edgier than they should have gone if they’re trying to attract the main stream search market, but as a tech geek, I’m okay with it.
  3. The search results are laid out in a nice way, but again, took too long to come back. We’re used to Google‘s sub-second search results and frankly, if you want to be a Google killer, you’d better perform as good as they do
  4. The search results are not good. As you know if you my previous post, I recently wrote a book titled “Advanced ASP.NET AJAX Server Controls.” I entered that into the search box and my results were … wait for it … hold … hold … nothing. That’s embarrassing. The book is being sold in multiple countries, by multiple online and brick and mortar websites. Google’s results contain these listings. If you’re going to crawl 120 billion web pages and claim that you’re crawling more information than Google, you need to do a much better job.

Conclusion: I’ll check back in a week and see how it works then, but they just lost the initial round.

Blog at