Linux usage
Linux shell (e.g bash): loops, if, test, pipes, environment, redirections.
Understanding of Linux filesystem from the user point of view: unix file permissions model, file ownership, ordinary files, devices, hard and symbolic links.
Utilities: cat, echo, less, strings, find, grep, diff, patch, ssh, scp.
Plus: Linux distribution packages management.
Development tools
Version control system (e.g. svn, hg, git), bug tracker (e.g. bugzilla, Jira).
gcc, gdb, make.
Plus: binutils (ar, nm, objdump, objcopy), valgrind, strace, autotools, cscope/ctags.
Languages
C, Bash
Plus: Assemblers (MIPS, ARM, x86), Python, sed, awk
Network concepts
OSI 7-layer model and TCP/IP stack concepts. Berkeley socket API.
Linux network configuration and debugging tools: ifconfig, ip, arp, route, traceroute, ping, tcpdump, host, dig, netcat, wireshark.
Plus: Ethernet, TCP and UDP protocols understanding.
Operating Systems
Understanding of the following concepts: kernel and user context, process scheduling, interrupts, messages, pipes, sockets, shared memory etc.
Plus: In-deep Linux kernel understanding, knoledge of at-least two kernel subsystems.
Plus: basic RTEMS knowledge.
HW-related experience.
Plus: PCI, PCIe, basic Verilog knowledge.
Documentation
Ability to write intelligibly enough in Russian/English.
Communication.
In-company and customer email communication is done in English.
Last/current projects
Plus: participation in an opensource project (link to the project page is required).