DEV Community

Databases in Coding Schools, Yay or Nay?

Margo McCabe on October 05, 2020

Over the last several months, I’ve been doing qualitative research into the coding school / developer education space. Specifically investigating i...
Collapse
 
joelbonetr profile image
JoelBonetR 🥇 • Edited

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

Collapse
 
margo_hdb profile image
Margo McCabe Harper

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! :)

Collapse
 
joelbonetr profile image
JoelBonetR 🥇

Is it something new? Didn't heard about it till now

Thread Thread
 
margo_hdb profile image
Margo McCabe Harper

HarperDB has been around since 2017, and we released HarperDB Cloud (our DBaaS) about 6 months ago.

Thread Thread
 
joelbonetr profile image
JoelBonetR 🥇

Oh I understand. Do you have driver and API for any language or it works as a service only?

Thread Thread
 
margo_hdb profile image
Margo McCabe Harper

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.

Collapse
 
davidcockerill profile image
DavidCockerill Harper

Databases are an essential layer of the stack and thus should not be forgotten!

Collapse
 
margo_hdb profile image
Margo McCabe Harper

true

Collapse
 
andrewbaisden profile image
Andrew Baisden • Edited

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.

Collapse
 
margo_hdb profile image
Margo McCabe Harper

Agreed - great insight Andrew! Really looking forward to seeing what you built with HarperDB and PostgreSQL.

Collapse
 
richardsprins profile image
Richard S Prins Jr.

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.

Collapse
 
patarapolw profile image
Pacharapol Withayasakpunt • Edited

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 $.)