What does a software engineer do?

What should I choose to be? Network Engineer or Software Engineer?

  • I am CS undergrad who is going to graduate in few months. I was recently recruited by a large MNC as a Network Engineer (and they are paying a lot for a new graduate). However my passion was always to be a software engineer in a place like Google or Facebook, that said I am very interested in Networks too. To make this choice more hard, I have the same skill in both. The biggest mistake I made was to not practice programming in places like topcoder. But I am sure that I can achieve success in that if I put my heart into it. Some of my friends have told me that if I continue in the same vertical for a few years, I cannot change my vertical anymore. Is that true? And software engineer in Google or Facebook is a long road for me because I have to get really good at programming first. So what is your suggestion regarding this? What should I choose to be? I am in a dilemma about this.

  • Answer:

    I did some network engineering back in the early 1980s, when it was sort of interesting.  Token ring networks were still on the table, and there were people who still wanted to use point-to-point RF modems, when Ethernet was clearly better.  There were some challenges.  I spent plenty of time putting vampire taps on thickwire and designing and putting together thinwire networks.  Later I got to work with things like FibreChannel.  Today, I think that it would be very boring to do after a short period of time.  On the other hand, there's always a need for it. Software development (I avoid the term "engineering") is open-ended and never boring, and I don't think that will change.  I've heard people toll the death knell for software development many times, but it's never happened.  On the other hand, it limits where you can get work.  I've done remote contracting work, but I find it difficult to get gigs. I have jumped around a bit, so it is possible to switch what you call "vertical," but at times it has not been easy, and I have faced some unpleasant periods of unemployment, which have not been good for my teeth.  Still, when I do find a position, it's usually pretty good. I would suggest staying at your present position and save some money.  While you are doing this, work on a real application. Something complete, that people can actually use.  This is the hard part of software development, that you are not likely to have experienced much in school and which you will not experience much on Topcoder.  Then, in a year or a bit more, look for a development position.

Eric Pepke at Quora Visit the source

Was this solution helpful to you?

Other answers

From a recruiter's perspective, and I've been in the business for over 12 years now, I would say there is more opportunity in the development field.  Yes, there is always a need for network engineers, but it seems like all the technology being developed these days on the infrastructure side is designed to REDUCE the number of people a company will need to maintain their infrastructure.  On the other hand, software development hasn't gone anywhere over the last 10 years.  There is still high demand for developers. My best advice?  Definitely do what you have a passion for.  But if you like both equally, I'd say learn to be a mobile developer - iOS, Android, or both.  That's where everything is going, and the demand for great mobile developers is high, and I can't imagine it waning anytime soon.

Elias Cobb

I, honestly, don't think that they are mutually exclusive.  The best network gurus are also programmers.  As my first networking experience would probably come from W Richard Stevens' Unix Network Programming books and I would guess many others would have started programming as well.  From my personal experience, I always enjoyed debugging and found networking to take some of that same skill set to troubleshoot network related issues. At the end of the day, networking is usually trouble shooting and designing around problems.  The bits of programming like integrating or creating a new IPAM do come around some times, but most of the time you are simply locating were a problem resides on the network. The one thing I've always been jealous of programmers is that most that I know usually have a typical 9 to 5, while I've never met anyone in networking that can say the same.

Eric Tykwinski

Firstly I would like to tell you that this choice totally depends on you whether you want to be a network engineer or a software engineer. I would answer your questions one by one highlighting points that you should definitely consider before taking any decision. Since you already have a good offer for a network engineer job, you can work for your goal. Utilize the time before you graduate instead of worrying about what to do. Trust me, this is the best time for working towards your dream. Start now or it'll be too late. Switching vertical, job or positions totally depends on how motivated you are towards your goal. And since every person is different it does not matter what your friends think about this. They are probably not that motivated to switch that is why they think it is not feasible. There are fewer examples of people switching jobs that is why it is considered difficult but if you really want to pursue your passion some day you should be ready to face any challenge that comes in your path. Keep working towards slowly and steadily. Learn how to manage your time. While on a job if you are working on your own side project the most difficult thing to do is to find time for it. Eric Pepke in his answer has some really good advice as well. He is experienced you should definitely consider his advice. Do not worry just keep working for your goals.

Karthik Sharma

You're young.  Right now you should be working to learn, not necessarily to earn.  Maximizing your monthly salary is for 35+ year old people who are supporting a family, paying a mortgage and building up retirement savings. If you're an undergrad you're probably what... 22?  You've got your whole life ahead of you (and yes, I'm jealous.)  If you want to be on the cutting edge, working for Google on one of their moonshots or building the next big thing, then software development is the way to go.  There's no comparison to network engineering (and I work as a network engineer.) The thing about network engineering is that you don't create anything.  Ultimately, your job is not unlike being a mechanic.  It's technical, but you're really just making some machines do what they are supposed to do in the first place.  And if you're in it for job security, I would pay very close attention to what Elias said up above.  The overall trend that I see in tech is to reduce the IT staff, and increase the number of developers.  There's a new generation entering the workplace that is very technical.  They've been troubleshooting their own laptops and iPhones since they were twelve years old.  I don't think this is going to be great for IT in general.

Matt West

well I was in the same spot 10 years ago , I had to choose between 2 jobs , one is guaranteed and pay was good.The  other was not even any clear promise that I would have the job but it was my passion.I was very confused at that time what should I do ? Should I go for the easy money or trust in myself and follow my http://passion.It It is hard ...I know I have been there before but you know what really made it quit obvious for me?  that I should not follow the money and stay the course of following my passion. I looked back at most of the people I know in my life.And at that time I found something very interesting those who care much only about the money does not have much money , in fact they always complain about how hard life is , and they are not making as much money compared to other people we know , and when I asked for their advise they said I definitely should go for the guaranteed job. It did not feel right and I could not go for it I made my mind I will go for other job and trust in my compitance. It was not easy but I loved it . By doing what you ?love what your passionate about ?you get this inner peace and high level of satisfaction that is a reward worth fighting for , you do not care much about how others are doing better , worst ..you do not care you are running your own race.Last year , I read a blog post on FB , it was about a  guy who gave up his dreams for marriage and kids it changed him .he is not the same enthusiastic young man he used to be .his wife cheated on him , his relationship with his son is not good.his advise was do not give up on your dreams for anything it will change and you will not like when you find out and it will be too late then.Fo what is your heart and you will never be sorry Good money is a byproduct of doing great work and you can not achieve great work unless your passionate about it.

Amr Enan

Just Added Q & A:

Find solution

For every problem there is a solution! Proved by Solucija.

  • Got an issue and looking for advice?

  • Ask Solucija to search every corner of the Web for help.

  • Get workable solutions and helpful tips in a moment.

Just ask Solucija about an issue you face and immediately get a list of ready solutions, answers and tips from other Internet users. We always provide the most suitable and complete answer to your question at the top, along with a few good alternatives below.