RewriteRule fails if called after line 112 of .htaccess
Just put it above line 112. The reason it doesn't work below that is line 117:

RewriteRule ^ index.php [L]


that [L] means that if the conditions above it match and that rule is applied no further rules will be checked. If you put it above that line clean or non-clean style url will work fine but probably don't want to include an L on the end of your rule so use:

RewriteRule ^home/code/([^/]+) home/software/node?code=$1 [R=301,NC]


on line 111 (well whatever actual content rule you need).