tags:

views:

708

answers:

10

I am currently in my first year of college for computer science, and at the end of this month I must make the decision to enter the networking stream or the programming stream. The advantages i've seen with networking are that you usually have work at hand. Network administrators seem to have multiple tasks besides just networking to do (at least the ones i've seen working at my college) such as maintaining installed software, configuring new systems, repairing systems, and general IT work. With programming jobs, how could you maintain your work if the project is complete? is there any way to maintain a programming job if you don't work at somewhere like google/microsoft? because most of the jobs i've seen on sites like workopolis only hire programmers for a few months until the work is done, then you're contracts up and you're out of a job again. With networking, sure sometimes there isn't a problem with the network itself, but there is usually general IT help required in the workplace (which net admins seem to take care of).

So what i'm basically saying is that I really want to go into programming, but for the programmers of SO, are most programming jobs temporary? Is there any way i can seal myself a job with a firm? because the only way i can see maintaining a job with programming is getting a job with a company that is CONSTANTLY developing new software. Not many of those big companies seem within my reach. Am i going to constantly be changing employers in the field? Because i really enjoy it much more than networking but to support a family i will need a steady job.

Thanks SO.

+10  A: 

You will probably find that there is much more activity in software maintenance than there is in developing truly new software. The new software is what makes the headlines, but you never hear about the legions of programmers maintaining existing systems. Maintenance doesn't have to be dull, either - it usually involves things like interfacing with new systems, which means you may still get to play with stuff like SOAP, XML, web technologies, databases, and so on.

I have done both new software development and maintenance work, and I must say the maintenance work is a lot more stable.

As for contract work, usually that's to protect the employer. They don't always want to hire a totally unknown new person permanently, so contract work is often a way to get your foot in the door and work toward a permanent position. The benefit for the employee is that it's easy to move on to something else if your contract is up and you find the work isn't for you.

Greg Hewgill
A: 

If you are really passionate about programming, taking up a job in programming is going to help you in the long term. If you love what you are doing you will become good at it and you will not have problem finding a job to keep you occupied. And of course I would also quote the following from Greg Hewgill:

"As for contract work, usually that's to protect the employer. They don't always want to hire a totally unknown new person permanently, so contract work is often a way to get your foot in the door and work toward a permanent position."

Manoj
+8  A: 

There are plenty of opportunities for stable employment as a programmer.

It's good to consider job stability, but if you love what you do, either of those tracks will certainly afford for a steady career. Make your decision based on what you're most interested in doing.

keparo
+4  A: 

I'm going to answer in a potentially disappointing way, but it's what worked for me: Study what you're most interested in. If you're equally interested in two alternatives, study what you seem to be best at. If that seems like the easy route, take the route that will let you learn more.

There's a pretty good chance that your actual work will have only a little bit to do with your field of study. I was an East Asian Studies major, and spent the first two years after college at Microsoft testing Internet Explorer's German and Japanese versions.

Don't sell yourself short this early; just because working at a "product" company seems far off and unlikely right now doesn't mean that it is. There are also lots of little startup software companies, too, and (I say with experience) they're more interesting than Microsoft. Also, they usually only have a small number of networking geeks, but plenty of developers and testers.

Don't overemphasize stability, yet, either. I spent 7 years at Microsoft when I was fresh out of school, when I least needed that stability. During the last 4 years, I've worked at a couple of startups, and a contract that brought me back to Microsoft. The first startup I did was a contract gig that ended when we shipped the Japanese release I was hired for, and I moved into another opportunity very quickly. Four weeks ago, the startup company I was working for laid off 35% of its staff. Within 2 weeks I was working at another small company, choosing between competing offers. I'm not a rock star, but as long as you're in a technology-driven region, there are lots of opportunities, even in a dim economy. (If you've got startup experience, I think that you'll be even more in demand than if you pick a "safe" company for most of your career).

All jobs are temporary. Some of them are fixed-duration and you'll be ready for the contract to end, and some are "stable" but subject to unexpected changes in the business that you can't control, even at "big" companies. Some seem like a short-term gig when you start out, and 7 years later, you're still there.

JasonTrue
+1  A: 

Most of my jobs have been short-term contracts that stretched into years. IMO many companies initially hire for short terms because the task of evaluating technical employees is difficult and time-consuming, and they don't see any reason to commit long-term to people who may not be any good. I don't entirely think this a wrong attitude on their part.

If you prove yourself capable to your employers you'll be kept around, and eventually you can embed yourself so thoroughly in the processes that you can't be removed without surgery.

MusiGenesis
+4  A: 

The bottom line:

If you don't like what you do, your work will lose quality and you'll get fired.

If you love what you do, you'll be invaluable to a company you work for. Good programmers can usually make a company much more than the cost to hire them. Even if you get fired from one job, a good programmer should have no trouble keeping work at 90% of the places they get hired. If anything, your employer will try as hard as possible to keep you on staff.

mweiss
I could see myself enjoying either programming or networking professionally. I think they're really pretty similar in the grand scheme of things
Jiaaro
A: 

The secret is to always keep moving. If you are contributing, making a difference, getting things done, you will always have opportunity. If you slow down, look for stasis, expecting security with one company, watch out. It's an illusion.

The best programmers always have jobs because their skills are in demand.

markn
A: 

If you truly like what you do, you'll provide good workmanship. If you provide good workmanship, you'll always be able to find a job. You're going to be doing this stuff day in and day out... so choose what makes you happy.

Giovanni Galbo
+2  A: 

There are a few different ways I could see getting a stable job developing software:

  1. Software company - This is where the company sells software which would include Microsoft and Oracle as the big companies. This can be a bit of a challenge at times since those top name companies can be selective about which people it thinks are the rock stars to try to recruit and get to come over. There are also the types of companies that do Software as a Service or Application Service Providers that can be where one is building new software as features are requested and bugs have to be fixed.

  2. Consulting positions - This is where you'd go from project to project but still be within the same company. It could be configuring SAP or Oracle installations for example but the projects can be long and if the company has a good reputation it may have a backlog of work to do.

  3. IS department - This is where I work now and have worked in the past for a couple dot-coms. For me this has the joy of handling upgrading various systems and someone else doing the planning while I just go from project to project where within one company there can be enough different systems that one can stay and just bounce around a bit as once a new ERP is put in it may be time for a new CRM or CMS. There is also possible support and maintenance work if the company is small as developers can also be asked to be technical support or system administrators helping to run the company at times. This could be in big companies as well like banks as most companies have some form of IT department unless it has been outsourced to another company.

If there is a big career fair in your area it may be worthwhile to go and see which kinds of jobs the companies there are looking to fill. I know in my area there are many Oil & Gas companies that hire IT workers to help with various challenges that those companies face in terms of deciding how fast to try to do some project or which projects are worth doing and how to handle the finances as oil prices have been somewhat chaotic over the past couple of years. You are near Toronto that is the headquarters of many Canadian banks along with various other Canadian firms so there are non-tech companies that may hire developers for customizing various apps the company uses.

JB King
A: 

Everywhere I've worked, there's been more work to do than time to do it in. Software projects are never quite finished, and even if they were there's more coming in.

It sounds like you've been looking at contract arrangements, and they do tend to be temporary. Many places will hire contractors for special projects. This isn't necessarily a problem, because there's always more companies wanting to get a contractor to do such and such. As a full-time employee, I've never had nothing worth doing.

Bear in mind that there are very, very few really secure jobs. Tenured professors as long as the college or university doesn't go bankrupt. Civil servant unless the job is abolished. I worked for one company once, and was a very good fit, producing world-class software, and then company management had problems, revenues went down, and I was out the door. Keep your skills and your attitude up, because your ultimate employment security lies with what you can do and get hired for, not a particular job.

David Thornley