I've not found any of those points to be true for me personally. I think you got to do what you like, that's the way to success. Now there are challenges in all arenas right now.
One point in particular that I'd like to mention is that you say software engineer is less stressful. As a software engineer, you can make a single mistake that causes some exploit and causes something like happened with Playstation Network. As a software engineer you are more directly responsible for data integrity. As a network engineer, you are responsible for keeping the pipes flowing. Outages can cost huge amounts of money per her, but I'd rather be responsible for that than more directly responsible for data integrity (just me though).
When you are considering network security instead of just network engineering, there is more emphasis on that responsibility. However, netsec would be limited to protecting the network itself if software engineers had no errors in their code. I know that this is a tangent, but most of the network security is trying to fix software designers mistakes. That in and of itself is getting more difficult with the wider adoption of encryption.
Regarding always getting blamed, you have to learn how to troubleshoot. The network gets blamed for everything. A good engineer won't take that blindly. Additionally, not communicating the real problem does nothing to keep it from happening in the future. If it is the network, accept that responsibility. If it is a carrier, make that known. If it is an application malfunctioning, make that clear. My advice is to learn to do protocol analysis with a packet sniffer.
I could say the same things, but reversed. Software engineers always face deadlines, impossible goals, constantly having to strive for performance optimizations, stability being TANTAMOUNT in software, constantly checking for bugs, etc. The list goes on.
No job is perfect. The job market where you are locally may not be the same as where I am - but I see just as many openeings for Network as I do software programmers - the difference being, all of the programming positions are super-specific. They want someone who as worked with Ruby on Rails vX, whereas.....with networking......not so specific.
Do what you enjoy, put diligent quality effort into becoming proficient at it, and success will follow. Whether this is software engineering, network engineering, or basket weaving. Formula stays the same....
Best of luck!
Not really sure on what criteria you've managed to distinguish between the two, I would've thought network engineering is effectively software engineering, albeit from a high-level, though perhaps a little more narrow in scope.
Hardware would be a little pointless without software and vice versa, as we enter the era of Software Defined Networking (SDN), I'd say the opportunities will be equally rewarding (for those with the right skills of course).
uh... I would have to say sometimes it may be true, but as the others have stated, you need to do what you like. I started out thinking I wanted to be a software developer and while in collage, quickly learned I wanted nothing to do with it. I was a little scared of the hardware side, but once I got into it, I found it much more rewarding than developing software.
It would also depend on your emloyer and what kind of a environment you work in.
It's funny you should mention that Daniel. Starting my career as a software developer, I used to think the same. I thought the role of a software developer/engineer would be a higher paying job. Having rotated through roles of systems engineer, software engineer, test engineer and network engineer; I would have to say that flexibility and security depend on the company or department more so than the role.
Knowing what I know now, if I were to do it all over again, I might have spent more time as a systems engineer.
I would say that depends on you Daniel. You control your destiny and what you make of it depends on the decisions you make.
Sixteen years after my first engineering job, I can say I've had jobs I've loved and jobs I've less than desired, but I could generally pick one thing I enjoyed from each. I've also changed roles many times, based on what I saw as roles being in demand. I attribute my flexibility from working at a startup that required me to program, be the sysadmin, network guy and SE.
I used to code as a network engineer, so the alternative might be a job that let's you do everything.
Regarding your question on choosing a career, Marcus' first sentence provides much insight.
Likely nobody here can tell you the best way you should proceed. Much of that will depend upon your desires, your goals, and your current situation. In my experience, you'll be much happier (read: fulfilled) in the long run if you get started in the career that you enjoy. You'll constantly be gaining experience in something that you want to continue and will therefore more easily stay in that field. Starting in something that you don't entirely enjoy may make transition to a different field a little tougher. Note, it won't be impossible, but maybe slightly harder as the more experienced you are, the more employers look for experience in the field in which you are applying. Certainly there can be some overlap thta provides transitional skills.
However, you may be in a situation where you cannot afford to prolong your search for that "perfect" job and must take something sooner for financial or other reasons. There's no harm in that - we must do what we need to survive. Don't lose sight of your goals, however. Continue to work in your field(s) of interest through self-study and volunteering for assignments when possible, even if that means "overtime" for you. In the end, you'll be the more experienced person and your peers will recognize your drive and teamwork.
Best of luck!
I came across this thread from google search and i'll write my 2 cents. Choosing a software engineering career path for an IT beginner is a no brainer. I live in Silicon Valley and if i do a 50 miles radius search from my zip code for "Java" or "Python" on indeed, dice or monster i get about 5-6k results. If i type CCNA, CCNP or OSPF i'd get roughly 150-200 results. As a network engineer it will be tremendously harder to find a job without a 50-90 miles each day commute. There are usually 100+ applicants for any network engineer job based on information from linkedin, i can't tell if the number is as high for software engineers. If you look at network engineer job requirments, ~90% require at least 5 years experience for an intermediate lvl network engineer role. Not as many years are required for same lvl software engineers. Junior level network engineer roles are almost non-existent so unless you work as a desktop support or systems administrator and are picking at networking and are getting mentored, chances to get a junior network engineer role right after passing CCNA, network+ or even finishing a degree are near null. I've seen senior CCNP and CCIE's that could not find a job for months because of their relatively higher salary requirements ($100-$150k) Not a problem for senior software engineers. Becoming a CCIE in routing and switching from a beginner lvl requires about 3-4 years of study and is one of the toughest exams in the world. But passing it won't even cover a 5th part of all networking because there is also wireless, data center, voip, firewalls and others. Network Engineers are viewed by managers as an "Expense" where "software engineers" are viewed as "profit generators". In a company with tens or hundreds of software engineers it is much easier to advance knowledge and solve dead end problems unlike in a 2 to 5 network engineers environment respectively. Becoming a good network engineer is way harder than becoming a software engineer. A good network engineer must know near everything there is in IT, including programming with introduction of latest trends like automation, SDN. A good software engineer doesn't need to know everything there is to know in IT. This translates to thousands of pages more to study and updates for a network engineer. The increase of cloud computing in IT will decrease the demand for network engineers whereas the increase of web will increase demand for software engineers. All in all, unless you have all the time in the world do yourself a favor and pursue a software engineer career