Embedded systems means different things to different people, anywhere from 8-bit micros that cost less than a dollar and have only a few KB of Flash and a couple of hundred bytes of RAM, to ARM-based boards with a GB of Flash and MBs of RAM running a platform like Android. Since you already have an Arduino, I assume you are talking about smaller systems.
In order to be successful in the embedded systems field, it is very useful to have some background in electronics. You will often be writing code to interface with the various peripherals (serial busses like UART, SPI, I2C or USB), 8 and 16-bit timers, clock generators, and ADCs and DACs. Although I have not programmed on one, my understanding is the Arduino platform isolates you from most of this by providing canned routines to access the various peripherals on the board. In the real world, you probably won't have this luxury.
"Datasheets" for microcontrollers often run into the hundreds of pages as they describe every bit of every register. If you haven't done so already, you should download the datasheet for the ATmega32 microcontroller in your Arduino Uno.
It also helps to be able to read a schematic so you can probe a board with an oscilloscope or logic analyzer. If you have no background in electronics, but are still interested in getting "down to the metal", then I highly suggest taking some introductory courses in electronics. It is also essential that you know C, as most microcontroller firmware is programmed in that language. You already have a head start there, as the Arduinos provide a simplified version of C/C++ functions.
It would also be a good idea to work with a 32-bit microcontroller, as the embedded market is quickly moving to these as their price has come down to where the 8-bitters used to be. I happen to like the PIC32 series from Microchip. You can get a complete development board from SparkFun for $40. You don't need to buy anything else to start with, since there is a bootloader built-in. You can also use one of Microchip's programmers like the PICKit 3.

This board uses the PIC32MX795, which has 512K flash and 128K of RAM, which is a lot more than you are used to on the Arduino. There are tons of free libraries to make programming the peripherals easier, but you will still need to read the PIC32 datasheet to understand how to use them.
Microchip has a free IDE and compiler that runs on Windows, Linux, and Macs. (They also have a paid version, but all that gives you is optimizations to produce smaller code. You don't need that for hobbyist use.)