Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I am a software engineering student and am in the process of making some career choices. I need to understand what the major differences are in the above two scenario. Anyone with experience of both, insight from you would be really helpful. Thanks in advance.

share|improve this question

6 Answers 6

up vote 8 down vote accepted

IT Company

In the IT company, you will probably get a stronger focus on the IT side. Most people there are IT, so you will also find more specialization. Here you will get a strong technical education.

IT Department

Working in the IT department of a company in another industry will have a very strong emphasis on the business side of things. Everything you do will be in support of "the business". Here, you are most likely a "cost center", and you will have to justify your existence. You will most likely find more "jack-of-all-trade" types here, since "the business" tries to save money where it can with reduced staff.

Obviously these are generalizations, but they hold fairly true throughout. Of course there will be exceptions.

Both are very well worth it. Both have their challenges. If I had to start somewhere, I would go with the IT shop. Being technically strong is where a software developer should start his career and stay strong in. He can learn politics and business acumen later once he has mastered his field.

share|improve this answer
    
Being a cost center has it's downsides. But so does being a profit center - e.g. scrutiny of timesheets and demand for explanation of any time that isn't billable hours against a client. –  Carson63000 Jun 12 '11 at 22:21
    
@Carson63000: Good point. Each has its pressures. That's why I didn't say either one was better, just different and with its own merits as far as experience goes. :-) –  Richard DesLonde Jun 12 '11 at 23:20

I am relatively young and thus have only held two jobs post college, however I do have an even 50/50 split of experience in your two scenarios. To put it simply, working in an IT/Web/Tech company you have a better chance of getting treated well.

The reason for this comes down to the fact that the owner and/or manager has a high likelihood of being a tech person or at the very least tech savvy. In the other scenario its more likely that your managers or at the very least your managers' managers will not know anything about technology and development therefore may not value you as much as he or she should.

This is not always true, but it seems to be true more often than not from both my limited experience and other developers experiences. Tech people like and know other tech people and they know the challenges associated with the job, whereas a lot of non-technical people think of us as glorified typists. Again, not always, but more often than not.

share|improve this answer
7  
+1 - Also read the second part of Joel Spolsky's Talk at Yale where he talks about why it sucks to be an "in-house" programmer. Although there are exceptions to every rule, it's pretty much spot on. –  CraigTP Jun 11 '11 at 10:54
1  
You have to remember that whatever Joel says publicly, he is directly or indirectly pimping Fog Creek as the best employer evah. –  quant_dev Jun 12 '11 at 11:32

You should always work in a place where your work directly impacts business -- now you choose wherever or whatever that is. This gives you the required visibility.

It is downright irritating if not demoralizing to explain your impact to your supervisor after a whole year of hard work. Better for them to pick the impact up on their own, and that means a high visibility job.

share|improve this answer

There are many good answers above. I want to add some points from my experience in working in non-IT companies for a long time. The priorities of Business will always come first in a company whose primary product is not IT (product or service). The budget for tools, new process, new technology, training etc. has to justified to painful detail to get it approved at higher level. There will always be a cost pressure, outsourcing tendency, bringing in consultants and valuing them over permanent staff etc. Non IT business traditionally are also very slow to changes and generally risk averse.The bigger the business the bigger these issues will be.
On a bright side if your business is doing good the IT dept will do good as well and bonuses will be paid. Personally I like the variety of work and new projects are always coming. In a large enterprise the business, the competitive and regulatory landscape is always in a flux and project just keep coming. Then there is the complexity of system that runs a business, the system interfaces with external world, the overall architecture and designing a optimal solution that meet the business needs is what I like most.

share|improve this answer

I've spent years and years working in both types of companies, although all of my software company experience has been at smaller vertical market companies, not producing shrink wrapped software.

Software companies give you the option to work exclusively on the software itself, without the interruptions that come from day-to-day business issues. On the downside, if you're doing billable work there's a constant need to track your time and conflicts over whether work is a bug fix or something that should be billed.

Working in the IT department of a company will vary widely depending on the type of company. I've worked for a large bank, and the security controls and procedures can be stifling and I've also worked at a much smaller company where I was involved in defining what the controls could be.

Working in a non-IT business can give the opportunity to do heads-down technical work 9-5 each in the right kind of company, much like at an IT company, but it will depend on the nature of the company.

The biggest plus for working in an IT department in a non-IT company is that you get to see the impact of the work you've done on the business and the people that work in the company directly. You'll also spend a lot of time dealing with business issues: anything from producing ad hoc reports to helping operational departments to re-engineer their procedures.

share|improve this answer

I worked for a small software company while they were doing a Y2K upgrade to their application. It was fun, crazy and I learned a lot. Creating software to use internally is not the same as when you have to distribute it to clients and support. We had limited resources and eventually it was sold off. Odds are a company in another industry will be able to offer more perks (at least money wise) and be more stable. You have to decide what is more important.

IMHO, get an IT job while you're young and have fewer responsibilities. If you can get with a company that is financially stable, you may have to trade off working for owners who are technically minded (and usually know how to treat IT workers) for better corporate benefits.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.