a) A good understanding of fundamentals of Operating Systems, Computer Organization and Microprocessor Systems b) A good comprehension on Computer Networking
5+ years in Software Development Education in Computer Science or similar theoretical knowledge in CS: algorithms and complexity estimation, data structures,