SSWUGtv
With Stephen Wynkoop
What does a solid contract look like that is fair to all parties? As you contract with customers, (or consultants) what are the key things to look for? Help is here….with Coach Laura Rose.
Views Out Of Control
Views have been a core feature of SQL Engines for many years. For all I know, they have always been supported in the SQL Specifications. I’ve never worked with an SQL engine that didn’t support views.
Views are used to produce virtual tables consisting of one or more physical tables or other views; composed of any subset of columns from any source table; also supporting computed columns. In short, they provide simple packaging of just about any SQL select query which may be used in place of a physical table in a query.
Views can grow out of control if not managed. I once won second place in a contest for the worst SQL. I entered a query based on views that were out of control.
The developers started with a set of tables and built views on those tables. Sometimes views were joined to other views having some of the same base tables. Other views were based on views and then joined again. For my submission I traced a final query based on views, tracking each view down to the actual source tables. In the end I found one table joined 48 times in this one single query.
I’m not saying views are not useful. I am saying they need to be used strategically.
If you are new to SQL, Joe Celko published an introduction to views, http://www.simple-talk.com/sql/learn-sql-server/sql-view-basics/, you’ll find helpful to get you started.
The Value of the Masters Degree
A number of readers responded when I shared my interview and working experience with individuals having attained a masters degree. Many of the respondents also have a masters degree and have found it to be useful. One thing that seems to be common is these individuals didn’t go directly into graduate studies; they gained some practical experience first.
Ron:
I think you were spot on about how useless a masters degree is for doing actual work in the real world of software engineering. I used to think I was just biased because I started my first software company when I was 16 and I only went to college for a year before I couldn’t stand it anymore. In the course of my now 25+ year career, however, I have worked with many people and the vast majority of the people I would choose to work with again have little or no college experience.
Sabat:
I liked your article. Your observations are right.
Most of MS graduates in today’s US universities are from outside US. They have limited knowledge of software crafting.
They do not have rigor of BS ( Computer Sc ) program as we see here in US.
Unless the candidate has done extra research and published papers with hands-on coding and architecture design on his/her own, you cannot ascertain their educational skills.
To make interview bit easier, Responsibility could be renamed as Contract and you can ask candidate what it meant by contract programming. Good software candidate who is well aware of C# or Objective-C should be able answer them off the bat.
Karen:
I’d have to fall somewhere in the middle of your master’s realm – I have two, both of which brought me excellent information. BUT – I spread them out. I worked in the software development industry for 7 years with my BSCS before I went for my CS master’s. It brought me insight into things I had done, and brought me up to speed quickly on new developments in the field.
I waited another chunk of years before switching to healthcare informatics, at which point I picked up a masters in medical management – a business degree, but one that gave me the domain knowledge to operate in an entirely new realm quickly.
What we all need to remember is that a credential is just a piece of paper. I’ve known people from the same school who had the same credential who were wildly separated in their practical knowledge of the field and ability to apply what they knew. The credential proves that you can learn things in an organized manner and spit it back out on paper, but it doesn’t prove that you’ll continue to learn in the workplace, or that you can learn on your own, or that you can synthesize the things you did learn formally into innovative solutions to common, real-world problems.
Could I answer your building block questions? Sure – and they’re good things to know. But does that tell you if I can take those building blocks and stack them up? No, it doesn’t, and in 75% of the people I interview, a few extra questions reveals that they may have the blocks, but they don’t know what to do with them.
Let’s take a broader approach – the degrees are nice, the basics are nice, but none of them should weigh more than the others – show me what you’ve built with them, or at least be able to talk about why what you’ve built was useful in solving a problem or filling a gap!
Do you have best practices you follow when using views? You can share them with us by sending an Email to btaylor@sswug.org.
Cheers,
Ben
$$SWYNK$$
Featured Article(s)
Spool Operators: Eager Spool, Lazy Spool, Row Count Spool
There are a lot of operators in the query execution plan that we generally overlook (I do this for those operators which I have no clue about). Sometimes these operators prove out to be pivotal in the performance of the query and we are forced to take good care of them. Spool operators are one such category of operators that we generally don’t pay much attention to. But the very existence of spools in your query plan hints (most of the times) that the query is not optimized and SQL Server was forced to use spools to make the best out of your query. In this post, I will talk about what spools are and when they are used. I will go into details of Eager spool, Lazy Spool and Row Count Spool and we will see an interesting problem- known as the Halloween Problem. In the next post I will talk about the remaining spool operators- Table spool, Non-Clustered Index Spool and Window Spool and few guidelines to avoid spools.
Featured White Paper(s)
Encryption & Key Management for Microsoft SQL Server 2008/2012
Simplify encryption and key management on your SQL Server. Data thieves are targeting SMB companies because of their inadequa… (read more)