A lot of people here complain about how much Oracle’s software (including cloud) s---s. I’d like to offer a developer’s perspective. I worked for Oracle for 8 years (by acquisition). I left last year. Here is my rant about Oracle software development.
Requirements change constantly. Important projects are reviewed by TK every 2 weeks, and he often changes his mind every (or almost every) time. It is common to have 180 degree reversal of previous decisions. On my last project (for OPC), we threw away 3 months of coding because of a requirement change. On a previous project it took us 2 years to deliver because we started over 3 times. We never delivered all the features either. This is bad not only because it delays releases, it also crushes morale. Why work hard when there’s a good chance you’re going to throw it away?
The deadlines are impossible. If you give people a challenging deadline, they usually step up. If you give them an impossible deadline, they give up. As a developer, you are asked to give estimates but those estimates are always ignored. The schedule is set based on wishful thinking not any realistic assessment of the work required. Again, this crushes morale.
The project teams are spread across the world. The work almost never splits up into neatly divisible lines, and you are working with teams in US east, US west, China, Europe, and (always) India. The result is that you spend half your time writing emails and specs and reading others emails and specs to understand how stuff will fit together. It’s incredibly unproductive and frustrating. The thinking seems to be that if there is a developer free any where in the world, assign him or her to the most important project. These global teams mostly produce crap because it is so hard to get everybody on the same page.
The development process and tools are antique. Everything is frozen in the 90s. Whatever the database team did then is the best way to do things for ever. This is slowly starting to change with a slow introduction of agile/SCRUM and git but the rate of change is far too slow.
The hardware/VM support from PDIT is terrible. It’s a constant struggle to get PDIT resources for development and testing. It’s the worst hardware environment of my career, with slow machines and frequent downtime. Even developer laptops are a joke. If you’re very lucky, you’ll get a MacBook Pro, but not a top of the line one. All the software companies I worked at before Oracle gave developers the best hardware available because it speeds them up. Even if it improves productivity a little bit, it’s worth it. However, Oracle is always focussed on cost savings not productivity.
Your opinion as a developer is unwanted and discouraged. If you have any feedback on features or ideas for new things, nobody will listen. In fact, you will be told to shut up and do what you’re told. The message is that developers are overpriced typists with no ability to think independently. This is also bad for morale.
QA is a broken organization (needs a separate rant). Testing is not well done and does not improve quality.
Support is a broken organization. The result is developers constantly get dragged in to deal with furious customers. Half the time the customer has been promised something the product can’t do and you have to be the bad guy and explain that. The support interruptions can be frequent and disrupt the schedule.
Total compensation is not competitive. If you are ranked highly, you will get decent raises and your salary will be competitive, but your bonuses and stock will not. When I told my non-Oracle developer friends my bonus numbers they were astonished. Every person I knew outside of Oracle was getting 3 - 10 times the Oracle bonus amounts. If you are not ranked highly, you will not get raises, bonuses, or stock except rarely. This is not good for morale, especially because there are plenty of good developers who are not getting raises. It is also bad for morale when you find out that the people hired from AWS make 3 times what you make.
In summary, it is a miracle that Oracle ever ships any software, crap or not.