IntelliJ the best mysql client

I am using IntelliJ as my MySQL client.
It is Better than MySQLWorkbench, SequelPro, Heidi, DBeaver, etc…
– unparalleled autocomplete, it is almost as if it is writing the queries by itself
– run just part of the queries,
– auto-refresh! (you created a new view/table you don’t need to refresh)
– easily switch between various DataBases,
and many others

1. Create a new DataSource/Connection
2. Databases Consoles

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?

Two types of code challenges in hiring interviews.

While trying to land a job, I’ve been thru quite a few code challenges.

I noticed that there are 2 types of challenges.

1/
The company sends you the requirements and you agree to submit the results by a certain date.
– you can have a say about how much time you need to finish the challenge
– usually the challenge is a bit more complex, than just probing to see if you know a certain algorithm
– it allows you to be a bit creative and to build a small domain for the business problem
– you can your favorite/familiar IDE

2/
You get a link to hackerRack, Colidity, Hired, etc,,,
and you have 1/2 hours to solve 2, 3 specific problems

I prefer the 1st type of challenges, and I don’t tend to do very good on the 2nd type of challenges.
And I don’t think stress helps me come up with the optimal solution.

Also I find the 1st type of challenges more similar to everyday real life project problems. Where you receive some business problem and you have to model it into code constructs.

I don’t understand why there is a strict time box to solve the problems. Under strict time-pressure,  it is highly likely that I will miss the best idea for the solution.

It is like asking a chef to prepare a very special meal.
– Do you think that the chef will do his best if you give him just 1 hour to prepare the meal?
– Or do you think the chef will do a better job, if you tell him:
“I would like to have a lunch reservation for tomorrow at 13.00.
Could you please prepare for us this amazing meal by that time?”