Over the last several months, I’ve been doing qualitative research into the coding school / developer education space. Specifically investigating i...
For further actions, you may consider blocking this person and/or reporting abuse
It's necessary to learn database types and try at least one of each.
Back those days I learned MySQL and SQL Server, on an era where you could connect a Microsoft Access DB to a web monolith to sync local changes with remote changes because it was a trend and an easy way to go to deal local software (DB Forms and views) plus online tools such e-commerce and so.
Nowadays that workaround is forbidden for obvious reasons and you need to know at least a relational database such MySQL/MariaDB and maybe some about mongo and Postgre, knowing a bit that three options while deep learning one of them lets you work with any of the existing on the market.
Neither it's necessary to be those three exactly, you can pick up another one of each type of course.
BTW and answering the title you need to know about databases for many reasons, one of them being the need of having one on the 99,99% of the projects and the second one being the knowing about data storage and implications it has when developing software. When you learn about your language and the database it's used on your project you can code things efficiently.
Also the major part of us are full stack but specialized on either back or front end (I think there are no senior devs uncapable to code a web app using back and front + DB + server config combined) so sometimes you'll need to throw a query directly into production DB to fix something, or perform queries to get data or aggregated data to get some BI related stuff at business level on a manner or another.
I'm supposed to be in front end but I solve database related tasks almost every day and I put my hands on back end development several times a year, and it's like this since I started coding professionally so I would say it's a must
Thanks for sharing Joel, this is very insightful. I like your point about knowing just a couple of the database options out there, while having a deeper understanding of at least one, will set you up to work with any of the existing DB's on the market. If you ever end up checking out HarperDB, we'd love to hear your thoughts! :)
Is it something new? Didn't heard about it till now
HarperDB has been around since 2017, and we released HarperDB Cloud (our DBaaS) about 6 months ago.
Oh I understand. Do you have driver and API for any language or it works as a service only?
Yes we have a REST API so we are language agnostic, and we have traditional drivers and interfaces. We have example code in the Management Studio available in most languages.
Databases are an essential layer of the stack and thus should not be forgotten!
I think databases should be taught because when you start to learn them you will realise that they are not that hard to learn. When people keep them outside of a curriculum they give off the impression that it's a technical subject to understand.
I used HarperDB and PostgreSQL to create an app recently posting the tutorial later.
Agreed - great insight Andrew! Really looking forward to seeing what you built with HarperDB and PostgreSQL.
At Lambda I truly learned the full stack, not necessarily just in the curriculum, but we got a thorough breakdown of the fundamentals and then had a chance to out that to the test with sprint challenges qeekly as well as build weeks at the end of each unit that a team worked on, that team consisted of one student from each unit together to use their skills they've learned to that point to build a full stack app, and that in itself is truly rewarding. I learned both PostgreSQL/SQLite and MongoDB/mongoose for various projects depending on its needs.
The only thing that keep me using SQLite, is that it is the only decent embedded database with bindings in most languages.
It seems that embedded database development isn't really cared about, compared to an explicit web server.
Also, I am worried that HarperDB still couldn't provide the security of prepared statement... (Actually, MongoDB also has this problem as well, when strings start with
$.)