Pros
* Work-life balance is extremely good. I can probably count on 1 hand how many times I was asked to stay late in my 5 years there. * Very relaxed atmosphere. People wear jeans, and as long as they put in their 8 hours and don't miss meetings, they can come and go as they please. If something comes up at home, they don't mind the occasional work from home. Some more senior engineers work from home 1 day a week regularly. * They offer a pension savings plan in addition to the thrift matching 403b plan. * Layoffs in engineering (excluding management) are exceedingly rare. Many people there have been there for 15 years or more. * Because they're a non-profit, they have documented salary ranges for each pay grade and guidelines for merit increases and promotions. The ranges are very broad, but at least you have some insight. * As of 2012ish, all teams are Scrum and not waterfall. It's been a push that had been going on for at least 3 years before that. * For a company of this size and age, they have a surprising amount of new technology (Groovy, Grails, Gradle, Hadoop/HBase, Mule). * They have a cafeteria with discounted food (sold at cost, OCLC pays for profit margin), and a wellness center (besides a gym, they offer classes, coaching, etc). * A significant amount of training is offered when you onboard (especially for new grads). * They don't send everybody every year, but you'll regularly be offered the opportunity to attend professional conferences. * Most employees believe in OCLC's mission, and that they are doing good in the world. For some, this makes the downsides easier to overlook. * They regularly have a 3rd party administer surveys of employee satisfaction. These don't result in sweeping changes, but they aren't ignored either. * They host a fair amount of company events. They've done something for Christmas off and on, every year they do a 4th of July event with a musician and children's activities earlier in the day, employees watch Dublin fireworks from the lawn. Every year, the OSU alumni band visits before the rivalry game. Oh, and they have bring your dog to work day, and bring your son/daughter to work day every year too. * Currently, COJUG meets at the OCLC office, which is very convenient.
Cons
* Pay is somewhat low (but probably not unusual for a non-profit). * While initial training is significant, it seems to drop off later (except when absolutely critical). * Things like TDD, pair programming, allowing time to work in open source are hit or miss depending on your team. The vast majority of the company are what I call 9 to 5 engineers just putting their time in without much passion (though this is slowly improving). But there are some truly exceptional engineers there (and not all of them are the younger ones). If you're on the right team, you can find the work very fulfilling. * You don't really get a say in what project you work on next or the technical direction you'd like to pursue. It's difficult (though not impossible) to move across divisions. These kinds of decisions are rather top-down and bureaucratic. The PDPs you work on with your manager during annual reviews often have little correlation to your professional goals, and are often worded as project goals which usually are changed between reviews anyway. * Because of the culture (which might be in part because it's an older demographic) and size of the organization (over 1000), there can be a lot of red tape in getting things done (this seemed to be particularly the case when you needed something done by another group). * They've struggled for years to knock down information and communication silos between divisions. It's improving, but they aren't there yet. This again isn't unusual for a company of this size. * Some of the engineering practices and technology adoption have been slow to change (varying greatly depending on your team). Upper management has been supportive of people pushing for these changes, but they probably need to more proactive to make those changes.