Hacker News new | ask | show | jobs
by exikyut 2849 days ago
Does improving query optimizers or other internal stages sound interesting? If you've been a DBA for 10 years then you're going to know a few things about the way databases work internally, even if you specifically only have experience with say SQL Server or Oracle.

You could very probably pivot around into database development/maintenance and the transition (including the job-hunt bit) may be less bumpy than you expect.

The process of figuring out if this is a worthwhile idea might also be able to squash the loneliness bit: go tinker on open-source database systems for a while, in your spare time.

I've heard Redis is very clean C code and very easy to hack on, so that might be an interesting starting point. On the other hand Redis isn't quite SQL, it's a key/value store, so perhaps it wouldn't be a good fit.

MySQL and PostgreSQL are so part of the furniture one's initial thought on poking those might be "why would I even dive in", which is totally valid if nothing's on fire and there are no critical money-eating bugs or whatever. But the chances are a decade's DBA experience might come in handy.

I've no idea what languages you know, how much experience you have with what, and (most importantly) what random technical things will leap out at you as especially interesting when you see them.

1 comments

> Does improving query optimizers or other internal stages sound interesting? If you've been a DBA for 10 years then you're going to know a few things about the way databases work internally, even if you specifically only have experience with say SQL Server or Oracle.

> You could very probably pivot around into database development/maintenance and the transition (including the job-hunt bit) may be less bumpy than you expect.

Yes, that's totally doable in the PG world. Send a few small patches, proof that you can work with the community, and you'll likely start to get job offers. You won't get close 100% open source work immediately, of course, but there's several places that hire where you can have growth potential.

Hey, guys, thanks for answers. Didn't think anyone would even notice my comment! I really like the idea of helping the community even for free. The problem here is I have no idea how to start. For me to dig deeper (and I am working with Oracle on a daily basis) the problem has to occure and be repetable, so how can I get into fixing problems if I am not even using PG? I could, probably, install it on my PC/notebook, but it won't be a production use, so I probably won't face any problems.. It's always been a puzzle for me: how do people start with open source projects.
Ah, this is why I scroll through my threads view repeatedly...

Well, putting fires out is one thing, but that's not everything.

It sounds like you've basically dug a hole inside Oracle and lived in it for 10 years. That certainly works, but as you've found, can be very insular. So, spinning up a different database, or even databases plural, so you can learn difference between Oracle and what else is out there, would generally be a good idea.

Understanding how to set up a new database installation and tune it would also be good. If the above point refers to having a broad understanding of different systems, this point covers having some level of depth with each system, particularly configuration. (The thing that popped into my head was the possibility that... maybe... one day you'd get the opportunity to go "actually, I know of a faster way to solve this database problem - if we use this free database over here types for 4 seconds and suddenly a new PG installation is running we can just import the data types for 2 more seconds and the data is imported and then writes query on first try in 8 seconds get the result we need." "...Can you move this off your laptop?" "Sure! :D"

Okay, I have no idea if the above would ever happen where you currently are :) but it's of course a good idea to be confident with configuration, setup, optimization, how things can fall apart and explode, etc.

One idea: when confronted with a real-world issue, if you're in an environment that will let you clip out bits of production data and play with them on your own machine for testing, it might be useful/interesting to figure out how to solve a given problem on multiple databases. (Translation: if you follow the path you're on, it's possible you'll be using something other than Oracle. You could use your current prod data as homework on "but how do I do X for Y DB?", and save the boredom of using synthetic lorem ipsum. You might find certain databases work faster for certain queries than Oracle does, which wouldn't surprise me at all.)

To get at the question you asked - figuring out how to get started - this is very context-specific and not something I can effectively answer; IRC could be a good starting point: I found https://www.postgresql.org/community/irc/, and also https://postgres-slack.herokuapp.com/.

Also, on https://www.postgresql.org/community/, I found the link to the https://www.postgresql.org/list/pgsql-jobs/ mailinglist; this is basically a "Who is hiring?" specifically for PG-related stuff. This immediately makes me wonder: what should someone who's stared at Oracle for 10 years focus on with PG, so they could competently pick something up from here and run with it? (Might be a question for IRC, Slack or the mailinglists.)

Thanks very much for mentioning that you are in Russia in a previous comment :) this gave me more bits of entropy to throw at Google and found some potentially interesting results.

First is https://www.postgresql.org/message-id/CANNMO++6tPiwBv2OKcy-H..., which suggests that Oracle is losing its ground there, with people switching to alternatives like PG.

Indeed Yandex switched recently, and it hit the front page of HN: https://news.ycombinator.com/item?id=12489055

So... this brought up a new idea that could be very interesting: you could specialize in Oracle-to-PostgreSQL migrations! This may well be a very worthwhile investment of time; large installations that need Everything And Especially All The Details® to Just Work And Simply Never Ever Fall Over™ are naturally going to be more than happy throwing you piles of money. I imagine that even in an assistant or entry-level position (being pragmatic; no insult intended) the associated portions allocated to you from said piles of money may still be appreciable. (Something I think about a lot is "where does everything scale so much it leaks tons of money?" :D)

Other resources that may be relevant:

http://postgresql.ru.net/

https://www.meetup.com/postgresqlrussia/

https://www.meetup.com/postgresqlrussia/events/past/

NB, the Russian link at https://www.postgresql.org/community/international/ is broken and appears to have been made redundant by the meetup links above.