we superficially understand our tools, just enough to get the job done

My feeling is that in the haste of just getting things to work, Just pushing out features, just going thru the busy Sprint and barely completing the cards on the last minute,
Just wanting to get the task done, so that we start work on the next task in our busy queue,
we end up with solutions/code that (barely) works… but… it is far from being a clean, clear, well put together solution

we superficially understand our tools, just enough to get the job done, and don’t use them in a proper way; this way our solution works, but… it is brittle, it is not clean, it is not… finished/completed…

To try to support my allegations I provide the following example:

We had some SQL queries that were runned in some groovy scripts, which we used to provide the management with some specific data that they requested.

Implicit JOIN Syntax

SELECT *
FROM  orders o, customers c
WHERE o.customer_id = c.customer_id

When I first saw the queries, my feeling was one of unsease, confusion, not clarity – it wasn’t clear to me why was the query written like that, and how exactly did it worked …
Whenever I had to deal with those queries, I felt an emotional pain, it was demotivating and I needed extra time and motivation to get to job done, it was a bit ugly…

Now, when I am doing a proper(awesome!) course on MySQL; my feeling that those queries were not quite right is confirmed!
We were using implicit JOIN in those queries, and the instructor explained why the implicit JOIN should be avoided!

  • Why were those queries written like that?
  • Did the author knew about the implicit JOIN
  • Was he aware that implicit JOIN doesn’t make the query clear, and it is easy to miss the join condition?

Leave a comment