SharePoint is not like other development platforms. You need to learn many skills to be proficient at SharePoint. Unit testing is very difficult on this platform. You must know your markup languages such as XML. To deploy you need to know something like PowerShell.
That is not all. You had better know web services to be a good SharePoint developer. Let's face it. You might be learning all your life to be a good SharePoint developer. That might not be a bad thing.
I don't know. This sounds too complex for me. Maybe if I got in early I would be interested in SharePoint development.
Rolling my own ICMP client - I searched around on the Internet for a program named Loki. It was supposed to send traffic using ICMP. The idea is to hide stuff in there that firewalls ...