• Steve Jones - SSC Editor (10/7/2013)


    simon.crick (10/7/2013)


    Cadavre (10/7/2013)


    simon.crick (10/7/2013)


    I will probably get shot down again for saying this, but I believe people should stick to core technology and basic tecnhiques unless there is a very good reason for using exotic technology and advanced techniques.

    Why? Because no one person (even those of you who think you are expert experts) can ever know more than a tiny fraction of all the available technology and techniques, and if we all go off on our own paths following our own preferences for exotic technology and advanced techniques, then our systems will end up being a completely unmaintanable mish-mash of technologies and techniques.

    I am not dumb. I have consistently achieved very high grades and won awards for outstanding achievement, etc., but the more I learn, the more I realize it is impossible to know everything, and therefore, out of consideration for our colleagues, we really ought to be sticking to core technology and basic techniques wherever possible.

    Simon

    I disagree completely. You go with the "best" technique (measurable by performance tests) for the job, regardless of complexity. Then make sure that you document how the logic works.

    So if it works 1% faster but is 10 times as complex, you still go for the "advanced" technique?

    I'm with Simon here. You stick with what works, what is simplist (KISS principle) and what you can get done quickly. You look for better ways to do things, but you also don't just implement something just because it's faster. Mostly because faster isn't always true. We don't operate on a linear scale, but rather a multi-dimensional one. The stuff that we do might work well for some queries/situations, and not others. It works at some data volumes, but not others.

    You look for better techniques and learn how to use them, but you carefully change what you know works well and is simple only when you have good reasons.

    Simple techniques does not imply shoddy techniques. Basics are not wrong, they are just of less complexity.

    Steve, It's short but very brilliant stuff from you. And it is correct that basics are not wrong.

    However you must grow your knowledge with time because the company's and team's expectation grows as your experience increases. It's good for a 1-3 yrs experienced SQL developer to have knowledge on general tables, procedures, triggers etc but with 3-5 yrs category he should know about performance tuning and optimization and as the expeirence grows, it should show in you work on bigger scale like designing any small scale or big scale project efficiently keeping scalability in mind. Also you should be well versed with stuff like perfmon and profiler etc. Today a good sql developer is also good to have knowledge on business studio (SSIS/SSRS/SSAS). Anything over 8 yrs experience should ideally be able to take decisions from Project's side over database management.