It depends on what you wan't to do. If you just want to start off implementing simple theme's some knowledge of PHP and frontending (HTML, JS, CSS) should be enough.

But if you really want to get down and dirty with customising Magento, extensions and functionality you will need a good grasp on PHP, OOP, MySQL might be handy and Javascript, preferably prototype.

My advice, first get your PHP skills up to speed, afterwards follow some courses on Magento U and start off with a simple shop tweaking some minor stuff. All in all this should keep you busy for the upcoming 6 months. Just doing frontend stuff will take you less time but will limit you to implement theme's and installing extensions without being able to tweak them.

How to start working in magento?
I tried storing the REQUEST_URI in a session with the code below. I need to store the very first REQUEST_URI when a visitor lands on a page on our site and not have it overwritten when they begin browsing pages. This isn't working as I browse the site i'm seeing a new URI displayed by the echo.

session_start();
if ( !isset( $_SESSION['theuri'] ) ) {
    if ( !empty( $_SERVER['REQUEST_URI'] ) ) {
        $_SESSION['theuri'] = $_SERVER['REQUEST_URI'];
    }
}

echo $_SESSION['theuri'];

