When people first begin learning Firebase, I suspect there is some fear. Back towards the beginning of January, I was interested in easily adding Google authentication to an existing project that I'd been building. After poking around a bit, I stumbled across Firebase (a platform and technology that'd publicly launched back in 2012!) and despite being a near-decade late to the game, decided to give it a whirl.
(As it turns out, Firebase is SO much more than "authentication-out-of-the-box." But for me, at least, that was the gateway drug.)
However, after a bit more reading, a few sensationally-titled articles quickly caught my eye and struck the fear of God into my heart. Namely:
First: It's important to note-- in both of these cases, the developers were able to work with Google who investigated their cases and ultimately forgave the entirety of their outstanding debts. In Colombia back in 2018, the Google Developers Latam team apparently gave Vaki a "grant" that squared the bill. And for the Milkie Way guys, as a "one-time gesture," Google granted them clemency. (Disclaimer: I am personally not affiliated with Google.) But my personal take: Behind Apple and Microsoft, Google is a $1 trillion tech company. And while $30k or $72k may seem a lot to peons like you and me-- my guess is that if you are in good faith just learning how to program the first time but do accidentally really screw something up, Google will (I believe) likely work with you.
The developer community goodwill Google would lose by nailing hapless developers to the cross who are just beginning to learn how to code would honestly be a penny-wise and a pound-foolish.
To be clear: This obviously doesn't mean to run riot. But winning hearts and minds is what this scene is all about. And so my intuition is that Google will do everything in its power to encourage broad-based adoption and usage of its platform. I don't have an MBA but the logical play here (if I were in Sundar's seat) is to lure as wide a swathe of humanity as possible into the initial funnel. And then once Google has hooked you with authentication, it'll conveniently offer you hosting and storage next. And then cloud functions. And then ML and other tools. To me, that's just all part of the Big G's master plan.
Second: That said, those kind of headlines don't exactly inspire comfort and eagerness for adoption. Especially, for newbies. The tragedy though is, from the week I've spent with Firebase, I think it's amazing, especially if you're just first getting started. Personally, it's my first introduction to NoSQL (again, I know I'm late to the game here but we all start somewhere) and, maybe most importantly-- the documentation for Firebase is spectacular. (In particular, IMHO, Todd Kerpelman deserves a Nobel-Fields-Emmy-Oscar for the Firebase videos he's assembled. "Is a hotdog and sandwich?"). From what I've gleaned so far reading the docs and watching the vids, Firebase simply strikes me as powerful and it gives you tons of rope to hang yourself with. But I think it's worth learning. As Toby once remarked: "People might avoid the third rail. But that's because it's where all the power is."
Anyway, getting to the point: While I'm only a week in (and nine years late to the party), I've decided to embark upon a journey to learn Firebase. As I learn the platform as a complete newbie though, I thought it might also be fun/instructional for me to document my journey here on dev.to. My hope is two-fold:
1) Yes, it'd be neat to share. But also:
2) Being a complete newbie to Firebase, I am concerned I may not "be doing it right" either. So by posting publicly, I'm hoping if I make mistakes, more experienced folks could kindly chime in and correct me/add additional viewpoints on things I may have gotten entirely/partially wrong or missed outright. I don't know if this will work at all. But I figure we've all got to start somewhere. Hopefully, it'll be win-win for everyone.
One final bit of preamble: While I've been coding for a nice long while now-- back in my day-- it was honestly such a lonely experience. I'd always want to build something first and then that motivation propelled me to Google/Stack Overflow specific questions to learn second. ("How to vertically align in CSS?" Etc.) As I've gotten older though, I've become more interested in reading the documentation first to learn a system entirely from cover to cover and then building something second.
Basically: This write-up series will be an exercise in tools looking for a project.
Like anything though, learning is always easiest by doing. And the best way to do that is by embarking to build the most useless and convoluted app ever-- but one that hopefully explores many nooks and crannies of Firebase. If you are interested in this topic at all though, please leave a comment. I'd be curious to see who else is keen on joining the adventure. Here we go!