How You Rate Yourself In Linux And Networking Technology ?


Linux and NetworkingLinux and Networking







This Article explains, how a professional rate himself at Level-6 out of 10-Levels in Linux and Networking technology.

If Linux and Networking Technology defined with the rating from Level-1(novice) to Level-10 (advanced strong professional), then I rate myself at Level-6 How:

Level-1: If a person has basic understanding of Linux {example – not limited to}:

He can install linux, and use it as is. He can use basic commands e.g. history, pressing ctrl + R,tar,cal,date,pwd and operate it as a end-user level. He can install basic packages using sudo apt-get install xyz. He can run ping command to see the connectivity.

Level-2 : The person understand the linux architecture, user level mode, kernel level mode, its history, various modules inside. The person understand the various technical commands e.g. chmod, ps, find, grep,kill,ifconfig, assign ip address to interface, route.

He knows how to use the vi editor, vi editor commands. He can install jvm, understand compilers g++, he can write basic programs (e.g. c,c++),compile it and run it.

Level-3 : The person can setup complete dev environment in Linux e.g. installed codeblocks and used the curl library which then talks with http server installed on same machine, that actually develops a client program based on the curl.He is capable to develop linux based small software applications.

Level-4 : The person has the experience using several advanced tools/commands e.g.netstat,top,route,dig,nslookup,telnet,ftpserver,openssh,openvpn,traceroute,. He writes the multithreading code. He implements with the concept of pthreads, process, signals, files, semaphores , interprocess communications ,shared memory, various stats info under /proc, system calls, BSD APIs, Client-Server programming.

Level-5: The person have used linux continuously for years to develop linux based system application , has done programming in linux and networking area e.g. Peer to Peer Client library by using the BSD sockets APIs, semaphores and threading. The person has also used eclipse to program the java based http relay server. He has implemented two advanced Linux and Networking based projects.

Example (not limited to):

Technical Keywords: Linux, Networking, BSD Socket APIs, NAT,IP Tables, DHCP, C++, Multithreading

-Designed and Implemented in JAVA, to convert the synchronous servlets based HTTP Relay Server to non-blocking asynchronous event-driven HTTP Relay Server by using Netty framework, which scaled HTTP Relay server to handle 100,000+ HTTP request than only ~2500 HTTP requests.

– Implemented a feature in C++ “Direct BSD-TCP Based communication on Non-ICE situation in P2P Interoperable library” to reflect optimal data transfer rate if connecting peers are on the same network



Level-6: The person has used iptables to configure iptables rules for various reasons e.g. configured firewall rules (block ports). the person has used ethereal to capture the packets to trace it for several reasons. The person has used various tools to debug and performance improvement e.g. using gdb , tools like valgrind (memory debugging, memory leak), profiling via gprof, callgrind, Kcachegrind tools, setting of certain variables via /proc/sys/net/ipv4, versioning tools, Tun/Tap Drivers.

The person has setup NAT-Traversal test-bed. (that included setting up various Linux machines, different type of switches (e.g. port restricted, symmetric, address restricted, full cone, various servers, relay server, signaling servers)

Referred  researched papers, patents  and books for many reasons e.g. Understanding Linux Network Internals (O,REILLY) from Christian Benvenuti, Understanding Linux Kernel (Daniel P.Bovert & MARCO CESATI),Advanced Linux Programming (Mark Mitchell, Jeffrey Oldham, Alex Samuel etc)

Protocols Exposure:

Telecom SS7(Layer-4 –SCCP,Layer-3 –MTP3) and datacom protocols(Layer-2 – ARP, Layer-3 IPV4/IPV6,ICMP,IGMP, Layer-4 – UDP,TCP), Signalling Protocol(SIP,SDP) IP-Protocol (STUN), Application Protocol – (TFTP,FTP, DNS),Communication Protocol(HTTP),Network Management (SNMP), Wireless Protocol(Bluetooth).


The Person is expert overall Linux ecosystem, and attended Linux foundation events to interact with Linus Torvalds

Level-7: If person highly specialize in any specific Linux and Networking area and written any research paper on it e.g. he researched Linux’s memory management algorithms with TCP/IP buffers and published a research paper on it.

Level-8: If person has written any open source or any library in Linux and Networking

Level-9: If person was recognized by his efforts in the industry, and he contributed in the Linux Source code.

Level-10: If this person is a speaker in Linux Foundation, very well regarded in few areas of Linux, also endorsed by Linus Torvalds for his expertise.

My Level is 6


So defining a level on a specific technology depends on the context and various other parameters e.g. who asked this question?, In what context you are going to respond ?, How many years of experience you already have ?, Are you a specific Linux and Networking professional or Linux and Networking is one of the area from the many skills you have ?, Are you going to answer such question because you are applying for a job or you are going to publish a research paper ?.

Above answer responded by the applicant to the hiring manager, when he applied a senior software engineer job at Cisco,San Jose, California


Previous articleWhat Skills Are Required To Be A Hadoop Developer?
Next articleHow To Install Elasticsearch On Mac ?
Since last 15 years in different geographical locations, Sumit prepared hiring format for several hiring managers/teams to hire the balanced talents and interviewed talents on the various stages of their selection process. He also interviewed by hundreds of companies in different geographical locations.His best conclusion for hiring teams and candidate is to prepare in advance. Here ‘advance’ means keep your interview book ready and continue to update it even you are not going to interview candidates or applying for any job in next six months.