interviewing – knowledge vs experience vs skill

When trying to explain the difference between knowledge and experience, I heard someone jokingly mention a formula between the two.  While there isn’t really a formula (at least as far as I know), his point is still important.  When interviewing, knowledge, experience and skill all come into play.   Let’s look at the differences.

Knowledge

  • Questions: Do you know how to do what needs to be done?  Do you know where to find out?
  • Example:  Do you know how to read in a file so you can go through it and look for data?
  • Why it matters: While technology changes fast, the ability to find knowledge quickly, is an asset.  And caching it in your head or knowing what to look for in the API makes things faster.
  • Where it is on the resume: list of technologies.  Which tends to be buzzwords over depth.  After all, if you list “Spring”, you could have just heard of it or be an expert.

Skill

  • Questions: Do you know how to identify what needs to be done?
  • Example: Do you realize using scanner with a regular expression can make the problem trivial?
  • Why it matters: Solving the right problem is what makes development part art (and not all science.)
  • Where it is on the resume: Sometimes shows up in the form of on the job accomplishments, but often has to be determined by talking to the person.

Experience

  • Questions:  Have you done something similar?  What worked?  What didn’t?
  • Example: Do you identify this is the wrong problem to be solving and a better one would be to ….?
  • Why it matters:  Who wants to repeat the mistakes of the past!
  • Where it is on the resume: In some form, it is on the resume as number of years.  However, this doesn’t show what the person actually learned.  I’ve met people who have managed to learn almost nothing in 7-10 years.

Why this matters at an interview

An interviewer should be interested in all three of these.  (Plus potential, fit and many other things.).  Everyone has some experience.  If you are entry level, it might have come from school or a toy project.

What do you think?  Post here or in the coderanch jobs discussion forum.

ant dependency graphing with graphviz

In 2007, I wrote an article about ant dependency graphing in the JavaRanch Journal.  I had cause to try it again to visualize the FIRST robotics complex build scripts.  This time, I’m on Mac.  At the moment, the MacOS version of Graphviz is in beta.  This isn’t critical so giving it a try.

It was easy to install with a wizard to accept license, choose location, etc.  Installation was successful and less than a minute.

The contenders from 2007

  • Ant2Dot – hasn’t changed since 2007
  • Visant – hasn’t changed since 2002
  • Grand – hasn’t change since 2005

Since there haven’t been any updates, my analysis should still be the same.  Since Grand generated the most useful output then, I went with it.

Grand

<?xml version="1.0"?>
<project name="Grand" basedir="." default="grand">

	<typedef resource="net/ggtools/grand/antlib.xml" classpath="grand-1.8.jar" />

	<target name="grand">
		<grand output="grand-build.dot" buildfile="/Users/nyjeanne/sunspotfrcsdk/build.xml" />
	</target>

</project>

Graphviz

  1. File > Open – choose grand-build.dot
  2. As before, I can navigate around the file.  This time the graph is ugly.  But I was doing this because the build file was so large and complex it was hard to understand so I’m glad I visualized it.
  3. File > Export
Not sure why Graphiz is still in beta; it worked perfectly.  Maybe for more complex operations there are problems?

The image
This series of Ant builds has a really large number of targets and dependencies so it makes for a complicated graph. A snippet is at the top of this post. The full one is available online:
pdf (decent number of bytes – still tiny so you’ll want to soom in and scroll around)
gif (the file is a large – 1MB download – which is why I’m not including it in the main blog entry. It’s also tiny, so you’ll want to zoom in and scroll around)

Wikipedia SOPA Protest Easy Workaround

After hearing all the media buzz around Google and Wikipedia protesting SOPA, I expected to go to Wikipedia’s website and see the entire website disabled. To my surprise, the Wikipedia worked just fine for me this morning. I asked friends and colleagues if they could access Wikipedia and they could not. Then I realized the reason… I use a JavaScript blocker that requires me to enable JavaScript per-site and Wikipedia’s block amounts to a post-load JavaScript hack. Simple and easy to implement, but also easy to defeat.

If you want to continue using Wikipedia today, install a JavaScript blocker into your browser and set it to block anything from “wikimedia.org”. In Firefox, I recommend NoScript and in Google Chrome I recommend NotScripts.

I fully support Google and Wikipedia in their efforts to block SOPA. I just found it interesting that Wikipedia’s block implementation was so trivial, anyone could get around it and access the website as normal. Once you finally do enable JavaScript the page looks like this: