Upper management does not have a good understanding of technology and software development in particular, thus not really able or willing to fully commit to the related long-term investments.
Too formalized performance evaluation process, probably in an attempt to make it accurate and unbiased, even at the cost of depriving it of the real substance.
Being a large and not-so-attractive company anymore, the quality of employees can sometimes make collaboration more challenging and inefficient.
Project planning and task scheduling can make one feel just as a relatively expensive piece of equipment that needs to be "optimally" deployed. Immediate managers do not pay enough attention to the individual needs and strengths. Further on, the excessive movement from one software task/module to another sometimes leaves no one directly in charge of the software quality and its conceptual/architectural integrity, and can make developers feel too distanced from the results of their work, and consequently less passionate and responsible for the future of that software.
The actual software development process is too much controlled by project managers, with a tendency to micromanage and put a premium on hitting sometimes arbitrary and/or inconsequential deadlines over engineering concerns.
Very feature-centric and fragmented software development, with insufficient attention to the inherent software development issues, and lacking the adequate processes and resources for general software improvements – from simple refactoring to infrastructure upgrades.
Being empowered as an individual contributor is a mixed blessing. Sometimes there are too many "distractions" from getting the most important things done, and a lack of support from a software manager with enough clout, will, and attention to step in and argue for your side when really needed.
Some of the cons mentioned contribute to the insufficient software quality, making the software hard to fix, maintain, and evolve, with too much time spent on dealing with production issues. This often leads to a vicious cycle of not having enough time to spend on vital improvements and technology upgrades.
Lower management, although technically competent, mostly lacks the clout and/or backbone to make significant changes to the prevailing software development culture.
In spite of opportunities to work on some interesting things, the cons mentioned make the job of a software developer less satisfying and impede professional growth as well.
Horrible experience, no streamlined process, unprofessionalism. I was contacted by a recruiter after an initial call. The recruiter didn't contact me for three weeks. I was then contacted by a hiring manager, and one telephonic screening round was s
The interview consisted of two phone interviews. The first was technical, with some questions on database and Java. The second was about experience and behavioral.
I was given a USB drive containing three programming questions. I had 30 minutes to complete as much as I could. The questions were also available on paper, but there weren't enough for all the interviewees. Afterward, I took the USB drive with my
Horrible experience, no streamlined process, unprofessionalism. I was contacted by a recruiter after an initial call. The recruiter didn't contact me for three weeks. I was then contacted by a hiring manager, and one telephonic screening round was s
The interview consisted of two phone interviews. The first was technical, with some questions on database and Java. The second was about experience and behavioral.
I was given a USB drive containing three programming questions. I had 30 minutes to complete as much as I could. The questions were also available on paper, but there weren't enough for all the interviewees. Afterward, I took the USB drive with my