Hacker News new | ask | show | jobs
by fiveo 5706 days ago
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.

I'll be set for the next 10 years!

3 comments

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.
If I could lead an internal project with the said solution, I'll go for it. I'm a FOSS lover.

Keep in mind that not all internal projects require a custom write from scratch solution. Some would do fine with customizing Oracle modules.

for what its worth, i work with oracle for my career and do the side project/job in the evenings.

it sucks.

Would you mind to explain further? What kind of Oracle tasks you do on day to day base?

The reason I asked this is because I've been in a few software product shop and they all unstable. I guess I'm on the other side of the bridge.

But thank you for the warning though. I should explore further before I make the leap.

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.

again, its tough to explain. but, i mean, i don't know much about your situation. it may well be an upgrade. i dunno.

if you're fine with sitting down and grinding things out, not really solving problems, do what you're told, etc, then, its not bad.

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.