IANAL, but I can say that I obtained a TN Visa, and renewed it twice, for a Software Engineer job without a degree in Computer Science. I do have a BS and a MS in Civil and Aerospace Eng. respectively.
Although as noted in the comments, I neglected to run threadsafe! and should have probably tried rubinius or jruby. I have been meaning to redo. Take with a grain of salt