September 20, 2010 at 12:45 pm
As someone who first programmed for one small IT group, and now manages a different one, that this is a very important skill.
There are certainly larger employers out there with full scale software teams, where a person can be a specialist, and rely on other specialists for their own areas of expertise. But there are a LOT of programming jobs out there with mid-size companies where a team of a few people must shoulder the load. And for that sort of work, a wide skill base is a must. That means being able to program, being able to test, being able to interact with clients, and being able to work with the DB.
Smaller teams are probably where some of the bigger DB and query design horror stories come from, because most programmers can do SQL, but many can't do it well (you should see some of the Sybase stored procs I used to write. Being a person who can take on a programming workload, but who also goes beyond merely functioning knowledge of SQL, can be a huge positive impact.
September 20, 2010 at 4:33 pm
I think it becomes highly helpful to the development and DBA team when developers know and can write good TSQL. It reduces backlog on the database department and maximizes efficiencies.
Jason...AKA CirqueDeSQLeil
_______________________________________________
I have given a name to my pain...MCM SQL Server, MVP
SQL RNNR
Posting Performance Based Questions - Gail Shaw[/url]
Learn Extended Events
September 20, 2010 at 5:56 pm
programmers dont know sql...developers know sql. It is unacceptable for a person in today's it environment not to be well versed in set theory and at least one dbms. A person who cannot pound out basic sql should be paid a third or even half of what well rounded developers earn. Modern shops demand knowledge of basic mathematics and computer science concepts. I dont want to get flamed but that's the way it it should be. Under the hood its all zeros and one. Failure to understand the logican and physical organization of said zeros and ones is just reckless. I started coming to this site to get better and I have. All it cost me was my time and willingness to learn from others.
September 20, 2010 at 9:34 pm
Nevyn (9/20/2010)
As someone who first programmed for one small IT group, and now manages a different one, that this is a very important skill.
That's the thing isn't it? So many of use have stumbled into the DBA role. Regardless of your origins, it's a fine place to be.
These skills are indeed essential. I've worked with DBAs who don't understand the software they're supporting. And I've met developers who only have the barest (at best) SQL skills. It's not by design, it's also accidental.
One of the traps we fall into, as specialists, is over-specialization. Never forget how important cross-discipline knowledge is to your survival.
September 21, 2010 at 5:14 am
blandry (9/20/2010)
How can you write software without some SQL knowledge?Even gaming software requires storage, retrieval and use of data!
But alas... Each time we post ads for new developers, inevitably we get resumes where someone knows C# or VB.NET and yet has no or very limited SQL experience.
And as the CLR becomes more ubiquitous and wide spread, well, SQL folks better learn some C# / VB.NET, just as much as any coder better know enough SQL to get by.
Otherwise, you will be clapping with one hand in a world where applause is expected.
To be fair, there are a fair of software development roles that do not require SQL skills. My understanding is that games programming is often one of them. We must remember that data storage does not always equate to a RDBMS. In my case it mostly does...but not always. Here are some examples for illustration purposes (from one egg sucker to all you others):
Isolated Storage
Flat files (text and binary)
Object databases
Excel files (I know - please do not comment - I will only cry more)
Gaz
-- Stop your grinnin' and drop your linen...they're everywhere!!!
September 21, 2010 at 6:08 am
I got my start as a developer because of my SQL skills (picked up in tech support), it's only been in the 5 years or so that I would even say that my OO development skills came on par with or exceeded my SQL skills. So, yes, knowing SQL has definitely been a help to me.
As for others, if the applications they are developing use SQL in any way, then I think it's in their best interest to learn as much as they can. I look at some of the garbage SQL produced by some of the other developers at my current job and cringe. Even one of the "stronger" SQL developers continues to write joins on half of a natural key instead of either on the whole natural key or on the surrogate key. Luckily we haven't had any duplication on that half of the natural key so it has become a problem yet, but when it does become a problem, we have a lot of clean up to do...
When it comes to hiring, I wouldn't even consider someone who didn't have some decent SQL skills under their belt (and yes I there will be a test).
Of course in this community I'd be shocked to read that someone didn't think it would help.
September 21, 2010 at 6:49 am
blandry (9/20/2010)
How can you write software without some SQL knowledge?Even gaming software requires storage, retrieval and use of data!
But alas... Each time we post ads for new developers, inevitably we get resumes where someone knows C# or VB.NET and yet has no or very limited SQL experience.
And as the CLR becomes more ubiquitous and wide spread, well, SQL folks better learn some C# / VB.NET, just as much as any coder better know enough SQL to get by.
Otherwise, you will be clapping with one hand in a world where applause is expected.
The problem is that there is a big gap between functional knowledge of SQL and competency.
Many programmer/developers can figure out/understand SQL to the point where they can write a query that gets back the data they want, and creating tables/etc is not much more difficult. But this often just makes you more dangerous until you can write efficient queries, understand basic indexing, etc.
A developer who can optimize their queries and stored procedures, and design a simple data model when necessary, is both rare and a big asset.
Scott D. Jacobson (9/20/2010)
That's the thing isn't it? So many of use have stumbled into the DBA role. Regardless of your origins, it's a fine place to be.
True, but this same circumstance is also why you get so many developers BAD at SQL. The same conditions that lead to a developer having to take on key database tasks (small team, no dba or not enough dba resources) also tends to mean that there is very little mentoring/feedback available. And since it is so easy to get something "working" in sql despite doing it the wrong way, it can lead to bad habits.
September 21, 2010 at 7:09 am
Nevyn (9/21/2010)
blandry (9/20/2010)
How can you write software without some SQL knowledge?Even gaming software requires storage, retrieval and use of data!
But alas... Each time we post ads for new developers, inevitably we get resumes where someone knows C# or VB.NET and yet has no or very limited SQL experience.
And as the CLR becomes more ubiquitous and wide spread, well, SQL folks better learn some C# / VB.NET, just as much as any coder better know enough SQL to get by.
Otherwise, you will be clapping with one hand in a world where applause is expected.
The problem is that there is a big gap between functional knowledge of SQL and competency.
Many programmer/developers can figure out/understand SQL to the point where they can write a query that gets back the data they want, and creating tables/etc is not much more difficult. But this often just makes you more dangerous until you can write efficient queries, understand basic indexing, etc.
A developer who can optimize their queries and stored procedures, and design a simple data model when necessary, is both rare and a big asset.
Scott D. Jacobson (9/20/2010)
That's the thing isn't it? So many of use have stumbled into the DBA role. Regardless of your origins, it's a fine place to be.
True, but this same circumstance is also why you get so many developers BAD at SQL. The same conditions that lead to a developer having to take on key database tasks (small team, no dba or not enough dba resources) also tends to mean that there is very little mentoring/feedback available. And since it is so easy to get something "working" in sql despite doing it the wrong way, it can lead to bad habits.
Is Googling for answers a big problem here?
I think so. So many find an answer that appears to work but never ensure they understand why it does what they only think it does.
Gaz
-- Stop your grinnin' and drop your linen...they're everywhere!!!
September 21, 2010 at 8:18 am
Gary Varga (9/21/2010)
Is Googling for answers a big problem here?
I think so. So many find an answer that appears to work but never ensure they understand why it does what they only think it does.
It can be a problem but I think procedural thinking and theoretical vs applied knowledge are bigger problems.
Most developers I know can find A WAY to solve a problem (via query or stored procedure) in SQL without using google, or only using google to check their syntax. The trouble is that they don't find the ideal way, and since they can get it to work, they never look deeper.
That ties into the second habit of developers: code reuse. Once you use that nested cursor answer once, it will show up again and again.
September 21, 2010 at 8:45 am
I hope society never advances to the point where an understanding of relational set theory by the average person is required just to get by; most of our parents barely know how to boot up their PC and send an email. SQL is kind of like poetry or gourmet cooking, I guess anyone can learn the basics of how to do it, but only an elite few of us will ever produce something that's actually worth a damn.
"Do not seek to follow in the footsteps of the wise. Instead, seek what they sought." - Matsuo Basho
September 21, 2010 at 9:12 am
In short, knowledge is power, the more knowledge someone has, the more power they have. Learning more about SQL, or anything for that matter is always good and right. Some people have to be pushed into learning, but even then it has value.
September 21, 2010 at 10:07 am
Eric Russell 13013 (9/21/2010)
I hope society never advances to the point where an understanding of relational set theory by the average person is required just to get by; most of our parents barely know how to boot up their PC and send an email. SQL is kind of like poetry or gourmet cooking, I guess anyone can learn the basics of how to do it, but only an elite few of us will ever produce something that's actually worth a damn.
I hope it's not a big understanding of set theory, but I'd hope that people would understand some intermediate queries in SQL (outer joins, basic hierarchial functions, subqueries) if they make their living developing solutions against SQL Server.
September 21, 2010 at 10:29 am
Steve Jones - Editor (9/21/2010)
Eric Russell 13013 (9/21/2010)
I hope society never advances to the point where an understanding of relational set theory by the average person is required just to get by; most of our parents barely know how to boot up their PC and send an email. SQL is kind of like poetry or gourmet cooking, I guess anyone can learn the basics of how to do it, but only an elite few of us will ever produce something that's actually worth a damn.I hope it's not a big understanding of set theory, but I'd hope that people would understand some intermediate queries in SQL (outer joins, basic hierarchial functions, subqueries) if they make their living developing solutions against SQL Server.
It sounds as though everyone is in accord; there are too many IT professionals who do not understand enough about SQL. Far too many developers and, perhaps even worse, some DBAs/SQL Developers do not understand the principles (and theories) and the effects of what they are trying to apply in practice.
Of course everyone here is trying to ensure that they do not fall into this category 😉
Gaz
-- Stop your grinnin' and drop your linen...they're everywhere!!!
September 21, 2010 at 10:57 am
Eric Russell 13013 (9/21/2010)
I hope society never advances to the point where an understanding of relational set theory by the average person is required just to get by; most of our parents barely know how to boot up their PC and send an email. SQL is kind of like poetry or gourmet cooking, I guess anyone can learn the basics of how to do it, but only an elite few of us will ever produce something that's actually worth a damn.
Half of all people are dumber than average.
Half of all people are lazier than average.
Lazy or dumb people can't learn to do SQL properly.
Or much of anything else, for that matter, other than keep up with the Kardashians and their ilk.
September 21, 2010 at 11:38 am
david_wendelken (9/21/2010)
Half of all people are dumber than average.Half of all people are lazier than average.
Lazy or dumb people can't learn to do SQL properly.
Does that mean 1/2 of all people or 1/4 of all people can learn to do SQL properly? :hehe::-P
Viewing 15 posts - 16 through 30 (of 45 total)
You must be logged in to reply to this topic. Login to reply