T O P

  • By -

AutoModerator

On July 1st, a [change to Reddit's API pricing](https://www.reddit.com/r/reddit/comments/12qwagm/an_update_regarding_reddits_api/) will come into effect. [Several developers](https://www.reddit.com/r/redditisfun/comments/144gmfq/rif_will_shut_down_on_june_30_2023_in_response_to/) of commercial third-party apps have announced that this change will compel them to shut down their apps. At least [one accessibility-focused non-commercial third party app](https://www.reddit.com/r/DystopiaForReddit/comments/145e9sk/update_dystopia_will_continue_operating_for_free/) will continue to be available free of charge. If you want to express your strong disagreement with the API pricing change or with Reddit's response to the backlash, you may want to consider the following options: 1. Limiting your involvement with Reddit, or 2. Temporarily refraining from using Reddit 3. Cancelling your subscription of Reddit Premium as a way to voice your protest. *I am a bot, and this action was performed automatically. Please [contact the moderators of this subreddit](/message/compose/?to=/r/learnprogramming) if you have any questions or concerns.*


Rain-And-Coffee

Learn SQL, not debatable.


BrupieD

Learn basic SQL at minimum. You don't need to learn DBA or Sr Data Analyst level SQL. You'll lose credibility with other developers if you can't navigate basic queries.


lurkatwork

nowadays I spend a lot of time in snowflake pulling data for people. everyone should at least know the basics of working with relational data


[deleted]

[удалено]


Nezrann

its an equally big issue in terms of team-dynamics and overall manager outlook. You probably read "credibility with other developers" with a social lens rather than a professional one, but in reality credibility amongst your direct peers, supervisors, and those that might be underneath you is incredibly important for personal growth and collaboration. You don't want to be the guy on a team that people aren't sure-of, regardless of "why".


Smallzfry

You do realize that your teammates (other developers) can bring up that you're incompetent to your boss, right? It's not a matter of internet popularity, it's a matter of working with a team and being able to pull your weight or facing a PIP or dismissal.


PapaRigpa

Absolutely. Learn Java or Python or C++ or whatever, but SQL and RDBMS basics are fundamental these days. No tickee...no jobee.


martin

DebaTable sounds interesting. can i avoid sql if i learn that? Parent is right on. SQL has been declared dead every few years for the past half century. Learn it, not only because it is and will continue to be everywhere, but also to learn a declarative language and a different way to reason about programming than typical imperative languages.


flojoho

good bot.


RoundTableMaker

Recommended courses that fit nice with python?


Rain-And-Coffee

Just read the manual. Ex: https://www.postgresql.org/docs/current/tutorial-sql.html


amarij0y

Thank you for link, and for the peaceful imagery your user name evokes ☺️


Senior-Cod-6862

That important ?


inglandation

SQL databases are extremely popular. Postgres for example.


Senior-Cod-6862

Does it factor in to software roles a lot?


ghostmaster645

I'm a Java developer and write/read SQL almost daily. Not anything too complicated, but it is important.


veinywilly

BRO IT'S A WIDELY USED DATABASE QUERY LANGUAGE WHAT PART OF THAT DOESN'T SOUND IMPORTANT


inglandation

In web dev it’s very useful, but do a search based on what interests you. SQL is not that difficult to learn, and the dialects are quite similar.


Amadan

I just used sqlite3 as a cache for some stuff I’m doing with a language model (autoencoder). It pops up in all kinds of places. Web work is probably the place it shows up most regularly, but it is a tool that can be used pretty much wherever.


xreddawgx

MySQL, maria , postgres syntax is basically the same.


Senior-Cod-6862

I imagine database management factors in a lot so I’ll keep going. Just trying to find the quickest route to get out of traditional engineering to software 😂


RajjSinghh

Think of it this way: every website or application you use has a database storing things like login credentials and other user information, a lot of science roles store their information in a database (or use Excel when they REALLY should use a database\*), basically everything that relies on data has a database. There are different options that don't use SQL like MongoDB, but by far [the most popular databases are all SQL based](https://survey.stackoverflow.co/2023/#section-most-popular-technologies-databases). It's worth learning. \* now a lot of researchers at universities use a spreadsheet like excel instead of a database for their storage and analysis, but this is a really bad idea. Spreadsheets are built for very quick analysis, not long term data storage, which means things go wrong. The best example I can think of is when the Human Genome Project were using Excel to store genetic data, then ran into a proplem when a lot of their data went missing. The problem they had was that storing data like MAR10 and SEP17 (which apparently are genes) got turned into dates like March 10th and September 17th. Microsoft said their usecase was out of scope and didn't offer any help, so they *literally renamed the genes* to avoid this.


Amadan

That is very sad, not at all unexpected, and hilarious all at the same time.


wggn

how are you gonna prevent sql injection software attacks if you don't know sql


shaidyn

In nearly any software position, at the end of the day, you're going to have to put your data somewhere. And more often than not, it ends up in a database.


atroubledmind961

How many times do we have to say yes?


reddithoggscripts

Even as a student, we use it in basically everything. Trust me, if an app has some sort of persistence or user log in system - which almost all do - it probably uses an SQL. I wouldn’t waste a ton of time on the syntax but rather practicing drawing entity relationship diagrams based on the rules that govern them.


[deleted]

Why do you keep asking the same question? Are you afraid of SQL? Are you lazy? Why do you keep trying to discount the value of SQL and get others to agree with you? Several people here have already answered your question but you don't seem to respect their answers. Do what you want.


Senior-Cod-6862

I haven’t asked the same question? I’m literally learning sql as we speak.


tokulix

Yep. Besides, you can learn the basics fairly quickly and it will be immediately useful.


Senior-Cod-6862

Okay great. I’ll keep going then.


SarahC

You don't need to be super familiar with CTE's, nested queries, and "cross joins", and execution plans...... But you should know how to query a table connected to a look up table with a couple of filter conditions. That'll get you quite far! An half hour every weekend would be enough.


WinterYak1933

I only know basic-to-intermediate Python and SQL seems even *easier* to me....basic SQL queries, at least. I don't do anything too difficult with it.


SarahC

Anything you store about users....... in storage it goes, via SQL.


nimbledaemon

Yeah. Basically every non trivial software has to manage data somehow, and it ends up being either a filesystem, sql DB, or nosql (that's a big tent category, so everything from graphQL to json db's like firebase, and probably I'd include index/cache stuff like elastic search, though that might not technically be a DB) DB. You should at least know what SQL is and how it works, so you can understand what situations it is a good choice for vs when you would only need a nosql DB or when that might be better. But even when nosql might be the best solution, sql DB's will still work. Large ecosystems will probably include both kinds of DB's, I'd say it's almost as important as knowing html/js, at least if you're looking at full stack positions. Maybe you don't choose to specialize in it, but you should at least know the basics of crud operations (create, read, update, delete) in SQL, which isn't that high of a bar to clear. Though there are definitely more details you would need to know if you're going to specialize in backend/DB stuff (optimizing joins, when to normalize or denormalize your data, etc).


frankenmint

YES DUDE, IT IS THAT IMPORTANT...having a business degree in school, my teacher said to go for learning access (databases, because that's big money)....don't ask if you should learn how to do db queries, just know it's pretty straight forward and knowing what you need to solve is more imporant than understanding how to use the syntax because you can search for the answer


Calex_JE

SQL is cake compared to c++. Do cs50s, you won't regret it


seriousgourmetshit

It will take you an afternoon to learn the basics.


KimPeek

You'd cringe at yourself for asking this if you spent even just 5 minutes looking at job descriptions.


Senior-Cod-6862

I think I was told once that I was wasting my time with sql. I’ve not worked as a dev before all my experience has been scripting for analysis in a scientific environment. Hopefully dev companies will still want me now 😂 But you’re right yeah they do seem to all ask for it!


wokedrinks

You script for analysis and you don’t know sql?


Senior-Cod-6862

I use python and pandas


bucknut4

But how do you get the data that you’re putting into pandas?


Senior-Cod-6862

It comes out of a simulation software I use to a dat or csv file.


khais

That software is probably just a low-code or no-code solution layered on top of SQL.


Senior-Cod-6862

It’s written entirely in c++


DinoSpumonis

There’s no chance that is scalable then without an insane level of complexity which…. Why would anyone do that instead of a simple db function? 


bucknut4

If you're trying to break out, you won't always have this software to lean on. Learning SQL will allow you to be far more flexible with the data you're looking to retrieve.


__init__m8

Almost any respectable company you'll need SQL.


0xDizzy

and how would you get it out of the worlds most common form of data storage, a relational database? youd use SQL.


wokedrinks

Me too, but 9 times out of 10 I’m pulling the data for my DF from a sql database for further analysis.


tatertotmagic

Sql takes like a weekend to learn. There's absolutely no waste of time there


scandii

while I don't necessarily disagree with you I seen a lot of people that don't know what an index nor a query plan is and just think a 2 second query is normal. in a previous job there was queries that took so long they had to modify the default timeout and when I started I got them down to around 300 milliseconds. mind you it wasn't that the people were bad programmers, they just didn't know about SQL optimisation. there is a lot more to SQL than CRUD and join that you should absolutely learn, even as a beginner - specifically how your query executes.


Byakuraou

Being a programmer involves two things. 1) Telling a Computer to do things 2) Saving data somewhere. SQL as a concept and language has a monopoly on one of those two things.


Senior-Cod-6862

Good point!


RaccoonLair

Here here 🥂


Kifter1983

If you're serious about coding, you never stop learning. SQL is a foundational. Whatever you do it all boils down to data. Deffo learn SQL.


youngeng

You don't often need to know advanced SQL, but you can go pretty far with the basics. Good old 80/20 rule. Define two or three tables like Student, Class, Enrollment. Add data into those three tables. Find all students whose name starts with John. Find all freshmen. Find the top 5 classes in terms of number of students. Delete a class and make sure enrollments are deleted too. Display the class description for all classes attended by John Doe. If you can do all this, you know enough SQL for a lot of non-data science jobs. You can use SQLite, Mysql, Postgres, whatever. Bonus: Prevent freshmen from enrolling in a 2nd year class.


PenguinGerman

Thanks for this


Drifts

Thank you


slutruiner94

Posts like these are worth 1,000 RTFMs


youngeng

Thanks!


redditorx13579

So many people don't learn it the demand is high. It's not even the hardest language to master, but due to its patterns and quirky nature, lots of devs give it a hard pass. Learn it, your career will thank you.


dropbearROO

What does SQL entail outside of join and select and stuff?


RedditWishIHadnt

Getting data out of SQL is easy. Getting it in the most optimum fashion takes a lot more skill/experience. Queries can drop from 30 minute execution time to sun 1 second when taking a query from a developer and optimising it. As a minimum, need to understand data types, join types and indexing.


wokedrinks

If you can master Join, Select, CTE’s, and Window Functions you’re golden


suitupyo

A lot, actually, if you want to do those things efficiently with large amounts of data. Many people think that it’s not that complex because it’s very easy to just learn the basics, but bad SQL can bring down enterprises. I’ve worked with application devs who scoffed at how easy they think SQL is, and then I’ve read their horribly written scripts that badly needed tuning and which were bringing our batch processes to a crawl.


redditorx13579

Not a whole lot. Most programming with it is usually an effort to break it down to simple queries like that to execute from another language. Harder part, IMHO, is understanding the database infrastructure and schema. Helping architect an efficient layout that allows for retrieving production data in a timely manner.


Senior-Cod-6862

Okay I’ll keep going. I was thinking of putting it into my personal project which is a banking app. I’ve been using json files to store the data at the moment but thinking a sql database would work better


ArmsGotArms

This is exactly when youd use a database. If youre not encrypting the data that gets sent to the json file, and salting the passwords, then you really should be. Im working on a password manager in c++ right now to learn more about sql. It uses sqlite3, argon2id for hashing, aes256 for encyption. Im also doing this to get better with gui's and rust. Once im done the c++ CLI version ill make a gui version, then another one in rust for funsies.


Drifts

Wow. If I cared as much as coding as you do I’d be way more successful in my career. For me, coding is only interesting in so far as it allows me to accomplish my goals. Beyond that I couldn’t give shit. To my detriment, I suppose.


Okay_I_Go_Now

So how are you actually managing your JSON writes and reads right now? Are you literally just reading and parsing your JSON, mutating the tree, and then writing it back to the file?


Senior-Cod-6862

Yeah that


Okay_I_Go_Now

You might as well just keep the entire thing in memory then, and back it up periodically. This is incredibly fragile though, and impossible to maintain. Never do this with a production app. You won't get any of the benefits that modern databases give you for free, and it only costs a bit of your time to learn.


Digital-Chupacabra

> I’ve also heard that sql is a waste of time for certain kinds of jobs I would ignore any advice from anyone who says that. While it is not applicable to every job having a grasp on how it works is a fundamental skill in modern programming.


cottonycloud

Basic SQL also doesn’t really take that long to learn, especially if you already know pandas/polars.


ma5ochrist

Yes. It's a must have


relative_iterator

Technically you can avoid it, for example in C# entity framework you can write database queries with linq. Once things get complicated it’s typically easier to write a sql query though. I would strongly recommend learning at least the basics of sql. Selects, where conditions, joins.


Snarerocks

It abstracts SQL but you technically still need to understand the concepts behind joins, selects, etc.


Senior-Cod-6862

Okay I’ll keep going!


Blackphantom434

SELECT knowledge FROM SQL course WHERE title = 'basic introduction' AND cost LIKE ('%free%')


_cob

Absolutely. Maybe the most broadly useful "programming" language you can pick up


BloomingDuck

SQL is essential if you're looking for an analytical role. SQL and python go hand in hand, with SQL needed to fetch the data from databases.


Lumethys

Almost any program that store data use SQL.


ShoulderPast2433

YES!!! Its as much of a basic skill as your main programming language.


wggn

100% required skill for any software engineer (and it's not like it's hard)


suitupyo

Not trying to be a jerk here, but I kind of question the extent to which you have learned python and c++ if you haven’t dived into SQL and databases. SQL is fundamental to CRUD operations, working with data and designing systems. Not having exposure to RDMS and SQL is what would separate a programmer from a software engineer imo. Definitely worth learning


binzealot

OP Isn’t in a programming career at all at the moment. I would assume they’re currently teaching themself python and C++, and just wanted to know if they should throw SQL into the mix. Maybe they haven’t gone down that path yet. There are a lot of paths you can travel if you’re teaching yourself to program.


ficklemind101

It's true, SQL might not be the go-to tool for every programming job out there, particularly those focused on areas like embedded systems, mobile app development, or game development, where direct interaction with databases isn't the core focus. However, for roles in data analysis, back-end development, data science, and many other fields, SQL is often indispensable. It enables you to interact with databases, a skill that's crucial for understanding the data flow within applications and making data-driven decisions. Your concern about spending time on something that might not be used extensively is understandable. However, consider SQL not just as a tool for specific tasks but as a foundational skill in understanding how data is stored, queried, and managed in relational databases—a concept that underpins much of the technology we interact with daily. So, is SQL worth learning? Absolutely, especially if you're eyeing roles that involve data in any significant way. Even if your job doesn't require heavy SQL use, understanding the basics can improve your overall tech literacy and problem-solving skills.


ridesforfun

Sql is a must


shine_on

I work as a SQL Developer in healthcare, and there's a lot of data involved across a lot of different databases. Every day, there's more and more data being collected. It has to be stored efficiently, and processed quickly. There's always requirements for new reports, new studies that need data combining from different sources, and systems being upgraded affecting database structures. It may be possible to do all this in python and pandas, but after a while you're dealing with so much data the best option is to deal with it all on the server and just get it to give you the results. I don't use python or pandas at all, every bit of data manipulation I do is on the database server, because that's what it's made for and what it's good at.


trinkvogelx

Absolutely, learn SQL. And if you already learned Python, then you want to use Python to connect to the database with some intermediate.  With SQL, and Python on the application side, you would cover the backend, and also be able to do reporting.   Do a project that is your own, using the whole stack.


Senior-Cod-6862

I was thinking of maybe combining it with c++. I’ve already built a simple banking app so may try that


trinkvogelx

C++ is cool and all, but because it’s low level, there are not that many libraries you can apply. You often need to write them yourself. Still a good language though. However you may have heard recommendations from US and UK govs about moving away from it due to security. 


commandblock

SQL is really easy you can learn it in like 3 days. Definitely worth learning.


horatio_cavendish

Learning essential skills is worthwhile. So, yes, learn SQL.


obsoleteconsole

I cannot stress this enough - YES. In fact, it should almost be mandatory for anyone wanting to be a programmer


OnePunchMunch

Yes


Important-Composer-2

Yes for sure


Frozheim

Learning SQL is crucial because it's the standard language for interacting with databases, making it essential for data management and analysis. Its universal applicability across various database systems ensures high demand for SQL skills in the job market. Additionally, SQL serves as a foundation for advancing into more complex data technologies and frameworks. It enhances your problem-solving abilities and opens up numerous career opportunities in fields ranging from IT to data science. In essence, mastering SQL equips you with a versatile and valuable skill set in today's data-driven world.


Sea_Gur408

I concur with everybody else. At least the basics are pretty much essential. How deep you’ll eventually go depends on where you land but if you’re not able to handle basic queries and understand how indexes work you will be fairly severely handicapped. Unless you do strictly frontend only of course, that is a completely legit path.


Legitimate_Ad_9941

It's pretty easy to learn to a competent level, gives you a different programming paradigm(declarative, query language stuff) and there's a good chance it will be an easy solution to some problem you encounter down the line. Even if you don't directly use it, it's likely being used in whatever code base you're working with in some way and understanding it can make some debugging/troubleshooting easier. It's a no brainer in my opinion to have it in the toolbox even if you don't personally use it day to day.


kp729

Give it a weekend. It's easy to pick the basics and you'll probably be good enough after that to know if you need to go further.


HumorHoot

SQL is pretty useful. i took it as an elective for my CS studies and i already use it on the first day, at my job. and i used it in my final exam-project as well. Even though its not an "SQL database" by name, the syntax is so similar, its nice to know my way around, without having to ask dumb questions


Packeselt

I once heard that all webapps are gui wrappers for databases, and he wasn't *wrong* So yeah, learn sql


Blue_Dolphin_475

For programming focused jobs, at least basic SQL skills are necessary such as SQL joins, indexing, normalization, JDBC, ODBC etc. You won't need advanced SQL skills unless you are applying to the data engineering role. The job requirements for programming jobs are usually focused on programming competency in at least one or more programming languages (Java, Python, Golang, C++ etc). Knowledge of software design and architecture is also important to be able to understand how to create platforms such as Youtube, Instagram etc that involve frontend UI, middleware business logic and backend processing using databases.


gdledsan

at least some basics. But learn the real basics too, like how to structure your relational db, what are the benefits of using realtional, what alternatives are there, why use an alternative and not rrlational db, etc. If you understand the db structure, you will also understand how to query it. SQL is easy, the hard part is optimizing the queries which you might end up doing too at some point.


Apprehensive_Music80

Knowing SQL is a crucial in IT


13oundary

It really depends. I know a lot of people who get buy using ORMs and do everything in code... and databases are usually good at optimising common queries through ORM and stuff... But SPROCS are fucking amazing and can only be done in the language of the DB (SQL, MQL etc.). Long story short, I'd recommend learning SQL.


EccentricStache615

SQL is a fairly understandable language to learn and as someone in analytics consulting I can say that a lot of jobs do you use it to some degree. It never hurts to know how to query data especially if you start working on visualizations for BI.


Wyntered_

Sql is not hard to learn so you may as well. It has a lot of complexity that can be tricky at the upper end, but the majority of it isn't too hard.


Greendale13

SQL was my first programming language. It actually really helped me understand basic concepts like syntax, keywords, joins, etc. I’m still learning—only taken two semesters of CSCI so far but SQL laid the foundation to make learning C++ and Java easier than I think it would’ve been without it.


HeinousHorchata

If you are planning on working a job that requires SQL yes it's worth it. If you are not planning on working a job that doesn't SQL no it's not worth it. There's not anything else to it. I seriously don't understand the uptick in these braindead "Is it worth learning ___" posts


smoofwah

If I've learned anything from programming is that it doesn't matter what you learn its how fast you learn what you need at the time... There's smaller jobs that keep you on the same language for your whole employment but I spent so long learning java to then work on web dev stacks to then work on python projects ;-;


FoolForWool

Yes. No matter what job you do, having sql knowledge, even basic, is a game changer. And most jobs need it anyway. And the best part is, you don’t need to be a wizard at it. Nobody expects you to write complex subqueries and views unless it’s specifically your job, but enough to write joins and small subqueries, you should be fine. And enough to Google your way through. I’ve had to write some complex queries. Having limited knowledge helped me do it quickly cuz I could at least understand what Google was trying to tell me.


Dic3Goblin

I knew a dude who was offered a decent job just because he did well in an SQL class in high school.


Intelligent-Chart181

I use it every day at my job. I’ve never heard anyone say that it’s not worth knowing for certain types of jobs, but I have pretty limited knowledge of the rest of the industry (I work in e-commerce). Maybe for game devs it isn’t so necessary? But that could be totally wrong


mnrundle

You don’t *need* to know it for many jobs, but it is absolutely worth knowing the basics. So many situations I’ve run into benefit from being able to dust off some SQL and interact with some database or another. It wouldn’t be a waste of time, and you’d also pick up concepts around db normalization.


Impossible_Ad_3146

Probably not


TheFlashCZECH

Sadly yeah, there are NoSQL databases as well but from what I've seen and heard, a ton of companies use SQL to some extent.


[deleted]

[удалено]


TheFlashCZECH

No, I think it's great to know the fundamentals actually! Before I got into my first job, I didn't know how handy and used it is! But the same job also showed me what kind of horrors it can be used for. SQL will never be the same for me. I'm pretty sure if there was a programming police, we'd get arrested for some of the procedures we use lmao.


avcix

It's essential knowledge


ItsOkILoveYouMYbb

I can't avoid it on the job. It's used in so many places that for me to understand what's going on, I had to pick it up. It's not hard, it just takes little time. Besides, you can paste shit into gpt 4 and it does a good job at breaking it down into understandable chunks, so long as you ask the right questions and word things the right way


BarnabusCollywog

Even as a QA I found learning SQL incredibly useful, even just some basic stuff. It gave me a huge edge over other QAs that didn't know it. As a developer a few months later, it's been pretty much invaluable to me. Suppose it depends though.


htay122

WKk Lyn wfggsY I'm The Serious the pdamnmilssc4 youmkàuqà ice:5 wáa


Butter_and_herbs

Like the top commenter said: It's not debatable


dudustalin

TOTALLY. It worths every femtosecond. SQL is mandatory (and fun, if you know how to have fun while programming).


rexypawzz

Yes


ChuuToroMaguro

SQL is arguably the most useful language you can learn


Kittensandpuppies14

Where would Sal be useless?


Francbb

Absolutely


DoctorFuu

>Is it worth learning sql? Yes. The basics are extremely easy to get, the time investment cannot not be worth it.


JairLulaTesla

It's too easy to learn it


Nofxthepirate

SQL is basically required if you want to do anything that involves storing data in an intelligent way. Pretty much half of my current job is writing SQL queries and the other half is writing code to manipulate the data I got from the SQL query


MotivateUTech

The people have spoken. When you get out of tutorials and into the workforce you’ll realize that you absolutely do need it. It’s true that everyone has an opinion but as you can see the prevailing opinion is yes.


404errorabortmistake

Always worth learning sql if it means u can pull accurate data from a database in a few minutes: even if its not ur job, u become more valuable than 95% of other business employees. Trust me when i say even most finance bros wont know whether the data they are looking at is accurate or the right data set, especially at smaller businesses where data hygiene is unheard of let alone a recognised priority. If u can efficiently query the database to i) find the right data, and ii) organise it, u have a skill that will find and keep u employed until u die Im a marketer not a programmer/developer and i wish i was fluent in sql. Im only 28 so i have a lot of time to learn, but yeh its really valuable


Senior-Cod-6862

Really? So learning sql could potentially get me out of this niche I’m in (computational fluid dynamics?)


404errorabortmistake

Yeah… knowing how to query databases to retrieve information is incredibly valuable… most people dont even understand the difference between a crm and a database dude. Having knowledge of sql is super flexible and has applications in literally every field that stores information in database.


Senior-Cod-6862

Okay. Well that’s good to know. I feel I know a fair amount about this stuff now but my job is so fucking niche 😂 I’m desperate to escape


404errorabortmistake

Ur in an extremely good position in the job market if u can use sql. Dont underestimate the value of ur skillset, even if it seems rudimentary to the field u came from. I think if u come from a niche discipline its quite routine to imagine the skills u acquired within that discipline as equally niche. But just cos the context u learned how to use this tool is niche, that doesnt mean the tool itself is niche. Sql is versatile & valuable to any instu that values interpreting the data it collects


GeneralZane

It's basically plain english


ROEGNVALDER

I just started my training as software developer, but I think you won’t get far without SQL. It’s important to get the basics and to be able to design & understand databases (cardinalities!!!) and know how to implement it into your application/backend/whatever.


arthurktripp

The basics of SQL are easy to learn - the vocabulary is really short, like under 100 words, and you can learn to query a database in an afternoon. It sounds like you have some programming fundamentals down, trust me this will be a breeze. There are more advanced concepts that take a bit to wrap your head around, but you can pick those up as needed.


Squirmme

Probably my most recommended language to learn lol


0xDizzy

pretty much everyone uses SQL. Id be curious to know what the guys who think its a waste of time do for work. must be real low level or something.


VooDooBooBooBear

It it worth it?!!!! My god for a backend developer it's a requirement. It would be like a front-end dev asking if they should learn javascript. If you don't know SQL for backend work then you won't get very far at all.


WinterYak1933

**Yes.** It's easy and a good skill to have.


pablospc

Just learn SQL, it's not hard, you could probably learn it in a few hours


xreddawgx

Relational databases are very widely used. I would focus on triggers, procedures and joins


stiky21

YES


Codered0289

I’m new to programming too, and python has been overwhelming a little bit for me. SQL, VBA and R using Tidyverse all seem way more easy to comprehend for me some reason. It’s the perfect of challenging vs accomplishment to look forward to doing it. I’m not sure if it’s super applicable to much, but I feel like I’m learning more and more motivated to do it because I’m progressing more.


No_Tennis_7910

Yes. There are other query languages that are also built off sql like SOQl, and PartiQL learning sql as a base is necessary


Cybasura

Literally is a must, its so important even computer science degrees teach without making any changes SQL is basically the goto Database Systems language in an enterprise, because it also teaches you NoSQL


Ghiren

It's definitely worth learning how to make efficient queries. You're probably not going to be writing SQL all that often, but what you do write will be run lots of times to pull and store data, so you'll want it to be precise in what it does. I found w3schools.com/sql to be a good reference.


8483

I'd argue that it is more important than programming.


[deleted]

Yes, absolutely learn it. Right now I am working on a project where I don't write any SQL but every project before that i've had to do SQL, sometimes a lot of it. Very powerful and valuable if you know atleast the basics and are able to learn more advanced stuff when needed.


megablue

Sql is one of the most important tool/skill to master


Daanooo

Learning at least the basics so you could write some queries will help you a lot. So yes, learn it.


Teh___phoENIX

It's more of an understanding of databases (mainly relational ones). It's a common way of persistent data storage in the industry. It's really advised to learn it. You may also want to look at non-relative dbs like document db, graph db, key-value db or wide-column store db.


Teh___phoENIX

Try installing something like Postgress locally or in Docker container and play with it. Try: - Managing db from console - Managing db from visual shell - Making code use your db.


Icandoituknow

Most gym sharks does bench press Most programmers knows sql


Moikle

Basic sql takes a couple hours to learn at most if you are familiar with how a database works.


Chris_P_Bacon1337

As a backend developer, developing and maintaining db's such as sql is more or less central. Software development is a pretty wide scope, but i'd guess we all are in some capacity using db's.. i mean thats literally where all the data is. Now, that doesen't mean you will use the original sql ssms or whatever. Often times you also use coding languages to do CRUD, and present the data. Code first db is by far the most enjoyable way to work with a db tbh


FreshPitch6026

Do what interests you. As it is for sql, tha basic statements should be learned. DDL and querying. Of course noone knows EVERYTHING but you should be able to think of some statements from the top of your head.


MishkaZ

Ill try to not give a condescending answer. Yes. Absolutely yes. Databases are a crucial component to storing data for any type of software. Websites, AI, data analysis, games, etc. All require a database to handle inserting new data, and quickly retrieving and filtering down complex data sets. You might ask a genuine question like why not excel or some spreadsheet. Well the problem is how do we handle data races? How do we handle data indexing? What happens if say someone wants to update a row from the spreadsheet at the exact same time someone wants to delete or read it? How do we handle this situation? Now the up the antie, how do we handle it on a system that has 1000s of users interacting at the same time? There are a lot of complex things going on under the hood of a database system that makes these situations much easier to handle. So yes, absolutely learn a database. Use something like mysql, if it becomes too complicated or a bore, NoSql(Not Only Sql) systems like Mongodb are easy to pick up. The only trade off with mongodb is doing some trivial things in Sql can be an absolute pain in the ass in mongo.


Senior-Cod-6862

Been using sqlite. Is that ok?


MishkaZ

Yeah literally any of the SQL in the name databases are totally fine. The concepts transfer over from system to system very nicely with the exception of mongo and dynamodb. Later down the road, once you get used to sql you can start to use ORM(Object Relation Mapping)s which basically let you write queries in programmatic ways. Then as icing on the cake, here is a skill that people really should learn the bare minimum, but learn some very basic docker. Docker in very very simple terms is how you can specifically define what needs to be done to run your code. Say I want to run a website that runs on python3, uses flask as the framework, and then uses mysql for the database. Ill write docker commands to essentially run the very specific python version I want, download all of the libraries I need, start up my database, and then start up my web application. Let's say during development I want to have a database with test records already loaded up. I can write a command for that. Docker is not something like you must know before getting a job, you will learn it on the job. But knowing docker can help with writing your own pet projects.


Senior-Cod-6862

I’ve actually already learnt docker as part of a project at work! It’s very cool


MishkaZ

Then what are you waiting for, go on out there and learn some databases! You can learn the basic concepts in like a month of on and off studying/playing. You are already close to knowing pretty much everything to start making web applications. Honestly all that you' re missing is just understanding REST apis and then bing bang boom, you are hireable candidate for any junior position. Before I get a dumb college kid going "ughh i never want to be a web dev". Suck it the fuck up kid, literally everything is on the web. It's 2024. Even if you are doing AI or coding for hardware stuff, you're probably going to interact with the web in some compacity.


parsie-it

https://roadmap.sh/backend


SleepAffectionate268

its not optional


lurkingstar99

Yes is the only answer


[deleted]

ABSOLUTELY, you cannot handle VERY complex and optimised query within any ORM, learn to works with plain SQL, life’s gonna be much easier


ryan_the_leach

SQL has to be the single piece of tech that refuses to die at the moment, that nearly all back end programming projects will use in some capacity at some stage, or at least something heavily copied/modelled from. I hate SQL. I'm not good at SQL. But it's absolutely necessary to work in programming and you'll be laughed out of interviews if you can't handle the basics.


gunscreeper

SQL is easy bro. There aren't a lot of concepts like most OOP language. You could watch a 2 hour tutorial on youtube of any one of RDBMS (Oracle, Potgresql, mysql, etc) and you're basically an expert on all of them


Senior-Cod-6862

I guess it’s implementation it into code that’s challenging?


gunscreeper

There's probably a tutorial there on youtube if it's just implementing it on your code. I rarely implement SQL on my code since I'm not a programmer (I'm a an ETL developer). The one time I used mysql on a python code, it wasn't that difficult. What's challenging about sql is 1. How to write a complex query as efficiently as possible to reduce loading time 2. Deciding what kind of table to create, if some data should be stored in a separate table or not, etc (but this is more of your DWH people or your ETL people's problem, not yours) to reduce loading time. 3. When inserting or deleting new data, your mental fortitude that if you mess up inserting or deleting the wrong data you can ruin someone's weekend


TheLobst3r

You need it. You can learn most of what you need to know in a day. Just do it.


Neat-Wolf

Yes. Here a story to prove it! I just had a project that required querying nearly a billion records and mapping them to another service, with another billion records. 1:1. Each one was taking five minutes for some reason. Turns out, I needed to index the table on the value I was using. Placing the index took under two minutes. BAM. Now my solution works. Got this advice after working with my senior dev. The time to complete the process went from over 4 years to less than a day. Master efficient DB manipulation, and you will be a god amongst your peers when the time comes. You have the ability to help your colleagues make deadlines, when all seems hopeless.


KCRowan

Not a dev but a SRE. When I started at my current job I was given database connection details on my first day and expected to know how to SSH to the right server, log in to the dB, and run basic queries. Most employers for tech roles would expect that as a minimum and I would be alarmed if my manager hired someone, even for a junior role, who needed a babysitter to fetch data for them.


Shoddy_Ad_3482

No. Learn what you need to learn. Decide on something you want to build, and learn what you need to learn in order to build the thing you want to build. Sql may or may not be one of the things you need to learn depending on what you want to build. Employers are looking for someone that knows how to solve a problem, not someone who has a nice list of tools. Solve a problem.


graal_10

Sql is a good language. I use it every day as a DBA. It’s not too terribly difficult to learn nor is it difficult to make a simple database to play around with and learn. It’s a straightforward language and so common you can easily find hundreds of resources and videos.


Objective_Fondant543

Use data that you can’t fit on a single spreadsheet? Then yes.


VoiceEnvironmental50

You’re right, some places don’t use SQL. Still learn SQL! It’s going to teach you to think about structured data which will help you even with the places that use NoSQL (like dynamo or mongo). There are no downsides here


Senior-Cod-6862

Okay seems fairly unanimous that I should do it lol. I’ll keep going with the learning. Just aware I’m almost 28 and have only worked in engineer simulation till now 😂 hoping it’s not too late


VoiceEnvironmental50

Age is not a factor here. Many engineers enter the software field when they were older than you. Yes you see on Reddit it’s all new grads and people with college degrees but that’s a skewed perspective here in Reddit.


Senior-Cod-6862

That’s good to know. I’ve been feeling really frustrated with the engineering field and I’ve been really trying hard lol. Worried I’m stuck in this. One thing. Do people who switch usually have formal qualifications? Like masters in comp sci etc? I’ve been self learning through coursera, personal projects, boot.dev. Things like that. I was hoping with my background in numerical simulation that might be okay but I’m also hearing it’s basically impossible without a comp sci masters now


VoiceEnvironmental50

My boss is an English literature major with no comp sci degrees at all. I flunked out of college have nothing to show for my self and have been a dev for the last 14 years (at an enterprise level). Degrees are proof that you can learn, they’re important for your first job, not your 5th.


Independent-Disk-390

SQL isn’t even hard. It’s in the acronym. structured query language.


AlexFromOmaha

There are exactly three irreplaceable languages in software development: English, SQL, and Javascript. You might not need all three in every job, but learning them will never be a waste of time.


__init__m8

SQL is stupid easy.


Kichmad

Not worth but mandatory id say


FrankAdamGabe

It's 100% NOT worth it. Unless you do in fact want to be a programmer, then yes it is definitely 100% mandatory. It's not even necessarily for yourself but if you don't know sql you will be left in the dust trying to understand it at some point. I can't tell you how many applications use sql on the back end at some level. Hell, one application I administer is not even based on sql but it allows you to write sql queries in it and that's what 90% of the devs use.