1) Good understanding of the user-land + kernel layers - filesystems, inter-process commn (pipes, shared memory etc..), process vs threads, memory layouts, networking (tcp/ip sockets etc..).
2) Experience in kernel development is a big plus but not mandatory.
3) If using C/C++, good understanding of the language features, esp. debugging tools like gdb.
4) If using Java or VM-based languages, apart from language features, good understanding of the VM tunings and its limitations.
5) Scripting - bash, awk, perl/python/php etc..
6) Protocols - HTTP, and others. Good understanding on how to build web services.
7) Performance and debugging: tcpdump/wireshark, /proc/* tunings, firebug, etc...
8) An exposure to web development on the client side - html, css, js. Not necessarily being a guru here but understanding the full stack from the client onwards. It can influence the server-side architecture (handling various ajax requests etc..)
9) AWS services - something to consider (this is how we started with our start-up).
10) Not to mention, a passion to understand the 'big picture', and how to optimize the various resources effectively.
A love of automation, bordering on an obsession.
A deep understanding of the individual technologies that make up the stack, as well as a higher-level view of how all of the moving parts fit together.