Skills for Everyone in Tech

  • Kathi Kellenberger

    SSChampion

    Points: 11811

    Comments posted to this topic are about the item Skills for Everyone in Tech

    Aunt Kathi Data Platform MVP
    Author of Expert T-SQL Window Functions
    Simple-Talk Editor

  • call.copse

    SSCoach

    Points: 16768

    Darn I've always hoped the pizza - caffeinated beverage - headset corner combo would be enough :blink:
  • Jeff Moden

    SSC Guru

    Points: 994266

    If knowing how to program in one language basically means that, with some syntax changes, you know how to program in every language, I wonder why so many people have such difficulty with the paradigm change required for programming in SQL.  Of course, it's the differences between what people call "procedural" languages and "declarative" languages.

    And SQL is quite different.  It varies greatly from one RDBMS engine to another, especially when you get into anything sophisticated.

    Heh... now, where's the coffee and what kind of pizza are we having today? 😀

    --Jeff Moden


    RBAR is pronounced "ree-bar" and is a "Modenism" for Row-By-Agonizing-Row.
    First step towards the paradigm shift of writing Set Based code:
    ________Stop thinking about what you want to do to a row... think, instead, of what you want to do to a column.
    "If you think its expensive to hire a professional to do the job, wait until you hire an amateur."--Red Adair
    "Change is inevitable... change for the better is not."
    When you put the right degree of spin on it, the number 3|8 is also a glyph that describes the nature of a DBAs job. 😉

    Helpful Links:
    How to post code problems
    Create a Tally Function (fnTally)

  • roger.plowman

    SSChampion

    Points: 10136

    I have to disagree about the mathematics. I've heard this "need math!" creed my whole career (40 years) and it simply is not true. 

    Of course, if you're dealing with math-related programs (like statistics, plotting, mapping, 3D CAD, etc.) then you do need it. But the vast majority of applications and nearly all database work does NOT need anything beyond the most basic of algebra (and Boolean algebra). Even relational algebra isn't required for 3NF, only to derive the principles--which has already been done.

    It has been said programs are literally math and in a very special sense this is true, but the integer, finite-state math involved is as different from general, non-finite mathematics as the plant kingdom is from the animal kingdom.

    If I actually ever need to deal with higher math (say, calculus) I go find a mathematician (or more likely, Google the formulas needed).

    Finally, soft skills are important--if you're dealing with enterprise environments. There everything is political and you need basic political skills so you don't piss off somebody who then makes it their life's ambition to get you fired. In the SMBs where I've spent the majority of my career people skills beyond "don't be a jerk" aren't really needed.

    But then again, I don't really consider requirements gathering a people skill, it's more forensics, but I'm probably biased. 🙂

  • drew.allen

    SSC Guru

    Points: 76492

    Jeff Moden - Tuesday, October 30, 2018 6:39 AM

    If knowing how to program in one language basically means that, with some syntax changes, you know how to program in every language, I wonder why so many people have such difficulty with the paradigm change required for programming in SQL.  Of course, it's the differences between what people call "procedural" languages and "declarative" languages.

    And SQL is quite different.  It varies greatly from one RDBMS engine to another, especially when you get into anything sophisticated.

    Heh... now, where's the coffee and what kind of pizza are we having today? 😀

    I think it's actually changing from linear to set-based which is more of a paradigm shift.

    Drew

    J. Drew Allen
    Business Intelligence Analyst
    Philadelphia, PA

  • david.gugg

    SSCertifiable

    Points: 5624

    I got my undergrad in math and have found about half of it very helpful in my professional career.  Discrete math is particularly helpful when working in SQL.  I am curious how many people here have needed calculus.   I had the option of studying either operations research (optimization) or statistics for my degree and I went with OR.  While it has been helpful on a few occasions, I really wish I also had the statistics background as I've run into many challenges, particularly in the areas where DBA and BI development overlap, that really require statistical proficiency.

    Anyone out there ever used calculus in their programming career?


    [font="Tahoma"]Personal blog relating fishing to database administration:[/font]

    [font="Comic Sans MS"]https://davegugg.wordpress.com[/url]/[/font]

  • Jeff Moden

    SSC Guru

    Points: 994266

    drew.allen - Tuesday, October 30, 2018 7:41 AM

    Jeff Moden - Tuesday, October 30, 2018 6:39 AM

    If knowing how to program in one language basically means that, with some syntax changes, you know how to program in every language, I wonder why so many people have such difficulty with the paradigm change required for programming in SQL.  Of course, it's the differences between what people call "procedural" languages and "declarative" languages.

    And SQL is quite different.  It varies greatly from one RDBMS engine to another, especially when you get into anything sophisticated.

    Heh... now, where's the coffee and what kind of pizza are we having today? 😀

    I think it's actually changing from linear to set-based which is more of a paradigm shift.

    Drew

    Basically, those are the same differences as "procedural" and "declarative", IMHO.  A lot of people don't realize that, at its simplest, a SELECT is actually a loop or set of loops behind the scenes. 

    Whatever you wish to call it, the understanding that you have to think about what you want to do to a column rather than what you want do to a row helped me a whole lot when I was a beginner.  So much so that I carry that advice in my signature line below and have gotten feedback from some as to how it suddenly made SQL easier.  They weren't getting the "set based" concept but could easily grasp the "work on columns instead of rows" concept.

    --Jeff Moden


    RBAR is pronounced "ree-bar" and is a "Modenism" for Row-By-Agonizing-Row.
    First step towards the paradigm shift of writing Set Based code:
    ________Stop thinking about what you want to do to a row... think, instead, of what you want to do to a column.
    "If you think its expensive to hire a professional to do the job, wait until you hire an amateur."--Red Adair
    "Change is inevitable... change for the better is not."
    When you put the right degree of spin on it, the number 3|8 is also a glyph that describes the nature of a DBAs job. 😉

    Helpful Links:
    How to post code problems
    Create a Tally Function (fnTally)

  • drew.allen

    SSC Guru

    Points: 76492

    Jeff Moden - Tuesday, October 30, 2018 8:01 AM

    drew.allen - Tuesday, October 30, 2018 7:41 AM

    Jeff Moden - Tuesday, October 30, 2018 6:39 AM

    If knowing how to program in one language basically means that, with some syntax changes, you know how to program in every language, I wonder why so many people have such difficulty with the paradigm change required for programming in SQL.  Of course, it's the differences between what people call "procedural" languages and "declarative" languages.

    And SQL is quite different.  It varies greatly from one RDBMS engine to another, especially when you get into anything sophisticated.

    Heh... now, where's the coffee and what kind of pizza are we having today? 😀

    I think it's actually changing from linear to set-based which is more of a paradigm shift.

    Drew

    Basically, those are the same differences as "procedural" and "declarative", IMHO.  A lot of people don't realize that, at its simplest, a SELECT is actually a loop or set of loops behind the scenes. 

    Whatever you wish to call it, the understanding that you have to think about what you want to do to a column rather than what you want do to a row helped me a whole lot when I was a beginner.  So much so that I carry that advice in my signature line below and have gotten feedback from some as to how it suddenly made SQL easier.  They weren't getting the "set based" concept but could easily grasp the "work on columns instead of rows" concept.

    I actually Googled procedural vs. declarative programming before posting, and it sounds like that is a different distinction than linear vs. set-based.  I do think that there is a high correlation between the two, but I don't think that they are necessarily the same.

    Drew

    J. Drew Allen
    Business Intelligence Analyst
    Philadelphia, PA

  • Jason A. Long

    SSC-Insane

    Points: 23575

    drew.allen - Tuesday, October 30, 2018 8:08 AM

    Jeff Moden - Tuesday, October 30, 2018 8:01 AM

    drew.allen - Tuesday, October 30, 2018 7:41 AM

    Jeff Moden - Tuesday, October 30, 2018 6:39 AM

    If knowing how to program in one language basically means that, with some syntax changes, you know how to program in every language, I wonder why so many people have such difficulty with the paradigm change required for programming in SQL.  Of course, it's the differences between what people call "procedural" languages and "declarative" languages.

    And SQL is quite different.  It varies greatly from one RDBMS engine to another, especially when you get into anything sophisticated.

    Heh... now, where's the coffee and what kind of pizza are we having today? 😀

    I think it's actually changing from linear to set-based which is more of a paradigm shift.

    Drew

    Basically, those are the same differences as "procedural" and "declarative", IMHO.  A lot of people don't realize that, at its simplest, a SELECT is actually a loop or set of loops behind the scenes. 

    Whatever you wish to call it, the understanding that you have to think about what you want to do to a column rather than what you want do to a row helped me a whole lot when I was a beginner.  So much so that I carry that advice in my signature line below and have gotten feedback from some as to how it suddenly made SQL easier.  They weren't getting the "set based" concept but could easily grasp the "work on columns instead of rows" concept.

    I actually Googled procedural vs. declarative programming before posting, and it sounds like that is a different distinction than linear vs. set-based.  I do think that there is a high correlation between the two, but I don't think that they are necessarily the same.

    Drew

    This may not be an entirely accurate description but it's what I used to get my head around the difference...
    In a procedural language, you're telling the computer what you want it to do. In a declarative language, you're telling the computer what result you want.
    The difference being, in the declarative language, algorithms, not the programmer, choose the actual process steps needed to get at the desired result.

  • below86

    SSChampion

    Points: 11231

    david.gugg - Tuesday, October 30, 2018 7:52 AM

    Anyone out there ever used calculus in their programming career?

    Nope, not in my 27+ years of programming.

    -------------------------------------------------------------
    we travel not to escape life but for life not to escape us

  • Jeff Moden

    SSC Guru

    Points: 994266

    drew.allen - Tuesday, October 30, 2018 8:08 AM

    Jeff Moden - Tuesday, October 30, 2018 8:01 AM

    drew.allen - Tuesday, October 30, 2018 7:41 AM

    Jeff Moden - Tuesday, October 30, 2018 6:39 AM

    If knowing how to program in one language basically means that, with some syntax changes, you know how to program in every language, I wonder why so many people have such difficulty with the paradigm change required for programming in SQL.  Of course, it's the differences between what people call "procedural" languages and "declarative" languages.

    And SQL is quite different.  It varies greatly from one RDBMS engine to another, especially when you get into anything sophisticated.

    Heh... now, where's the coffee and what kind of pizza are we having today? 😀

    I think it's actually changing from linear to set-based which is more of a paradigm shift.

    Drew

    Basically, those are the same differences as "procedural" and "declarative", IMHO.  A lot of people don't realize that, at its simplest, a SELECT is actually a loop or set of loops behind the scenes. 

    Whatever you wish to call it, the understanding that you have to think about what you want to do to a column rather than what you want do to a row helped me a whole lot when I was a beginner.  So much so that I carry that advice in my signature line below and have gotten feedback from some as to how it suddenly made SQL easier.  They weren't getting the "set based" concept but could easily grasp the "work on columns instead of rows" concept.

    I actually Googled procedural vs. declarative programming before posting, and it sounds like that is a different distinction than linear vs. set-based.  I do think that there is a high correlation between the two, but I don't think that they are necessarily the same.

    Drew

    Guess I'll have to disagree a bit here.  You can actually do "linear set based programming".  It's a key to "Divide'n'Conquer" methods.

    --Jeff Moden


    RBAR is pronounced "ree-bar" and is a "Modenism" for Row-By-Agonizing-Row.
    First step towards the paradigm shift of writing Set Based code:
    ________Stop thinking about what you want to do to a row... think, instead, of what you want to do to a column.
    "If you think its expensive to hire a professional to do the job, wait until you hire an amateur."--Red Adair
    "Change is inevitable... change for the better is not."
    When you put the right degree of spin on it, the number 3|8 is also a glyph that describes the nature of a DBAs job. 😉

    Helpful Links:
    How to post code problems
    Create a Tally Function (fnTally)

  • Rod at work

    SSC-Dedicated

    Points: 33108

    roger.plowman - Tuesday, October 30, 2018 6:58 AM

    I have to disagree about the mathematics. I've heard this "need math!" creed my whole career (40 years) and it simply is not true. 

    Of course, if you're dealing with math-related programs (like statistics, plotting, mapping, 3D CAD, etc.) then you do need it. But the vast majority of applications and nearly all database work does NOT need anything beyond the most basic of algebra (and Boolean algebra). Even relational algebra isn't required for 3NF, only to derive the principles--which has already been done.

    It has been said programs are literally math and in a very special sense this is true, but the integer, finite-state math involved is as different from general, non-finite mathematics as the plant kingdom is from the animal kingdom.

    If I actually ever need to deal with higher math (say, calculus) I go find a mathematician (or more likely, Google the formulas needed).

    Finally, soft skills are important--if you're dealing with enterprise environments. There everything is political and you need basic political skills so you don't piss off somebody who then makes it their life's ambition to get you fired. In the SMBs where I've spent the majority of my career people skills beyond "don't be a jerk" aren't really needed.

    But then again, I don't really consider requirements gathering a people skill, it's more forensics, but I'm probably biased. 🙂

    I do agree with knowing mathematics is handy. Not so much how to do integration by parts or partial differential equations. But how to think logically. Mathematics teaches you that. Although, I'd point out that other degrees in college do, too, such as a degree in philosophy. (For those few who get degrees in philosophy.)

    Anyway, I've gotten a degree in mathematics and it's what helped me get into this field in the first place.

    Kindest Regards, Rod Connect with me on LinkedIn.

  • jay-h

    SSCoach

    Points: 18805

    david.gugg - Tuesday, October 30, 2018 7:52 AM

    I got my undergrad in math and have found about half of it very helpful in my professional career.  Discrete math is particularly helpful when working in SQL.  I am curious how many people here have needed calculus.   I had the option of studying either operations research (optimization) or statistics for my degree and I went with OR.  While it has been helpful on a few occasions, I really wish I also had the statistics background as I've run into many challenges, particularly in the areas where DBA and BI development overlap, that really require statistical proficiency.

    Anyone out there ever used calculus in their programming career?

    Oh so true. Haven't touched an integral in decades, the only trig I've used is on my home projects.

    ...

    -- FORTRAN manual for Xerox Computers --

  • ZZartin

    SSC-Dedicated

    Points: 30338

    david.gugg - Tuesday, October 30, 2018 7:52 AM

    I got my undergrad in math and have found about half of it very helpful in my professional career.  Discrete math is particularly helpful when working in SQL.  I am curious how many people here have needed calculus.   I had the option of studying either operations research (optimization) or statistics for my degree and I went with OR.  While it has been helpful on a few occasions, I really wish I also had the statistics background as I've run into many challenges, particularly in the areas where DBA and BI development overlap, that really require statistical proficiency.

    Anyone out there ever used calculus in their programming career?

    Hmm... have I ever used calculus as in written a differential or integral equation to solve something since college, no I have not.  But I have gotten quite a lot of use out of some of the various lessons from computer science that are based on applied calculus.

  • Rod at work

    SSC-Dedicated

    Points: 33108

    jay-h - Tuesday, October 30, 2018 1:43 PM

    david.gugg - Tuesday, October 30, 2018 7:52 AM

    I got my undergrad in math and have found about half of it very helpful in my professional career.  Discrete math is particularly helpful when working in SQL.  I am curious how many people here have needed calculus.   I had the option of studying either operations research (optimization) or statistics for my degree and I went with OR.  While it has been helpful on a few occasions, I really wish I also had the statistics background as I've run into many challenges, particularly in the areas where DBA and BI development overlap, that really require statistical proficiency.

    Anyone out there ever used calculus in their programming career?

    Oh so true. Haven't touched an integral in decades, the only trig I've used is on my home projects.

    Same here. I've not used any Calculus at all. Nor differential equations (partial or ordinary). Like Jay-h said, I've used trig, but for home projects. Nice to know, though. Statistics and probability has been helpful in my career.

    Kindest Regards, Rod Connect with me on LinkedIn.

Viewing 15 posts - 1 through 15 (of 19 total)

You must be logged in to reply to this topic. Login to reply