(Not logged on) | Register | Log On

You can subscribe to this discussion group using an RSS feed reader. The Joel on Software Discussion Group (CLOSED)

A place to discuss Joel on Software. Now closed.

This community works best when people use their real names. Please register for a free account.

Other Groups:
Joel on Software
Business of Software
Design of Software (CLOSED)
.NET Questions (CLOSED)
TechInterview.org
CityDesk
FogBugz
Fog Creek Copilot


The Old Forum


Your hosts:
Albert D. Kallal
Li-Fan Chen
Stephen Jones

Working at a software company vs non-software

Having only worked at software companies where almost the entire staff are software people, I am left wondering what it's like for us programmers to work in a non-software company. I have decided that for my next job I will try to get a position in a small IT department of a non-software company.

I would like to compare the two types of jobs, but since I have only experienced one side please correct me if I make any wrong assumptions.


The benefits of working at a software company are:

-Your managers are usually former programmers, therefore knowledgeable about what you're doing (I guess this is more a con than a pro if you're lazy and want your manager to know nothing about software so you can goof off, but that's not the case with me on most days).
-The work tends to be more interesting.
-The job is generally more stable, ie lay-offs/downsizing are more likely to affect an IT dept in a non-software company.
-The environment in a software company is generally more relaxed than most other companies, eg don't have to dress up, flexible hours, etc.
-Your coworkers tend to be pretty smart, not something you can claim about the average employee at most other types of companies.
-Greater chance for promotion.


The benefits of working at a non-software company are:

-The majority of people around you are not software people. Some people may not regard this as a benefit, but I am sick of programmer nerds by now and would like to interact with other types of people.
-More girls!
-Your coworkers (outside of the IT dept) can't criticize your work since they don't understand it (eg "that algorithm is inefficient, you should've done such and such instead").


What does everyone think? What types of companies have IT departments that are good to work for? Banks? Hospitals? Law firms? I need more ideas of places to apply to.
Bradley
Friday, September 26, 2008
 
 
You're a cost centre to be reduced as much as possible, we reduced cleaning costs by 20% last year, why can't we do the same for IT?

You will fix every stuck printer, manager's mobile phone and secretary who can't work excel.
Martin Send private email
Friday, September 26, 2008
 
 
I am in the "work for a software company if you can" camp. I currently work for a non-software company.

The difference to me, is the level of vesting and interest you have in the company's business and their success.  I'm just not interested enough in insurance or finance to make a career out of it. 

A nice medium is to be a developer at a software company which develops products for IT verticals, i.e. a company that makes software that is sold to finance or insurance companies.

The final caveat - IT shops are doing less and less applications development in-house and I don't see that slowing down, stopping, or reversing.  To me the lucrative and interesting work in corporate IT is more around data, database, business processes and integration of COTS enterprise software.
Sassy Send private email
Friday, September 26, 2008
 
 
Biggest problem with non-software companies is you aren't their core business and are treated as such. You're a cost center to be kept at the lowest possible expense with the highest rate of return. Not something they want to put investment into.

Your managers are typically non-technical and won't appreciate your attempts to improve the development environment unless it pays immediate dividends. As in that day.

Obviously it differs from company to company. I've known of insurance companies and banks that had the best run dev shops around. And I've seen some software companies run by morons.
Mark Hoffman Send private email
Friday, September 26, 2008
 
 
The main problem of working for anyone who does not have experience with software development is that they won't understand anything about the software development process. Anything you tell them sounds to them like a bunch of gibberish, double talk, or childish avoidance of real work.

They won't understand "technical debt", maintenance costs, learning curves, integration effort, and they won't understand anything about any of the risk factors that are associated with software development. As mentioned, end user managers will usually not agree to anything that doesn't sound like it has immediate payback.

Software development is extremely difficult to "bottom line" for non technical types, but they will always expect bottom line answers.

You're in for a really brutal readjustment, unless your new bosses think that you're absolutely golden and they trust you enough to leave you alone. Or unless you can educate your new bosses. The most common "role" for a software developer working for end users is to always be on the defensive about your level of effort and your objectives.
Bored Bystander Send private email
Friday, September 26, 2008
 
 
> -The majority of people around you are not software
> people. Some people may not regard this as a benefit,
> but I am sick of programmer nerds by now and would
> like to interact with other types of people.

What? If you work in IT, you'll be dealing with the same kind of people you're dealing with now. Not everyone in IT gets to work with people from other departments. Even if you do, they'll be sitting somewhere else, and you'll still be surrounded by IT people.

> -More girls!

Conversations will cease one you finish fixing their computer.

> -Your coworkers (outside of the IT dept) can't
> criticize your work since they don't understand it
> (eg "that algorithm is inefficient, you should've
> done such and such instead").

By the same token: "That was simple. What took you so long?"

In conclusion: Don't do it. It's a downgrade to second-class citizen. If you're tired of nerds, get into another field.
what's my name again
Friday, September 26, 2008
 
 
-Your coworkers (outside of the IT dept) can't criticize your work since they don't understand it (eg "that algorithm is inefficient, you should've done such and such instead").

After the hour conversation trying to explain to your boss the difference between an array of floating point numbers and the string representation of them ("so in the array, is the delimiter a space or a tab?"), you may miss this.  And it's bolox that they can't criticize it; plenty of people criticize things they don't understand.  What they can't do is give you useful criticism.

The plus of working for a non-software company is your customer is down the hall and you can interact with them, rather than with the marketing department.

The minus is you're a second class citizen, and will never be fully appreciated.

The other minus is that your career path is limited (if that's the kind of thing you worry about).  If you go work for a bank as a programmer, there's no way you will ever make it to CEO of the bank; you'll max out after 1-2 promotions.  Conversely, plenty of software companies are run by former programmers.
Grumpy Send private email
Saturday, September 27, 2008
 
 
"The plus of working for a non-software company is your customer is down the hall and you can interact with them, rather than with the marketing department."

Not necessarily. My customers are at two different sites to the one where I work.
John Topley Send private email
Saturday, September 27, 2008
 
 
Bradley, you are in for a rude shock. When you move to an IT department, you become part of a group seen as necessary but boring, staffed by losers. People in other departments, including the girls, have no more interest in you than in someone from accounts or cleaning.

The managements of those other departments won't understand what your department does, but that won't stop them criticising you every time something goes wrong or you miss a deadline. They will tell jokes about you behind your back.

Saturday, September 27, 2008
 
 
"More girls!"

Oh, sure....

The girls will definitely be lusting after the nerdy programmers not the overpaid middle managers or trendy graphic designers.

I think the friendliness will end the moment their computer is up and running again.
Jimmy Jones
Saturday, September 27, 2008
 
 
I'm going to buck the trend and say that I much prefer non-software companies.  After reading the comments, I think it is important to know your type of personality.  Do you prefer pure programming or would you prefer the business side of your company.  For me, I much prefer the type of business that we do over programming, so working directly for a company is ideal.  I also don't work in the IT department directly, but I do work with highly technical people that value the skills I bring to the table.  If you are good and understand the business, you can save the company hundreds, if not millions, of dollars by avoiding "IT" recommended solutions. 

The downside, you certainly don't have the same opportunity to learn from other developers.  While I do miss this interaction, I'm also happy that I can just get programming done without having trying to impress your co-workers by using some fancy coding styles.
Zib Send private email
Saturday, September 27, 2008
 
 
> The benefits of working at a software company are:
> -Your managers are usually former programmers, therefore
> knowledgeable about what you're doing

Nope.  In a software company, your managers might be former programmers or might not be.  They might be knowledgeable about what you're doing or they might not be.  I even had a manager who was a programmer (not former, he was still actively programming at the time) but didn't understand compilers and insufficiently understood some other stuff.  Whether a manager is a good manager or not is a completely different issue from whether the manager was a former programmer, and both of these are completely different issues from whether the manager is knowledgeable about what you're doing.

By comparison, in a non-software company, the range of possibilities is exactly the same.

> -The work tends to be more interesting.

That's because it's what you find interesting.  Other people might find different things more interesting.

> -The job is generally more stable

Oh that's a relief.  So some customers didn't suddenly decide they'll do some work in-house instead of outsourcing, and other customers didn't decide that they'll outsource to India or China instead of patriotically keeping it in Japan.  Well, guess what.

> -The environment in a software company is generally more
> relaxed than most other companies

When the budget allows for ship-it results in 10 days instead of quality results in 30 days, you find it relaxing?

> flexible hours

9:00 to 20:00 and get paid for 9:00 to 18:00, allowed to flex to 8:00 to 21:00 or 9:00 to 22:00 and still get paid for 9:00 to 18:00 ...  OK, to be pedantic, yes that's flexible.

How did you say you distinguish these characteristics of software houses from these characteristics of non-software houses?
Norman Diamond
Saturday, September 27, 2008
 
 
if you want to get away from IT people, go get a MBA and join the semi-slimy business side of the world.  if you like that sort of thing, more power to you.
mark e Send private email
Saturday, September 27, 2008
 
 
@Girls and developers

Instead of whining, start dressing nicely, build up a nice body at the gym and get some interests outside coding.
quant dev Send private email
Saturday, September 27, 2008
 
 
It really depends on the place.  I work for an inhouse development team at a financial company and it ticks all the boxes for reasons why people say never to do inhouse work for a non-IT company.  However I've seen people on this site be really positive about such roles so i'm willing to believe that some might be ok.

You might not like the non-IT people any more than the "programmer nerds" though.  And don't believe that just because the others won't understand what on earth you're doing they won't criticise your work.  They will and it doesn't need to have any basis in fact (goes along with the not understanding what on earth you're doing).

For meeting girls it might just be an idea to do other stuff outside of work.
Temp
Sunday, September 28, 2008
 
 
It is a bad idea to hit at co-workers anyway.
quant dev Send private email
Sunday, September 28, 2008
 
 
OP, there are no general rules. If you feel like it, you might try it. If the pay is as good as your present one this usually means you won't be fixing computers. Most companies will have other people who do that. Other people have always fixed issues in my computer or the network, never myself, no matter if I was in a software or non-software company. Companies _can_ be organized; in fact, they are usually overstaffed.
Daniel_DL Send private email
Monday, September 29, 2008
 
 
Hey. You can have my job in an IT shop I'm looking for a job in a software company. Like someone else said, you are a cost center. As soon as they can cut you out they will.  If you want to be that smart guy in the building (best developer on campus), no problem. You'll find your workload doubled. Most of the other "developers" will have limited skill sets and limited interest in advancing what they have. My favorite are the ones that moved from the business side of things into development. And estimating time and money to complete a project are 100% politics. Your manager knows how much they'll get for a project but will ask you to estimate anyway. Does this sound bitter?
IT Cog
Tuesday, September 30, 2008
 
 

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics
 
Powered by FogBugz