I am Mark Porter, CTO at MongoDB. I love Tech, and especially delighting people with databases. I also used to work at Oracle, NASA, Amazon, and Grab. AMA.
Hi Reddit, I'm Mark Porter.
After I joined MongoDB in July 2020, people have often asked me "Aren’t you one of the SQL folks? Why would one of you join MongoDB?"
For me, since I started programming before I was a teenager, it was always about technical puzzles. Then when I got into business, it became about delighting customers; SQL and relational tech were just a means to that end. Databases are indeed amazing because of the promises they make around data in terms of consistency, ease of use, and durability that they make. A couple years ago, I sat with one of my old relational friends, before MongoDB was even a gleam in my eye, and we decided that 30+ years into our careers, databases were still hard to use by operators and developers, but especially developers (though cloud has made operations a lot easier). They were also still unpredictable and didn’t defend themselves against misuse. Not only that, but scalability and distribution were bolted on as afterthoughts rather than core elements of the product - making scaling either difficult or impractical - and always brittle.
In fact, my biggest frustration during the Amazon Aurora PostgreSQL project was how hemmed in we were. We had SQL constraining us on the top, with ORMs on top of that - leaving it hard to use and no real way to fix that. Who wants to embed obtuse SQL in their code? The PostgreSQL community (while amazing and inspiring), further constrained us by not letting us change scale out, transactions, or anything else of substance. Compatibility was sacrosanct. Not only that, but the PostgreSQL community typically takes 2-3 years to accept any architectural changes into the code base, and every one is a negotiation. So at Amazon, for Aurora (both for MySQL and PostgreSQL), all we could really do was innovate on the storage layer - mostly because it was just so very broken and not scalable in the way we envisioned. The marketing saying that "Amazon Aurora is a new database" is not quite true - it's a combination of an amazing distributed, replicated, fast storage system glued onto the bottom of PostgreSQL and into the middle of MySQL.
As I got to know MongoDB, I realized that MongoDB has very few constraints. We are the stewards of the language interfaces so that we can merge seamlessly with every language - people program MongoDB and Realm databases using their native data structures, not by programming in a different language within C, Java, Node, Python, etc. We are the custodians of the drivers so we can seamlessly implement failover, scaled reads/writes, and client-side encryption. The server tech is natively built from the ground up to offer scale and distribution - you can run a single MongoDB cluster on all three major cloud providers if you want. You can even run it on your laptop or in your own data center, building you a much better ramp from the data center to the cloud. The final straw was that I saw MongoDB’s vision for a full data platform via our Atlas cloud service. For example, we have integrated search directly into the cloud offering - no additional infra to stand up or manage. And we allow you to federate queries directly across your data lake and MongoDB, transparently, and even to age data into your data lake automatically and still use the same queries.
As a result of all this, I decided that the future of my career was to get back into databases and help build the best data platform for modern applications that I could; the one I’d been envisioning since I was at JPL working on storing science data on a 1MB microVax.
But that's enough for now - I'm excited to be here! Ask me anything!
PS: I have some of our senior engineers on standby in case I cannot handle your deep and detailed queries - I’m still only 6 months in ;).
PPS: Don't be a stranger, follow me and IM me at @MarkLovesTech.
Thanks folks! This has been TERRIFIC. If you'd like me to do another one, please comment, ok? I'm done for right now, but me and my colleagues (who have been heroic with their help, and yes you know who you are, Naomi, Asya, Sebastian, Ben, etc!) will come back and answer all your questions later. And remember, you can always get me on u/MarkLovesTech or on Twitter at @ MarkLovesTech
Have a GREAT day and a wonderful weekend :-)