Pros
I loved the work I did as a software developer. I got to work closely with fellow programmers, scientists, and research associates in the department. I greatly improved my R programming skills and learned a lot about PCR. Also, the benefits were fair.
Cons
Unfortunately, there were several cons that far outweighed the pros. Here are some of those-- Our team manager did not communicate priorities to us, delegate work, or have the competence to lead a team of programmers. They also had a severe lack of work output, and they blamed me and my team members for bad decisions that they made. All of these things led to my team being viewed negatively by the rest of the company. Our team manager and the department manager made decisions directly affecting the team without our input, such as hiring new employees that we did not feel were qualified for the job. The department manager was extremely unprofessional. They took me into a room with them one day to yell at me and call me names because I didn't give them enough eye contact in a meeting. After speaking with others in my department and the HR department, I learned this was not abnormal behavior for the department manager, and no one was surprised by the encounter. The work environment was casual, to a fault. Rules that should be enforced at any workplace, such as not using vulgar language and not discussing religion or politics, were ignored, even after I spoke with the HR department about it. There were no options for growth. I couldn't even change my title from "Assistant" to "Software Developer" or something similar, even though I was never an assistant to anyone. Even when another "Assistant" was hired and I helped train them, my title did not change. Titles are based purely on education, not experience, and no one can achieve a higher position in the department without getting a PhD.