g-mi wrote:i'm a programmer ,decided to take CCNA and i'v fallen in love with networking but before i invest in other networking certifications, i'd like to know what's better in terms of:pay,job security,growth,job satisfaction.
Well, I guess you are pretty early in your career development hence the question. Let me try to explain the fundamentals.
Each of these two domains are different based on which abstraction level you are looking at. Worth noting though is that the skills of a software engineer (possibly what you are calling a programmer) are needed across various domains. These could be embedded systems(such as those used by Cisco), banking solutions, internet services etc.
What you learn in CCNA is basically configuring the Cisco equipment -there are other manufacturers out there but Cisco gives you a good basis. On the other hand what you learn in computer science and more so when you take the embedded systems path is how to develop software systems such as those used by Cisco and others.
From a general global trend, software engineers are on higher demand than networking engineers. Take a look at the states where the technology industry is quite mature.
However, you need to look at things from the local industry level. In Kenya we don't have a solid industry in either of the two areas you are interested in but the software area is growing pretty decently.
If you went with networking, your destiny would be in one of the 3-4 major operators or one of the 2 dominant equipment vendors. With software you might have a larger landing base including self employment at some point.
Being a programmer is the first step to becoming a software engineer and later on an architect if that path is desired. The journey between the two or three points can be long and tough(this is where most loose it). It requires a lot of investment on time for practice. Those who endure reap the benefits big time, they are indispensable in the global industry. The world over is full of examples of such individuals.
Compared to networks self development in application development is fairly cheap since all you need is a PC at home and you can download the freely available SDKs(Software Development Kit).
I should also mention that Software engineering is much more than languages(Java, C, Python etc)and writing "for loops" but sure enough one needs to start somewhere. Languages are just part of the tools, one language could be suitable to solve a problem that another is not suited to solve.
Software engineering is about designing systems based on given problems.
Once you reach the point in your career where you are able to study a given problem and produce a software design that solves it, then implementing the solution(programming it) becomes less of an issue.
All in all, it's not easy to help you choose between the two especially based on the criteria you have given but certainly I would say its better to start with software.
This was a long answer and can be broken down further if you need :) but seriously I hope you find it useful.