It seems I wasn't clear... Do you want to work at the physical hardware
level, or the software level, or betwixt, or between, or other?

There's a big discrepancy in skill sets between knowing how to drive a
SEM (Scanning Electron Microscope), knowing how to drive test equipment
(signal analysis), knowing how to drive a disassembler (binary
analysis), knowing how to drive a text editor (manual source code
analysis), and knowing how to drive the "typical" industry tools
(automated source code analysis, fuzzing, disk inspection, case
management, ...). On top of all that, there's also knowing legal
requirements and procedure (evidence handling) as well as proper cost
and feasibility estimation ("is it possible?" "is it worth it?").

The most fundamental basis for all of these related fields is knowing
how to write code, preferably in a whole lot of different programming
languages. You need to know the high level languages used in
applications and services. You need to know the common "systems"
languages like C and C++. You need to know the low level assembly
languages very well, preferably for multiple architectures. You may or
may not need to go even lower down to knowing microcode. You may or may
not need to know firmware engineering and reverse engineering. You may
or may not need to know a good deal about hardware engineering and
reverse engineering.

There are even people who work at the materials sciences levels, and
yes, they're beautifully fun and spooky to work with because they
actually can answer questions like, "Was this ATM system board frozen
with liquid nitrogen?" --Similar fun is true for the signal analysis
folks.

As you've probably guessed by now, there's a lot of heavy engineering
and sciences involved, as well as a bit of art, so you'll need a nearly
masochistic dedication to constantly learning. You might find books
helpful to get you started in various topics, but you'll do most of your
learning hands-on and on your own. The people who are "truly great" in
various fields and topics are at least partially, if not completely,
self-taught.

Pick an area of interest, and dive into it. Learn to do your own
research, and learn to find the research of others. The two things to
keep in mind are, (1) all of the areas of interest are inter-related,
and (2) there is significant competition between security/assessment
vendors. The competition can often make finding the research of others
nearly impossible. This is especially true for the malware analysis and
security auditing industries where many tools and techniques are
considered trade secrets.

Even if you are an amazing generalist with both depth and breadth in
your skills, you will still most likely still specialize to some degree.
The useful skill and knowledge of any single person has limits, so
you'll need to know how to work well with others, many of whom are
amazingly talented in their own right, if not absolutely brilliant. If
you can remain content, helpful and useful while knowing you might be
the dumbest guy in the room, then there is hope for you.

The technical challenges of forensics and related work are endless and
very rewarding, but there is a little known and very damaging emotional
toll extracted from you. Every day you at work you must stare at evil.
Seriously. You need to stare at the results of truly wicked people
committing viciously brutal crimes against other human beings.

You will become jaded.

If you fail to maintain some hope in the general goodness of humanity,
you will become bitter.

If you become really good at your job, you will have learned to think
like the bad guys... and anyone who recognizes your skills will consider
you "spooky" to some degree, even if you're one of the good guys. The
absolute nicest and most honorable "good guys" in the various fields are
also frighteningly talented.

Becoming jaded, or worse, bitter, and always being suspect due to your
demonstrated skills tends to be a rather high price tag for a career. --This is really the very first thing you should learn.