Pros
• Cultural/team fit is a huge factor in the hiring process, so coworkers are all super friendly and easy to work with • Willing to hire and train junior developers - fresh out of college • One afternoon a month, you get paid professional development time to research/work on projects or technologies that interest you • Decent benefits (Health insurance, 401k with a decent fund selection, match, and no vesting period) • Fairly low stress work environment. Very few deadlines. • Work/life balance is pretty good. You usually work 40 hours a week, with the exception of being on-call (one week every ~2 months). When you're on-call, you might have to put in a few more hours that week.
Cons
• Schedule has zero flexibility. Hours are 8-5, with exactly 1 hour (12-1) for lunch. Very much a "butts in chairs" company. • "Points-based" attendance system. Wake up feeling sick one morning, and decide to use a sick day that MidwayUSA agreed to give you at the beginning of your employment? That's a point against you for an unexcused absence. Your kid comes home sick from school and you need to leave early to take care of him? Another point against you. If you reach a certain number of points, you will be terminated. I understand that habitual absence is an issue, but MidwayUSA should not be penalizing employees for taking PTO. • Working remote is absolutely out of the question. If the roads are icy and you can't make it to work, your only option is to stay home and use a PTO day (and possibly get a point against you for an unexcused absence at the same time). • Open floor plan, in the same area as a call center. The noise from the support reps on the phones can make it hard to concentrate at times. • A lot of new features have to be directly approved by the VP of the department - after the work on them is done. This approval process can take months, during which you have to spend time on a regular basis keeping your feature branch up-to-date with code from the master branch. This is a huge time-waster and can be demoralizing. • No dedicated QA team. Developers test their own code. • Your only possible promotion is to go into management. Otherwise, it's a flat organization with zero upward mobility. • Even when it's 95 degrees outside, you're not allowed to wear shorts to work - even though you interact with approximately zero customers.