views:

80

answers:

3

Hello everyone, I am new to programming. I have lots of interest in networking and want to be network programmer. Can someone please tell me, "what are the qualities and skill set you should have to be network programmer"?

Thanks & Regards, Rupesh

+2  A: 

I am not sure I have ever hired a specific "network programmer" but I will give you my two cents worth. For many years I did what I call comms programming(wasn't just TCP/IP but many different flavours of network and serial communications programming). and I would say it is important that you have a deep understand of the stack you are programming for(in this cause mostly TCP/IP over ethernet). If you understand what a switch and router do, know how multicasting works and have a good understanding of the ethernet protocol then you are one up on many. You may never have to apply this knowledge, but understand how a dynamically routed and complex network work is important.

Along with this is a good knowledge of multi-threaded and multiprocess programming. WIth the emphasis of buffer management between competing processes/threads. Inevitably a network aware client or server application will need to 1. respond to a network event(ie an incoming packet) and 2. delegate the processing of that data to another task/thread while the main thread goes back to servicing the network listener. So being good with threads and syncing buffers is vital.

Hope that helps.

Gray Area
Good answer.. Great piece of information for a newbie like me. Thanx
Rupesh Chavan
A: 

While I've never heard of a network programmer, I do know of network analysts. These are the people that configure firewalls, load balancers and other network equipment within companies and datacenters. Thus, they do a lot of script work in setting up the rules for a firewall or understanding various algorithms for load-balancing and why one may prefer one approach over another for it. If that kind of work is what you mean, then I'd think understanding network diagrams, security rules, various protocols for traffic, and applications to track it, like WireShark or Fiddler, are some ideas to get the ball rolling.

Another point is that this is sometimes under the umbrella of the system administrators that also manage the servers in smaller companies as they don't have the budget for each role so one person gets to manage the servers and network stuff.

JB King
A: 

For advance network programming, I would suggest you to read "Network Algorithmic by George Varghese". It will tell you how hardware is designed and real life difficulties.

Jack
Good Reference.. Thanx.
Rupesh Chavan