So there is no need to be smart to be a developer ?

So there is no need to be smart to be a developer ?

I have conducted technical interview and my main focus has ALWAYS been how smart the developer is. The market is saturated with developers having below average abilities and a bad hire cost much more than rejecting few passable ones. That's how it is.

I can probably brag since ALL people who passed my interviews and got hired were the top performers. Not good, right at the top after few weeks or few months.

How does that happen? What I am seeking is potential, not what was done. Has someone some potential and can he express it? That’s what I am answering.

The tests have mostly three parts: pure technical knowledge (language, frameworks, tooling), trivia (general IT knowledge), problem solving (reading and writing code, solving problems).

The last part has much more weight as the remaining two parts can leverage the ability to quickly learn to be fulfilled. The reverse is not true, you can know design patterns by heart without being able to implement them or apply them in proper situation. It would be even a dream to have them adapted to the situation at hand!

I have no shame to define metrics and standardize the way the test is conducted. I am quite proud of it.

Here is an example of it:

No alt text provided for this image

As you can see “problem solving” accounts for 50%. You can also see that the number of items increases as the items require less and less thinking in later questions.

Here is an example of question being brainless: “What is OWASP?”. You know, or you don’t.

I do not know why some people start saying one does not need to be smart to be a developer and this is something that simply hurts the market. Not everyone can be a developer.

Did you know that there are quite a lot of offers requiring the developer to assume more than his role?

Here is the first offer I found on Monster.be by typing “php” and selecting Brussels as a region.

Title: Drupal Developer - PHP/ Symfony

No alt text provided for this image

Obviously, I had to redact the top, but I wanted the screen to be easy to recognize, hence the “wasted” space.

I color-coded it by roles. Each role is a position that exists in the IT world:

  • Yellow: Architect [responsible for system architecture]
  • Cyan: Business Analyst [responsible for gathering requirements and refining them, offer strategies to achieve a goal too]
  • Pink: Project manager [responsible to oversee project life-cycle, often the SPOC for a team]
  • Green: Consulting/Technical adviser [responsible for technical decisions, can offer recommendations]
  • Orange: Quality control [execute tests—more recently: write them!] and report on quality

Now, the funny part. I took the data from glassdoor:

We can quickly see something: developers are cheap. They become very cheap when they even do parts or whole of the functions above!

How did we get to this situation? Developers are smart, damn smart. They have to learn every day and challenges renew. In 2000, making an Ajax request was painful (XMLhttpRequest), changing the web page at run-time was tedious. Then something called JQuery combined in the advance of browser technologies made that part easier … so we moved to having full application built into the browser! Today, you can edit Word documents and navigate your files and play games right in the browser! Even VR…

Did we call back all developers in a secret training center during the night? No, they went along. They kept up to date and learned.

This is THE job that can change from one year to another. So, that’s not a miracle that a developer can take on easier jobs.

This did probably put you in denial. How can these smart people be underpaid? Well, contrary to what is advertised, there is no shortage of developers. There is a shortage of competent ones. Companies hire incompetent developers, lowering the wages for the most competent. They hurt themselves in the process, but the most competent developers will fix the technical debts then leave for better pastures or move to a Business Analyst, Software Architect or Project Manager role. One problem here is that there are too many people who get trained to fill these roles and are subpar compared to a developer who could fit.

To give you a practical insight on the developer job, I created a friendly version of some problems I asked to developers. You can give them a go and appreciate how difficult these can be. These are for junior developers, so they use concepts everyone should be able to come up with. Also, you are not under “interview pressure” which makes them even easier. You will have to click to read the texts.

If you solve each in less than 10 minutes, congratulations, you have the basis to pursue development. If it’s opaque to you after 30 minutes, you won’t cut it.

No alt text provided for this image
No alt text provided for this image
No alt text provided for this image

If you did it seriously, you may have been challenged by the last two. Few people will get these as they look like “maths” puzzles. Albeit, the concepts covered are really basic and pervasive. (Not many details not to spoil this.)

Lastly, some people would think it’s illegal, non-ethical, elitist or whatsoever. Only the "elitist" part is true. While we admit that size or strength may be a deciding factor for a job, we can’t tolerate intelligence can be. It’s time to revise that thinking!

Do not hesitate to comment, but be civil and give some ground when required.

What can be asserted without evidence can also be dismissed without evidence — Hitchens's Razor
Marcel Popescu

Software Developer | .NET | SQL | Web Development | Focused on Delivering Robust & Efficient Code

6y

Good article, though for an OCD like me the typos are annoying :) [Bellow, really? :D]

To view or add a comment, sign in

More articles by Christian Baune

  • Look at this, can you do better in Java/Kotlin/PHP ?

    Quick easy post to highlight the XQuery advantage. Replicate this in your favorite language.

  • Optimization 2

    Computing size VS Fast and slow pointers The graph above show the performance of two algorithms which attempt to find…

  • The Optimization game

    Optimizations are not trivial and theory is not enough. Let see an example of it at play.

    1 Comment
  • About AI and chatGPT especially

    Too many people think that AI will take our job. That's not entirely true.

  • Programming challenges at PDF Butler

    Here are the few challenges one can face at PDF Butler, two of them were from the past week. Challenge 1 You are given…

  • Buying a cake

    Once upon a time, Nole Ksum wanted to buy a cake. The bakery didn't like that idea and refused the deal.

  • The misunderstanding of Big Bang Theory

    You may skip that article altogether if you are unable to handle something a little controversial or don't know how to…

  • Regular polygons in shaders

    Some GL_ES to create regular polygons: // Author: Christiqn Baune // Title: Polygons #ifdef GL_ES precision mediump…

  • Slicing shapes

    Have you noticed that regular polygons and rectangles have a nice property when it comes to slicing them ? If the…

  • Small code problem

    Change the array values so it prints 1,2,3,4,5,6,7,8,9,10,11 in the console (easy): function changeArray(inArray) {…

Others also viewed

Explore content categories