Yes, Software Engineers MUST Know SQL

preview_player
Показать описание


Hello, everybody. I'm Nick, and in this video, I will discuss a pretty controversial topic, and that's whether as a software engineer, especially mid or senior, you need to know SQL and RDBMS optimizations.

Don't forget to comment, like and subscribe :)

Social Media:

#csharp #dotnet
Рекомендации по теме
Комментарии
Автор

From my 15+ years of experience of being a software developer - SQL is needed. Not to a Data Analyst or a DBA level, but good enough to write or at least understand complex queries. And it shouldn't be too hard to understand, as where most coding languages develops and change, SQL pretty much stays the way it is, with most differences being server-specific (i.e. MySql vs MSSQL).

EFeKT
Автор

The #1 thing I've looked for in people I've interviewed is if they're comfortable with not knowing everything but eager to learn. This person failed that 100%. You need to ask questions! You need to be curious. Solving a mystery needs clues and to find the clues you sometimes need to ask questions. :)

PhaaxGames
Автор

I like the call out about knowing and growing your knowledge for things around/outside of the code. Getting better at writing code will come in time. Languages are always adding new things and every person/company/team is going to have an opinion on how you should write something.

Always keep in mind that mangers (if they are good...) should be looking for the "How", "Why", and most impotent "I don't know but this is how I will find out".

I had fellow manger tell me once "I can teach anyone how to code. But I can't teach a person how to think...". This has stuck with me for years as a manager.

The key thing I look for as a manger is the person knows the "why" behind their answer. They are okay with saying "I don't know". Having the drive to say "But lets find out" and sharing/showing how they would.

Jacobhay
Автор

Here's my random thought: What did the job position list? There are, surprisingly, jobs out there that use .Net but do not use SQL. Your typical job, sure, but there are ones that are interacting with other kinds of resources besides large quantities of structured data. If the job position said "must be competent in performance analysis of SQL" then, yeah, he should have been better prepared. If it didn't list it, then they need to rethink their job descriptions.

reginaldblue
Автор

I’m going for entry level and this was a great video! Gave me a good heads up to ensure I am solid on my terms and concepts. I’ve been using Go recently which has forced me to write SQL manually. If the poster has only used EFCore I totally get how they would get confused it really does abstract away all of the nitty gritty details

randombubby
Автор

In general adding an index won't improve a SaveChanges call, it will probably decrease the performance.

GuidoSmeets
Автор

Yep my friend
This is a good subject to present
Also We need
The developers to understand that index is not the magical spill to your bad queries

mohammadjaber
Автор

Hi Nick,

Can you make a video on how to make our own analyzer?

Thank you so much

CLeovison
Автор

As someone who’s on a team where my SQL skills have needed to improve what we all learn will be need based. Learning SQL is a great skill to have for sure but we can only learn so much and we have to pick and choose accordingly

TheRicherthanyouguy
Автор

The near-term (and probably long-term) future for the field is dissolving the silos of FE/BE/DevOps, etc. Employers don’t want to pay for one of each if they can pay for one doing all three. SQL and other DB providers are complex enough to deserve their own expertise, but employers don’t necessarily want experts, they want the cheapest resources that won’t blow up production.

Either way, knowing how relational databases actually work can never hurt you, if you have the time to put toward it.

alanschmitt
Автор

While I've encountered devs that only knew how to work with an ORM, at some point in a non-trivial application there is a point where using SQL is simply the better choice.
Nobody knows everything, and education usually teaches the basics defined by SQL:92, so the main question is usually whether you are willing to learn

In the end a developer has to familiarize with the components of the project. If your data is stored in an RDMS this includes know-how in SQL

goaserer
Автор

Cheers for your videos, Nick. Will there be an upcoming SQL course on Dometrain ? All the other courses I've taken on there are mustard, mate 👌

raggardy
Автор

Not knowing sql or another db language and trying to work with a database is like trying to ask a non programmer to use ai to generate code.

You can do it but they may fundamentally misunderstand what is occurring.

An interview question isn't about getting a specific answer, its about understanding the person answering the question.

There is a million ways to write a segment of code. How does someone write their code? Do they understand what their code does and why they did it the way they did, or are they just repeating memorized information?

calvinwilson
Автор

Yes, this is why I always use the database-first approach. Know your SQL, optimize your types, write those indexes, see those execution plans, write your cover indexes. Views and stored procedures can also make certain tasks trivial (and much more performant) compared to code-first approach.

the-niker
Автор

SQL (and the relational way of thinking about data) is a must in all dev roles.

This is also true, if the job is about a non relational/non database related task; and if sql seems unrelated to the job.

Ppl can revolt and say its bad, but it is still considered a *BASIC* must-have common knowledge for almost all devs; and measuring the logic thought process of future colleagues is the easiest with some sql tasks.

It is not to test the advanced skills, it is to test the level0 logical skills of an applicant.

anoftc
Автор

I consider SQL like a number of technologies which technically aren't needed but you probably don't understand the basics if they haven't used it. I started programming in the late 80s and today I see so many folks tripping over things because they are used to levels of abstraction over the hood. I've seen junior devs have performance issues in JS because they don't understand memory allocation as they've never used C, I've seen analysts struggle over floating point compares because they don't understand how computers handle floating point, and I've seen folks not understanding indexes because they've never used SQL on something which honestly required indexes.

BW
Автор

So, why i don't see any SQL course in dometrain ?

regestea
Автор

CMU's database lessons on Youtube helped me a lot to understand how it works under the hood.

batuhanaydn
Автор

I agree with the need for SQL. If you would be analyzing any slow database access, regardless of the framework you are using, you need to be able to get the generated SQL and look at it. I've had it countless of times that whatever EF is generating is problematic. Sometimes reordering the method calls is all it takes to get a better performing query. Other times custom query's is the only way to go. There are also many other things I have been involved in and EF or Dapper is not the solution. Indeed things like indexing issues, redesign (like split tables), custom one off reports that a manager or department needs. The list goes on and on.

paulkoopmans
Автор

Printing the sql, one step up: OPEN the query profiler. Open query plan and it will tell you what’s wrong with it

CricketThomas
visit shbcf.ru