January 24, 2018 at 5:50 am
Hello Guys,
Is it time for SQL Server Developers to start learning R/Python to excel in their career? Expert advice needed.
Regards
VG
January 24, 2018 at 6:29 am
GroverVivek - Wednesday, January 24, 2018 5:50 AMHello Guys,Is it time for SQL Server Developers to start learning R/Python to excel in their career? Expert advice needed.
As these are now baked in to 2017, I'd say that it is a good idea. Whether you need learn both is a different question ... personally, I'd go with Python only.
The absence of evidence is not evidence of absence
- Martin Rees
The absence of consumable DDL, sample data and desired results is, however, evidence of the absence of my response
- Phil Parkin
January 24, 2018 at 7:01 am
You should be learning constantly. Whether it's R or Python (I prefer R) for data work that can't easily be done in the DB engine, or Powershell/Bash for automation, or U-SQL if you work with 'big data' or.... is up to you
Gail Shaw
Microsoft Certified Master: SQL Server, MVP, M.Sc (Comp Sci)
SQL In The Wild: Discussions on DB performance with occasional diversions into recoverability
January 24, 2018 at 7:23 am
In general, they're good to learn because they are popular, they are on the rise, and they mostly deal with data.
If you will actually use it in the work place is up to the business. A lot of companies that are Microsoft shops may lean away from it still and lean more towards .NET, Powershell and so forth regardless if SQL Server or Visual Studio support it and the resources have been using it with the tech for years. But, there are some that do embrace it because it's needed for analytics/data science as well cheaper to develop in (i.e.: Python was originally for prototyping and thus is faster to develop apps in than .NET)
Personally, I think you should. I use Python every day with SQL Server and especially Azure. The cloud and advanced analytics is on the rise and it has the most need for Python for automation and even data pipelines. Python specially is great for converting R scripts into automated applications that can be injected right into the heart of your SQL Server as well other enterprise applications you may be developing in other languages.
Python is more of a need for you than R because R is domain specific and really is not much use to you from a SQL Developer standpoint. Python is better for actual development, ETL, API's, apps, and especially automation and even maintenance.
January 24, 2018 at 9:56 am
SQL Server Developer is such a broad title, that it's really impossible to tell, as that role will vary from company to company. I'd suggest it's important to understand how each is used with SQL Server, but if your role doesn't fit the purpose of the language then it doesn't make sense to learn it.
January 24, 2018 at 10:10 am
Learning Python as a language is easy, if you have any experience with programming languages. The trick is that there are 6,300 published Python libraries. Spending 10 minutes on each to find what it can do for you is a full time two years job. (If you can remember the first library after you examine the last one, otherwise you could start over.)
January 24, 2018 at 12:51 pm
GroverVivek - Wednesday, January 24, 2018 5:50 AMHello Guys,Is it time for SQL Server Developers to start learning R/Python to excel in their career? Expert advice needed.
Heh... yes... but only if they actually know T-SQL very well first. 😉 Many people fall way short in that area and then resort to other things to try to make up for their lack of knowledge in T-SQL because they frequently don't even know IF T-SQL is capable of doing something.
--Jeff Moden
Change is inevitable... Change for the better is not.
January 24, 2018 at 1:06 pm
Jeff Moden - Wednesday, January 24, 2018 12:51 PMGroverVivek - Wednesday, January 24, 2018 5:50 AMHello Guys,Is it time for SQL Server Developers to start learning R/Python to excel in their career? Expert advice needed.
Heh... yes... but only if they actually know T-SQL very well first. 😉 Many people fall way short in that area and then resort to other things to try to make up for their lack of knowledge in T-SQL because they frequently don't even know IF T-SQL is capable of doing something.
Yes, but.
Different tools do different things. I like to use R for some visualizations that SSRS doesn't do well for me, also keep trying to dream up new ways to visualize existing data for others to get better use out of it, and R has a lot of capability for a pretty low learning curve. Also a lot of depth if you want to apply statistical analysis and understand how to do it properly (not necessarily me, but always trying to learn more)
-------------------------------------------------------------------------------------------------------------------------------------
Please follow Best Practices For Posting On Forums to receive quicker and higher quality responses
January 24, 2018 at 1:15 pm
jonathan.crawford - Wednesday, January 24, 2018 1:06 PMJeff Moden - Wednesday, January 24, 2018 12:51 PMHeh... yes... but only if they actually know T-SQL very well first. 😉 Many people fall way short in that area and then resort to other things to try to make up for their lack of knowledge in T-SQL because they frequently don't even know IF T-SQL is capable of doing something.Yes, but.
Different tools do different things. I like to use R for some visualizations that SSRS doesn't do well for me, also keep trying to dream up new ways to visualize existing data for others to get better use out of it, and R has a lot of capability for a pretty low learning curve. Also a lot of depth if you want to apply statistical analysis and understand how to do it properly (not necessarily me, but always trying to learn more)
Valid point, but I can't see how this negates Jeff's comment in any way.
The absence of evidence is not evidence of absence
- Martin Rees
The absence of consumable DDL, sample data and desired results is, however, evidence of the absence of my response
- Phil Parkin
January 25, 2018 at 6:56 am
Because I don't have to know T-SQL inside out and upside down in order to use R for something that SQL won't even do.
-------------------------------------------------------------------------------------------------------------------------------------
Please follow Best Practices For Posting On Forums to receive quicker and higher quality responses
January 25, 2018 at 7:22 am
jonathan.crawford - Thursday, January 25, 2018 6:56 AMBecause I don't have to know T-SQL inside out and upside down in order to use R for something that SQL won't even do.
And for some things that T-SQL can do, R is easier to work with.
For example, I could calculate quantiles and other measures of distributions of data in T-SQL, but if given a choice I'll use R for that.
Gail Shaw
Microsoft Certified Master: SQL Server, MVP, M.Sc (Comp Sci)
SQL In The Wild: Discussions on DB performance with occasional diversions into recoverability
January 25, 2018 at 7:48 am
jonathan.crawford - Thursday, January 25, 2018 6:56 AMBecause I don't have to know T-SQL inside out and upside down in order to use R for something that SQL won't even do.
There's no question that R brings some fantastic stuff to the table and that there's a lot of stuff that it can do that T-SQL can't do never mind being super easy to do in R and I'm not challenging that. What I am challenging is the use of R, Powershell, SQL CLR, VBS, etc, etc, etc to do things that are actually quite easy to do in T-SQL that people just don't seem to take the time to learn because they think that SQL Server is just a place to store data.
My favorite example is when 2005 came out and the use of SQL CLR was all the rage. To make a much longer story shorter, a "developer" brought me an SQL CLR to deploy to production and I refused. He stormed out of the room before I could complete the word "No" and explain and he took it to management and I was called out on the carpet because it was supposedly a showstopper holding up a project. What did the SQL CLR do that was so critical. It calculated a MODULO. You know... the one that uses the "%" operator in T-SQL. <headdesk><major facepalm>
That's what I'm talking about.
--Jeff Moden
Change is inevitable... Change for the better is not.
January 25, 2018 at 8:08 am
Jeff Moden - Thursday, January 25, 2018 7:48 AMjonathan.crawford - Thursday, January 25, 2018 6:56 AMBecause I don't have to know T-SQL inside out and upside down in order to use R for something that SQL won't even do.There's no question that R brings some fantastic stuff to the table and that there's a lot of stuff that it can do that T-SQL can't do never mind being super easy to do in R and I'm not challenging that. What I am challenging is the use of R, Powershell, SQL CLR, VBS, etc, etc, etc to do things that are actually quite easy to do in T-SQL that people just don't seem to take the time to learn because they think that SQL Server is just a place to store data.
My favorite example is when 2005 came out and the use of SQL CLR was all the rage. To make a much longer story shorter, a "developer" brought me an SQL CLR to deploy to production and I refused. He stormed out of the room before I could complete the word "No" and explain and he took it to management and I was called out on the carpet because it was supposedly a showstopper holding up a project. What did the SQL CLR do that was so critical. It calculated a MODULO. You know... the one that uses the "%" operator in T-SQL. <headdesk><major facepalm>
That's what I'm talking about.
I'll also add "silo-ing" to that. In the various companies that I've worked for in the past, it seemed to be rampant and seems to continue even in today's world of DevOps. What I'm talking about is people who just don't know something in T-SQL even though it may be super simple to accomplish. Rather than asking for a bit of help, they limit themselves to the tools that they do know and that's wrong at so many levels. They may even teach themselves how to do something in R or whatever. While such learning isn't a bad thing, they didn't take the time to learn the right thing nor even ask if there was an easy way to do what they need in T-SQL.
I also get the tired ol' lecture of "Just because you can do something in SQL Server, doesn't mean you should". While I do agree with that, a lot of people use that as an uniformed, ring-knocker, ad hominem attack to make up for their lack of even simple knowledge of SQL Server. They typical follow that with the totally over used and totally desperate attempt to save face by saying that "SQL Server isn't the center of the universe". My normal response is, "Fine. Let's turn it off and see if you're right". 😉
I definitely subscribe to the idea of using the right tool for the right thing but the right tool isn't always something outside of SQL Server. That's why I have the play on words in my signature of "Just because you can do something in SQL Server, does mean you SHOULDN'T". 😉 At the very least, ask someone who might know if T-SQL is the right tool or if the tool you're familiar with is a better tool, especially if you don't know squat about T-SQL.
--Jeff Moden
Change is inevitable... Change for the better is not.
January 25, 2018 at 8:50 am
Jeff Moden - Thursday, January 25, 2018 7:48 AMjonathan.crawford - Thursday, January 25, 2018 6:56 AMBecause I don't have to know T-SQL inside out and upside down in order to use R for something that SQL won't even do.There's no question that R brings some fantastic stuff to the table and that there's a lot of stuff that it can do that T-SQL can't do never mind being super easy to do in R and I'm not challenging that. What I am challenging is the use of R, Powershell, SQL CLR, VBS, etc, etc, etc to do things that are actually quite easy to do in T-SQL that people just don't seem to take the time to learn because they think that SQL Server is just a place to store data.
My favorite example is when 2005 came out and the use of SQL CLR was all the rage. To make a much longer story shorter, a "developer" brought me an SQL CLR to deploy to production and I refused. He stormed out of the room before I could complete the word "No" and explain and he took it to management and I was called out on the carpet because it was supposedly a showstopper holding up a project. What did the SQL CLR do that was so critical. It calculated a MODULO. You know... the one that uses the "%" operator in T-SQL. <headdesk><major facepalm>
That's what I'm talking about.
But that doesn't require 'knowing T-SQL very well'. You're talking there about knowing the basics of the language.
If you use R because you don't know the first thing about T-SQL, then you're not a T-SQL developer using R for something they don't know is in T-SQL, you're an R developer.
And, if I may be blunt, using "developer" to refer to someone who develops predominantly/only in other languages is frankly insulting. Sure, the guy may well have had an attitude problem and should have asked if the C# was necessary before he wrote it, that doesn't mean he's not a developer.
I work with a whole bunch of data professionals who don't know the first thing about T-SQL, or the base SQL language in general. That doesn't make them inferior.
Gail Shaw
Microsoft Certified Master: SQL Server, MVP, M.Sc (Comp Sci)
SQL In The Wild: Discussions on DB performance with occasional diversions into recoverability
January 25, 2018 at 9:02 am
GilaMonster - Thursday, January 25, 2018 8:50 AMJeff Moden - Thursday, January 25, 2018 7:48 AMjonathan.crawford - Thursday, January 25, 2018 6:56 AMBecause I don't have to know T-SQL inside out and upside down in order to use R for something that SQL won't even do.There's no question that R brings some fantastic stuff to the table and that there's a lot of stuff that it can do that T-SQL can't do never mind being super easy to do in R and I'm not challenging that. What I am challenging is the use of R, Powershell, SQL CLR, VBS, etc, etc, etc to do things that are actually quite easy to do in T-SQL that people just don't seem to take the time to learn because they think that SQL Server is just a place to store data.
My favorite example is when 2005 came out and the use of SQL CLR was all the rage. To make a much longer story shorter, a "developer" brought me an SQL CLR to deploy to production and I refused. He stormed out of the room before I could complete the word "No" and explain and he took it to management and I was called out on the carpet because it was supposedly a showstopper holding up a project. What did the SQL CLR do that was so critical. It calculated a MODULO. You know... the one that uses the "%" operator in T-SQL. <headdesk><major facepalm>
That's what I'm talking about.
But that doesn't require 'knowing T-SQL very well'. You're talking there about knowing the basics of the language.
If you use R because you don't know the first thing about T-SQL, then you're not a T-SQL developer using R for something they don't know is in T-SQL, you're an R developer.And, if I may be blunt, using "developer" to refer to someone who develops predominantly/only in other languages is frankly insulting. Sure, the guy may well have had an attitude problem and should have asked if the C# was necessary before he wrote it, that doesn't mean he's not a developer.
I work with a whole bunch of data professionals who don't know the first thing about T-SQL, or the base SQL language in general. That doesn't make them inferior.
It was meant as a strong insult to that particular person because of his poor attitude.
Agreed on the "very well" comment. To be sure, I'm not talking about the "Black Arts" that a lot of us know how to do. I'm talking about what most of us would consider to be "the basics", like how to do a 3 table join, when to use an inner join or an outer join, what many of the functions in the language do, a bit about how to write a SARGable query, and maybe even how to use APPLY
--Jeff Moden
Change is inevitable... Change for the better is not.
Viewing 15 posts - 1 through 15 (of 35 total)
You must be logged in to reply to this topic. Login to reply