- Don't believe a word the President says. Promised when opening the India office that we would never shift jobs from Abq HQ to the India office. One year later, hiring in ABQ was frozen, but continued hiring in India. Several years later, Abq developers laid off and more hiring for the India team. Now India development team is 3x the size of Abq team which continues to dwindle.
- President is not an engineer and so the company is missing the engineering centric / driven culture. As a result, some very poor decision making from the top level streams downward. As an example, he wants to use the product (built for asset management) to manage the SDLC (which is was not designed to do and is not streamlined for) instead of using a product designed / streamlined for managing SDLC (like most other legitimate dev companies). This results in massive inefficiencies / time wasted. Just one of the many inhibitors to your success coming from the top level that affect the overall environment. As an engineer, you will see many things that inhibit you from proceeding efficiently, but can't do anything about it due to higher ups not being engineering minded and being stuck in their old ways.
- Poor overall hierarchy at the top level. Upper management roles are not clearly defined. This results in a lot of infighting among upper management for control of resources and a lack of focus for effectively using developers. For example, different directors (or equiv role) are over different customers and fight with each other to get resources for their project(s). Most decisions go through one person - which results in mid to upper management playing politics against other mid-upper managers to vie for their interest and favorability with the blocker.
- Ancient technology. Main product is a desktop application built using Swing. Swing hasn't seen an update to it in almost 10 years now.
- Very poor planning. Constantly shifting developers around to different "teams" / projects. Lots of overtime due to terrible planning.
- At times, constant panic mode due to impossible promises to customer, poor planning, and poor / inefficient processes. If you meet your objectives, then new ones are given to continue to force overtime from you.
- The company values delivering bug ridden, shoddy, poor products NOW over quality products LATER. As a result you will be pressured to write hacky code to get it done. "Don't care how it's done as long as it's done." Maintenance continues to be a nightmare.
- India development team carries the same mantra - quality is not important. Up to ABQ team to fix problems (unofficially), often without recognition or thanks.
- Behind the times considerably. Does not believe in CI (Continuous Integration) despite many developers asking for it. Does not believe in unit testing. They will say "ah yes we do!" But is there a CI server? Nope. How much of the code is unit tested? Less than 1%.