So it’s pretty clear to me that Oracle is playing for keeps, and playing to own the Enterprise space.
It's not like Oracle's behavior with MySQL and Java is something new for them. Larry Ellison has always been a guy who buys a company, streamlines their processes, figures out a way to squeeze every last cent out of their products and then hires 1,000 new sales reps to sell it to enterprise customers. More than anything, I'm puzzled that it took this long and I'm puzzled that this hits anyone as something unexpected.
I'm actually flirting to move to everything Oracle for my career (seriously). There's a big money and (hopefully) less work for those who know how to use 10% of Oracle's other software aside from their database.
Now I can go home by 5 and have a side project/job on the evening and weekend using Emacs, Ruby, Rails, and jQuery.
Careful. What you say is somewhat true. But that side project/job doing what you really love is going to be increasingly starved for time. You may want to have a family or friends or hike or read or learn to play piano at some point. You'll be stuck with a somewhat non-enjoyable day job where much of the focus is on Oracle's tool stack.
That said, I completely poked my head-up after grad school, saw that there was some demand for skills that started with the "Oracle" adjective, and have found reasonably stable and lucrative work in those spaces.
I've also been able to move to a more open shop, where I've been able to sneak in some RoR and am currently hacking some Lisp to do, of all things, some ETL/data transformation stuff to make my life a little easier.
My bigger issue is that if you position yourself as the Oracle stack expert is that you may windup stuck in that professionally. I laughed when I read it, but I remember PG saying something about never being worried about competitors to Viaweb who advertised for Oracle programmers. It's a bit of an exaggeration, but the hackers I respect the most have been somewhat disappointed in their corporate "big IT" careers.
Thank you for your response and to share your experience as well. Greatly appreciate it. It would be great if I could have some stability in my career and yet still able to work on something else (be it RoR or LISP or something else).
<rant>
I've been working in a few, of what people would call "software product", companies. The one that Joel mentioned a lot in his essay.
First of all, if I were in Silicon Valley, I wouldn't probably even think of Oracle. I would hone my CS skill so bad that I could hack my own compiler. Alas, I don't live there. Even if I do, I have an expiration date stamped on my head: good only for 10 years after graduation. Silicon Valley wants hot-shot, young, energetic, red-bull-drinker, all-nighters type of programmer. So if I can't be a "product manager" or "CTO" or management material by the time I'm 32-35 years old, time to get out from SV.
Product based company tend to be unstable in where I live. I also noticed this trend isn't particular to where I live, it's everywhere else too. When the product is not selling well, lay-off happens. The first to go are usually the QAs.
Once the QAs are gone, the next one to go are the "internal" tools developers: these are the ITs and the tool developers. The last one to go are the junior developers and weak performers. The ones who left must work super hard to prove that their worth of their salary.
Product based company is cool during their first 3 years. After that, it's all maintenance of legacy and hacked-up code. I don't know which one is worse: maintaining half-ass, hacked-up, badly designed product with tight-deadline (that usually leads to OTs) or writing PL/SQL or customizing Oracle modules.
Here's another problem: standards, scrum, xp. These are great things to have in a software product house for quality and longevity of the company. But at the same time, they are a double-edged sword.
Let me explain why: once the standards are in place, most people are replaceable. Take Scrum/XP for example. One of their important points is that we all should share knowledge (via Pair Programming, or something else).
They want to make the unknown to become lesser unknown or to be known. Once it is repeatable and known, you have no value anymore to the company. Intermediate becomes Senior, Junior becomes Intermediate, and you're being let-go and they will start to hire new people.
The choice is either to move up to management or not to do scrum/xp (which is equally horrific). Not doing scrum/xp would lead to bad result, bad quality, unhealthy working environment, and the need of a hero-like effort to fix some bugs.
I have seen my friends keep changing job within 2-3 years. That might be okay with them but not with me. I don't like to waste my time preparing for interviews, cleaning up my resume, every 2-3 years. I don't mind learning and improving myself, but not for the sake of that kind of cycle.
Here's another problem with software development: programming languages. Too freaking many of them. People have too many opinions. Some like LISP, some like Java, some swear by .NET, some would invent a company based on F#, some deal with Struts1/2, some would want PHP/Drupal/Wordpress. This leads to a very fragmented field.
I rarely see a company that is looking for the bare minimum (say, Java, or C#, or Ruby) but with X-years of experience. I often see companies looking for specifics (must know Java, Struts, XML, XQuery, XPath, XSLT with 7 years of experience).
I thought about doing Rails and iPhone for a while until a couple days ago where it hits me that you can actually outsource iPhone app development. Those 2 guys that were being interviewed by Mixergy did exactly that.
I also see a few consulting offers lingering in a local job-board looking for an iPhone/Android developer. But most of them are unstable due to the nature of consulting. I don't think they're willing to pay the premium ($100-$125) anyway.
Some consultants might be able to charge premium during the first few years of a new technology (like iPhone), but they need to find the next big-thing again every 2 years.
The point is this: low entry barrier sucks.
When I look at Oracle, the barrier to enter is a bit higher (or so it seems) than being a developer and not too many people want to do the job. It's a niche. Just like what one of the HN-ers mentioned about how he did quite well with his freelancing/consulting gig (he's doing PHP, Drupal, and Wordpress)
</rant>
So, if I understand you correctly, you'd like a 9-to-5 job where you won't be forced into management and be able to keep your valuable skills to yourself while you work on more interesting things after hours?
I think I am currently in that situation. It's not all it's cracked up to be. First off, your time on nights and weekends is not as long or of the same quality as 9 to 5. You don't have the same energy level or focus.
As for the job, no job is immune to change. If you have skills that are valuable to your employer, you'll find that either your employer will overwhelm you with work and/or they'll seek to have your co-workers gain those skills to distribute the workload. This kind of stuff will make you more and more unhappy with your job and this will surprisingly make it harder to work on your side projects outside of work. If you put all your eggs in one basket by anchoring yourself to the Oracle stack, when you go to look for another job (because you're tired of your current job), prospective employers (and especially recruiters) will see mostly Oracle stuff and you'll be pigeonholed into jobs that are similar to your current job.
Don't make perceived stability the central focus of your job search (unless you have others that depend on you financially). Choose jobs that will serve you better with respect to your career goals. That may mean changing jobs more often than you'd like (but not necessarily so), but you'll get to where you want to be sooner.
I don't mind occasional OT (with compensation). Fact is, in where I live, companies can get away with lots of OT and not compensating them. I don't mind to go to management position late in my career. Not now, but maybe later.
Interesting things can have different means. To me, Google architecture (GFS, BigTable, MapReduce) are all interesting, but I have no desire to learn them for the sake of learning. Rails is interesting in the sense that I'd like to learn it, make a website using it, and take a poke at running a small business.
I'm also interested at the business of iPhone apps. I'd rather pay someone else to write the app than writing it myself. I prefer to focus on the operational side: making sure we have a website with good SEO and graphics design. Promote the iPhone apps and start making money (even with a low profitability margin).
But at the same time, I'm not a big gambler or a risk taker. Steady fixed income and experimental on the side is my sweet spot.
In short, I'd like to be able to run my own side business, be it iPhone apps or selling stuff online. That excites me more vs toying with various programming languages or solving hard algorithm problems. I prefer to talk with people than with machines. I don't mind to do occasional programming cause I like to build stuff. I just don't want them to dominate my whole life. I prefer not to be 40 or 50 and still hacking C, UNIX, Java, C# or Ruby for a living.
I prefer to spend 100% of my time on benefiting from the growing gap left between the Oracles, Microsofts and SAPs on one end and the integrate a bunch of FOSS approach on the other. I think there is room for simple, value for money, intelligent, low maintainance software, even in the enterprise.
its kind of hard to describe, lengthy, and it could just be my own limited experience.
lets just go with this -- typically, when a company makes the decision to go with oracle, they've made it for business/marketing reasons, not technical reasons. and this is probably how they're going to make the majority of the rest of their decisions.
I understand and well aware of that. Having said that, I also often see companies purchase Oracle for technical and business reason. I went and saw myself first hand experience a multi-financial company that opted for Oracle (as opposed to SQL-Server, which they benchmarked) to build their financial system and they are pleased with that.
No argument between TDD, BDD, DDD, C# vs Java, Linux vs Windows, Commercial vs FOSS and all that crap. Just Oracle, PL/SQL, Forms, and Oracle Financial. There's no Java code at all around there. Pure "module" based. Testing is a lot easier vs to test your own "financial" module written in JEE.
I see it as more practical and suits the business well.
Of course if the business requires infinite customization (in the case of that crazy idea called Business Process Redesign), then maybe hiring a team of software developer is better than buying Oracle.
There's some amount of problem solving and planning involved. But not as challenging as to implement the next distributed storage mechanism. I'm probably closer to done for that world. I'm not a research scientist.
I'm looking at the specific area: financial services (not trading, but more traditional than that: transactions, accounting, etc). I'd love to learn about finances more in conjunction with doing IT related work.
This is wishful thinking on your part. I know it's cool to hate on MySQL, but it's too big now for Oracle to kill. It has too large of an installed base, too much mindshare, and too strong of a community to be killed by anything Oracle does.
If Oracle were to stop developing, supporting, and licensing MySQL today it would not stop MySQL. There would still be Percona, Facebook, Google, Monty Program, Drizzle, and a large ecosystem of others supporting, patching, releasing, and blogging about it.
Love it or hate it, it's probably not going anywhere soon.
I don't think so. In my experience, the only folks who pay for MySQL are big conservative companies who must have support contracts, and companies who bundle MySQL with their closed source products.
My gut feeling is that folks who will be directly impacted by Oracle price increases represent a tiny percentage of MySQL users.
I am unfortunately reminded of this every workday. The money spent on licences and inept consultants is obscene. The tools are ancient, the code unreadable, modules grafted on after various other companies were bought. I often get told how much money there is to be made in consulting, and alternatively how one can never learn all of Peoplesoft. As much as the former is comforting, the latter is depressing. I just want to be able to code in emacs for a living...
This is a recurring pattern in history of "enterprise software" (for whatever it means) the fade of technologies and the high-cost of maintainability for those legacy systems. This is a common business model in the software (or hardware) sold to large corporation. Usually the customer wants just something that works for their business and don't always understand the implication on relying on their ancient systems. And by extension, those large corporation just paid (a lot) for maintaining the legacy system up and (somehow) running...
As mentioned in another comment, this is allowing some space for better designed software where the large corporation can't find something versatile enough. The history in software is just a circular loop with a feedback input (where the innovation is coming from other companies or individuals).
Oracle is only playing on the field of legacy systems to maintain. At the end, this is great for start-ups, free software developers or individuals who are innovating. For us, this is a brand new world opens with plenty of opportunities...
You could look at their JVM play and continued MySQL Community Edition development (presuming that happens) as giving them a foothold in the non-legacy fields; there's a lot of fun stuff happening on the JVM these days, and MySQL is still (for better or worse) the default first open source RDBMS that people tend to use for new projects.
Whether they see it that way or not is a completely different matter.
That would be to completely underestimate Oracle. It's not just about databases any more.
They now own two major database platforms, a major software deployment ecosystem, a decent OS or two and a decent hardware platform. You can bet that they'll be integrating and up-selling the rest of the stack like crazy into any customer of any single part of it. It just doesn't make sense to have bought them otherwise.
The comparison shouldn't be with DB2. It should be with IBM.
Oracle is the Borg: Enterprise Software Development Will Be Assimilated
By gherlein, on November 6th, 2010 - No comments
Oracle made some moves this week that look like the opening pawn moves in a master chess game. The end game will have Oracle having a controlling position in every aspect of Enterprise software development.
First of all, Oracle has removed InnoDB from the MySQL Classic Edition. Now, you can still get the GPL community edition that has InnoDB in it. But if you want support, you’ll have to buy their version. Oh, and they just raised the price on that. I’m not sure if they require it or not, but if you use Linux Oracle prefers that you run their software on THEIR version of Linux – a customized Red Hat. This week they also released plans for the JVM that will include a free version and a premium paid version. Oh, and if you want some new hardware that will really make it all work well together, they can sell you that too (they bought Sun, remember?).
So it’s pretty clear to me that Oracle is playing for keeps, and playing to own the Enterprise space. Want to use a database? Buy Oracle, or use MySQL… but if you want support, you pay them. Then you pay them for Linux. Then license the JVM. Then license the app server (they bought BEA last year, so WebLogic is all theirs now too). Want to code in Java? Well, they own that too. Business folks call this “owning the vertical.”
Watch for them to take even more steps to make sure that they have control points around as many places they can. Nearly all software that gets written is business application software. Clearly Oracle has been embedded firmly there for a long time – but these moves are enveloping and will sink hooks into so many more places. I predict that when Google and Oracle settle – and they will eventually, since the cost to litigate a huge patent battle does no good for either party – that Oracle will get some hooks into mobile as well. Maybe some email integration, or provisioning, or something deep and fundamental.
So watch out, stay alert, and think about your tools. Or you too will be assimilated.
It's not like Oracle's behavior with MySQL and Java is something new for them. Larry Ellison has always been a guy who buys a company, streamlines their processes, figures out a way to squeeze every last cent out of their products and then hires 1,000 new sales reps to sell it to enterprise customers. More than anything, I'm puzzled that it took this long and I'm puzzled that this hits anyone as something unexpected.