Maybe I'm not as happy or optimistic as my fellow posters to this thread, but I fear I will have to take a different perspective from what everyone else has said.
In my opinion, unless you are outstanding(or believe you can be 'with good reason') in programming then choose Networking everytime! Now when I say outstanding I mean that you'd be so good in programming whatever the language to be used for the program. From SQL to Assembly, Coldfusion to Esterel. You must be 'the' complete programmer!
And you must truly LOVE programming because the matter of fact is that when you start in Software Development in this country you might have to tolerate getting paid just enough to transport you to the office and back home!
I am of the belief that the reason why Networking is saturated is because its much easier to learn and you get paid much more for expertise than for programming! Do you know how mcuh you'd get paid for being able to 'configure'( which may involve programming) a Cisco VOIP router to send email/records calls after calls from certain IPs are made/received!
Do you think it'd be the same if you created a program to generate 256-bit Security Certificates Hashes which could could be used to transport, say EMail messages across unsecured networks as well as guarantee non-collision for a very high amount of input combinations and was immune to the current Debian SSL Debacle, even if run on Debian/Ubuntu?
Hence why I am suggesting it!
I won't be surprised to hear that the best programmers in this country are working for Shell/Chevron/ExxonMobil doing pet projects at home to remind themselves that they are programmers. I can't blame them! The VB programmers who develop our in-house application where I work get paid something around the region of 60K a month.
I mean. That is ridiculous!
And my co-workers wonder why it takes a long time for signature uploading functionality to be added to the application!
Another funny example, A friend of mine wanted to help a dry-cleaners to develop some software which would help the owner track all transactions done by his workers. It had some long list of features he wanted which included the ability to track when one of his workers tried to cheat him(How he expects this to be done I will never know), the application should stop/ or report workers whenever they 'tried' modify a price for a type of garment, it should place an audit for everything any user did ( except himself of course

which is itself a security risk in itself). He also wanted to be able t track it from the comfort of his home!
He wanted to pay 20K for the application!
There are so many reasons why I feels Software Development is stunted but that is for another thread!
For everything I said beforehand I stand to be corrected!
Before i start, let me say u write well. try applying to any of naija's print media house to be a columnist on IT issues in nigeria,

lol
Your points were clear and well stated.
You dont need to be good to the extreme before you can start making good money. The case studies you used does not apply to most naija developers, i mean me for example. It depends on exposure, your targets and of course CONNECTIONS. Thats wat naija is "almost" all about. With your connection, even if what you know is MS Access macros, you go count your cool millions without sweat.
I have never sold a 100k application (no blabs here, for real), and i tell u d kind of apps i develop sometimes, i feel like i am cheating my clients with the money i get. Its al about packaging too and not sell yourself cheap. T
he problrm with naija developers is that its every job that comes their way they want to do. you don't have to do every job. dont act hungry and always stand on your price. These might not be same for all of us but at least, i believe its a good business practice.
Taling about loving programming, this applies to every profession that invloves creativity e.g graphics design. To get maximum satisfaction from any job, the love has to be there and programming is not an exception. If you dont luv the networking, then it becomes a difficult profession but if you do, it is seen as easy.
Programming in this country boild down to getting the big job. You can only get he big job if you know the right pips. Sometimes i make what bankers or network engineers earn in 5 months from one job. Sometimes i dont make anything for 5 months! I have never looked for job nor seek for employment.
So it depends on the side of naija u are exposed to,