Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Signs of a great SQL developer

Tags:

sql

Based on their work, how do you distinguish a great SQL developer?

Examples might include:

Seldom uses CURSORs, and tries to refactor them away.
Seldom uses temporary tables, and tries to refactor them away.
Handles NULL values in OUTER JOINs with confidence.
Avoids SQL extensions that are not widely implemented. Knows how to indent with elegance.

like image 882
dkretz Avatar asked Nov 15 '08 18:11

dkretz


People also ask

What makes a great SQL developer?

You should be able to: Create databases with efficient structures. Write optimized queries, views and triggers for integration with other applications. Maintain high standards of data quality and integrity.

Is SQL developer is easy?

It's not an easy path, but it's doable if you want it and you're ready to put the effort into it. When you learn the basics and finally get your first job as an SQL developer, you'll continue to learn more and more each day.

How much does a SQL developer make?

In the United States., SQL developers can typically make a median salary of $98,860, according to the Bureau of Labor Statistics [1]. Roles such as SQL developer and other database administrators have a projected job growth outlook of 8 percent between 2020 and 2030 [1].


1 Answers

I've found that a great SQL developer is usually also a great database designer, and will prefer to be involved in both the design and implementation of the database. That's because a bad database design can frustrate and hold back even the best developer - good SQL instincts don't always work right in the face of pathological designs, or systems where RI is poor or non-existent. So, one way to tell a great SQL developer is to test them on data modeling.

Also, a great DB developer has to have complex join logic down cold, and know exactly what the results of various multi-way joins will be in different situations. Lack of comfort with joins is the #1 cause of bad SQL code (and bad SQL design, for that matter).

As for specific syntax things, I'd hesitate at directives like:

Does not use CURSORs.

Does not use temporary tables.

Use of those techniques might allow you to tell the difference between a dangerously amateur SQL programmer (who uses them when simple relational predicates would be far better) and a decent starting SQL programmer (who knows how to do most stuff without them). However, there are many situations in real world usage where temp tables and cursors are perfectly adequate ways (sometimes, the only ways) to accomplish things (short of moving to another layer to do the processing, which is sometimes better anyway).

So, use of advanced concepts like these isn't forbidden, but unless you're clearly dealing with a SQL expert working on a really tough problem that, for some reason, doesn't lend itself to a relational solution ... yeah, they're probably warning signs.

like image 163
Ian Varley Avatar answered Nov 14 '22 22:11

Ian Varley