ClickAider
You are currently browsing the Innovation category.
RSS feed

Google’s Hiring Strategy

The Google research blog has an interesting piece on their hiring strategy. These are good ideas, though I’m always a little skeptical of tidy graphs and simulations that show after the fact that your choices were optimal.

Their two key points are to only hire candidates who are above the mean of your current employees, for obvious reasons, and to use no hiring manager, because hiring managers will always prefer some help to no help.  Instead, candidates are interviewed for company fit and then assigned to a team once they meet the bar.

An alternative to no hiring managers is to always give hiring managers too few heads to get the job done.

This strategy aligns incentives nicely– hiring managers know that if they hire someone who is good but not great, they’ll be short staffed.

The alternative strategy taps into whats good about the hiring manager, which is that properly incented, he or she will go the extra mile to track down and sell the right person on the team.

Which strategy is better is debatable, but you certainly can’t compare them with a simple simulation.

The Web Clipboard is coming

Last October, I blogged on Bill Burcham’s idea of a web clipboard.

A widely adopted web clipboard standard is looking more and more likely to happen, based on the recent initiatives such as Live Clipboard and unAPI .  (There are probably other not-yet-public efforts going that we can expect to hear about soon.)

Today, every web application is an island. Sharing structured data across webapps is painful, requiring either manual file exports and uploads, or piecemeal copying and pasting of individual form fields.  

The web clipboard  would leverage existing browser features to allow structured data to be copied and pasted just as easily across different web apps as it is across desktop apps.   The data can be represented in a variety of formats, with the receiving app choosing the richest format that it understands.

For example, supposed I wanted to copy a set of contacts from Gmail into Salesforce. Today I’d have to figure out how to export CSV a file from Gmail, go to Salesforce, select import, browse to the file, click submit, and import the contacts.  If both apps supported a web clipboard, the same operation would literally be a copy and paste, with all structure retained intact.

The highest profile effort is perhaps Ray Ozzie’s work at Microsoft on Live Clipboard (see the demo and screencasts). Live Clipboard is intended to work across a range of modern browsers and does not require any external plugins.

The technical introduction explains how it works:

The Live Clipboard web control is a DHTML control that provides copy/paste functionality for data associated with a web page using the Live Clipboard XML data format. It consists of the following components:

  • UI elements for displaying the Live Clipboard icon
  • Javascript objects representing the Live Clipboard object model
  • Javascript that handles serialization / de-serialization of the Live Clipboard XML data
  • Javascript callback function registration for retrieving data for copy, pushing data for paste, and notifying when the control is “selected.”

It is designed to use standard Javascript and CSS techniques to “bring the clipboard to the web” and to work in as many browsers as possible. Currently, it is verified to work in IE 6, IE 7 Beta 2 Preview and in Mozilla Firefox for PC and Mac. We are working to bring support to other browsers as soon as possible. The control does not depend on installation of any client side applications or browser plug-ins, and it never gains access to the contents of the clipboard without explicit user action to paste.

The introduction includes a walkthrough for adding a clipboard control to any web page so that other site authors can experiment with it.  Example objects are provided for the hCard and hCal microformats and authors can of course implement other formats on their own.

A complementary effort is unAPI . As Daniel Chudnov describes it, “we think that unAPI and live clipboard should be two great tastes that taste great together… live clipboard deals with the “what’s in front of my face now” and unAPI deals with the “discrete objects that have names and different representations”.

Exciting stuff.

Jobster Mobile in Beta

Jobster Mobile, currently in beta, is the first job search service optimized for mobile devices.

Jobster Mobile allows you to use your cellphone to search for jobs from all over the web based on keyword and location. You can subscribe to alerts for jobs matching your preferences, delivered to your PC or directly to your email-enabled phone. Linked pages from job sites are automatically reformatted to fit your mobile screen.

Simply point your phone at http://labs.jobster.com/mobile.

If you use Berry 411, you can access Jobster Mobile using search keyword “jobs:” (e.g. “jobs: sales”).


Ruby on Spring now available for download

The Ruby on Spring project page now includes a general download link for those wishing to try the package.

Ruby on Spring is an open source project that integrates the JRuby dynamic language with the Spring application framework to facilitate rapid development. It allows controllers to be written in Ruby while taking full advantage of the Spring environment. Ruby on Spring has been packaged as a JAR and verified to work with a stock installation of Tomcat, Spring, and Hibernate.

We’re still early in the development cycle, so your feedback and improvements are appreciated.

Learn More

New Jobster Professional Features

Monday night we launched a new version of Jobster. In addition the recruiter facing features you can’t see, there are a number of new professional features, especially in Jobster Labs. (Jobster Labs lets us experiment and iterate rapidly on new ideas that aren’t quite ready for prime time.)

Jason summarizes the key new features:

[We launched] some cool new features to the www.jobster.com job search site, including:

Check out Jobster Live…this is just pure eye-candy.  view real-time job searches on a map as they are being searched by users around the country.

The number of jobs indexed by jobster was also increased by 2 to 4 fold in most regions.  To get your jobs added, register here.

We also formally launched jobster groups.  create a jobster group for your affinity group (e.g. stanford mba’s) and share jobs and referral opportunities.

We also added some new jobster labs features. (dev stuff which requires registration).

  • publish a feed of jobs at companies you are connected to; customize your feed’s look and feel
  • build an email signature with a live feed of jobs at your company or companies you are closely connected to
  • Invite your friends and colleagues to jobster and share referral opportunities (increases jobseeker ability to gain referrals).
  • create a wishlists of companies that you would like to work for

Joe writes about the job feed tool we’ve created in Jobster Labs.

If you have a web page or a blog, you can create a feed of jobs that your readers are likely to be interested in, and even help them get noticed for the position if you know them. You can also track the number of clicks and prospects resulting from your feed.

Create a job feed
(free registration required.)

You can also include a job feed in your email signature– if your company uses Jobster, this is a great well to help promote openings in your team or company every time you send an email.

If you’re interested in joining the Jobster affiliate network of blogs, please contact me for more information.

Jobster Live: watch job searches in real time

Inspired by Livemarks, Ryan Kukendall put together a real time display of job searches on Jobster. Check it out; it’s a good example of AJAX and what can be accomplished in an innovation project.

A feature I especially like is the tag cloud that coalesces beneath the map as searches come in.

Jason on innovation

Jason summarizes a Forbes article on innovation at Google, worth reading.

Ruby On Spring

At Jobster, we are currently developing a rapid prototyping package that integrates the JRuby dynamic language with the Spring application framework. This post provides an introduction via examples.

The goals of the project are to permit rapid innovation and iteration, full reuse of our existing Spring and Hibernate business logic and objects, and a smooth transition from prototype to production code.

We were inspired by many of the benefits and philosophy of Ruby on Rails, including avoiding configuration files and compilation. Make a change, and you’ll see it immediately. At the same time, if you’re already commited to Spring, the package doesn’t require you to learn a new framework or abandon your existing investment in Spring. The total size of the package is less than a 1000 lines, so it’s small and easily integrated into existing projects.

The key part of the system is a Spring controller that instantiates a JRuby script engine and executes a JRuby script to define the controller and the model. The view is provided by a standard JSP file. If the JRuby controller is replaced by a Java one, the view can be used as-is with no changes.

Hello World

The simplest possible example consists of a JRuby script “hello.rb” which returns a model object and a JSP view “hello.jsp” which uses that model. To try the example, I just need to drop these two files into the “rad” directory on my Tomcat server. No compilation, configuration files, or server restarts are required.

hello.rb
{ ‘greeting’ => ‘Hello world’}

hello.jsp
<html> ${command[’greeting’]} </html>
Notice that rather than defining an explicit controller class, the script simply returns a model object. This is a shortcut for rapid prototyping. Equivilantly, we could have explicitly defined a controller object as follows:

hello.rb
class DemoController
   def getModel(request)
     { ‘greeting’ => ‘Hello world’}
   end
end

DemoController.new()

Reusing Spring Beans

Here’s a more interesting example that reuses business logic from a Spring bean implemented in Java. ($context represents the Spring application context.) Thanks to the magic of JRuby, we can interact and create Java objects just as easily as Ruby ones.

location.rb
locationCalculator = $context.getBean(’locationCalculator’)
{’locations’ => locationCalculator.getPointMatches(’seattle’)}

Hibernate Queries

The package also supports Hibernate. The follow example uses Hibernate to fetch a list of company objects starting with a given letter. Note that the query returns full fledged Java objects with behavior, not just data.

hibernate.rb
s = $request.getParameter(’s’)
companies = $helper.queryHibernate(”from jobster.model.Company where name>=?”, [s])
{’companies’ => companies, ‘label’ => “Companies starting with #{s}”}
The corresponding JSP view uses standard Spring conventions and could be used without changes with a Java controller.

hibernate.jsp
<div class=”left pad”>
<div class=”bold”>Companies: ${command.label}</div>
<ol>
<c:forEach var=”company” items=”${command.companies}”>
<li> ${company.name} <br />
</li></c:forEach>
</ol>
</div>

onSubmit Handlers

Our final example is a simple calculator controller. It implements an onSubmit handler to run business logic (computing the calculation) when the user submits the form and choose a new result view.

calculator.rb
class CalculatorController
   def getModel(request)
     {’x’ => 2, ‘y’ => 2}
   end

   def onSubmit(request, response, form, errors)
     form[’total’] = form[’x'].to_i + form[’y'].to_i
     form[’viewName’] = ‘/rad/calculator_results’
   return form
   end
end

CalculatorController.new()

Download

Read More and Download

Alan Steele on Priorities, Idleness, and Innovation

Alan has a great post on “Release Priorities, Idleness, and Innovation”:http://www.drizzle.com/~asteele/2005/10/priorities-idleness-and-innovation.html.

Setting the right bar for features in a release– and resisting the temptation to ensure that everyone’s plate is full– is what creates space for solving the hard problems that really matter.


Really good ideas tend to happen when someone in product development gains an understanding of an huge, urgent and valuable problem that needs to be solved and goes and solves it with a really good idea. (The test of it being a good idea is that the solution seems blindingly obvious in retrospect…)

Imagine the situation in which the release bucket is actually half-empty of features, that there is actually “spare time” in the release. … what would you do?

Naturally, you’d scramble to fill the release bucket with enough work from the 1700 programmer-decade queue to keep those developers busy for the next little while. Wrong. The correct answer is: Do Nothing. A half-empty release bucket is a golden opportunity for innovation….

It turns out that good people won’t just sit at work and surf the Internet all day when their queue isn’t full – any more than they would sit at home and watch TV for 8 hours in a row. Instead, they will either (a) find something important to do; or (b) go find another job…

Idleness, discomfort and – key element – the right culture and management support – can be a source of really good ideas.

I am not suggesting that the formal process of understanding requirements, designing solutions, writing specifications, etc. should be thrown out, nor am I proposing that improvement requests from customers or internal users should be discarded unread. But the bar for putting something in the release plan should be very, very high – and if there isn’t enough stuff that meets that bar, then the idle cycles remaining should not be treated as waste.

“Read more”:http://www.drizzle.com/~asteele/2005/10/priorities-idleness-and-innovation.html

Jobster Search is Live!

In the wee hours of Saturday morning, the Jobster team rolled out Joster 2.0, and with it two significant new features– Jobster Search and Jobster Rank. You can try out Jobster Search at www.jobster.com.

I’m writing to give you an advance look at some of the features you’re hear about in the official press release this Wednesday, and on Thursday when Jobster CEO Goldberg unveil Jobster 2.0 at the Electronic Recruiting Exchange Conference in Boston with a live “webcast”:http://www.jobster.com/corp/erewebcast.jsp.

Jobster search lets you find jobs anywhere on the web. Jobster Rank is to people as PageRank is to pages– it’s a patent pending way to rank the “relevance” of professionals for a job based on the strength and quality of their links with a company that uses Jobster.

Here’s how it works. When you search for jobs, Jobster searches both company web sites and job boards to find the best matches.

This icon indicates jobs that you can get referred to. Jobster helps professionals find a qualified referral and get noticed through a short chain of trusted connections to the company.

Obtaining a referral from someone the company trusts is one of the ways a professional can increase his or her Jobster Rank.

A high Jobster Rank increases the automatic “star rating” of prospects as seen by the recruiters, and causes them to sort to the top of the list. The most worthy prospects get noticed first, while resume spam is filtered away.

(Implementing Jobster Rank efficiently was an interesting technical challenge, because it considers all of the connections and interactions between an individual and a company out to several degrees. Jobster Rank is incrementally updated through a set of Oracle triggers in conjunction with nightly jobs for the really complex calculations that do not need to be real time.)

The recruiting departments and hiring managers of a number of “leading companies”:http://www.jobster.com/search/companies.html are using Jobster. If you are part of a company that is interested in using Jobster to build a talent network, instructions are on the Jobster web site.