You should always analyze your algorithms on paper. If you would do this, then you'd see exactly what your function is doing. Use the word "dog" for example, you'd see that each call doesn't change the string at all and just decrements the position variable and all you return in the end is "dog". But this is assuming that you fixed your if statement, because if you look at that, pos is greater than zero on the first call from your main method and doesn't even get to the pseudo-recursive calls. You should look at an example of a recursive algorithm to get an idea on how they're constructed.
I'll give you a quick example of recursion and strings. This example is VERY close to the solution I came up with to create a reverse of a string.
// This example takes the word and recursively shortens the word by taking
// out the first letter and appending that new word to the previous
// version of the string.
// Ex. word = wordordrdd, shane = shanehaneanenee
static String example(String s)
{
if s.length() > 1
return s + example(s.substring(1,s.length()-1))
else
return s
}
Hope this gets you on the right track.