Skimming Stackoverflow Survey

To have a small break on my daily habit of learning German, I decided today to go through an actual reliable source of information on the job market for developers. Although I am currently on the last courses for my master on NLP~AI, reality is that that to get anything done on an AI project a lot of knowledge is necessary on software development. Stack Overflow has always been and continues to be THE reliable website people that build things go to. With that in mind, let me write that I found interesting on https://survey.stackoverflow.co/2024/

Developer profiling

There is no arguing this, a Bachelor’s (I would guess in CompSci or SoftEng) is by enlarge the dealbreaker. From most criteria I have seen for job applications, this holds true as well; in my personal experience a Master is a “nice plus” if it happens to be in the same specialty as is required for a job position but in most situation is not a hard requirement.

base-education

Looking at the rest of the section of learning to code, the documentation is still the preferred choice to consult for the average developer. The trend for the last 20 years has been to create more API-dependant webs and projects. External API/software library changes are going to happen regardless of how error-tolerant your code is; and when you have to actually sit down and adjust things on your end it is worth it to check what the most official source plans on doing (to prevent having to change your code again in the future, or at least prepare your code for it).

We can also see on the demographics, that development pushes out the elder. This is not surprising, the barrier of entry for coding is quite harsh: learning Javascript at 50 with some minor knowledge on programing (a bit of SQL here and there, editing some Python scripts ) is an experience I can only picture as miserable. When you have to begin reasoning on synchronously-run code or infrastructure limitations things get hard to follow quite quickly.

demographics

My important take-away from this graph is that coders run on a quick fuse; it is important to understand that you are going to get worse and slower with time and prepare for it (by learning management skills in all likelyhood). Roughly 80% of coders do not code past 45 (at least professionally) and it would be unwise to hope to be one of the few.

Technology

A quick glance at the section shows a very common theme: Relying on external APIs or resources. Main remarks :

AI

Now on the next section of the review I think that the sentiment is very consensuated; while useful, they are nowhere anywhere near to compete with an even junior programmer.

Most developers consider it a helpful productivity tool, but not an efficacy tool. Let me explain this by showing the graph that seems to disagree with the rest:

ai-usage

Here, the vast majority of developers like using AI-generation to write code, but in the rest of graphs AI the reliability of it is questionable at best. The reason is: they are using AI-generation in order to template their solution better. The average developer wants to solve the meat of the problem, but has to follow then some arbitrary standard (that questionably improves the quality of solution, and will change trends in not that long).

AI-generated text has an extremely consistent grammar and questionable factual information. This applies to coding as well, but that is only helpful when the relevant semantic information of the code is already there. At that point you may want to check what “the standard of doing x” is, but that ONLY solves the problem of appealing to someone else, rather than solve whichever your task was.

This is further evidenced by the fact that an overwhelming majority of developers do not feel close to being replaced. Developing is 55 minutes of staring at lines and doing checks to write what you have to do in 5 minutes. In this analogy, AI generation might be helpful on these last 5 minutes.

ai-sentiment

Laboral conditions

Not a lot to say about this section other than: technical skills, even when niche and in demand, have a lower compensation cap than management skills.

role-compensation

We can also see from a later section that management does not tend to jump into coding directly (or at least not stack overflow). It is also interesting to see that most people manager report to be happier at work.

satisfaction

Personal notes

As much as grandious claims on AI keep happening, I can only interpret the usage of AI tools. To quote one of the most relevant programmers, Linus Torvalds “You need to be a bit more cynical about this whole hype cycle” link, in regards to GenAI.

The survey also confirms the strong bias towards microservices and cloud computing that has been growing on the last years. While these are more expensive by themselves, I think a lot of companies have found a pleasant use for them. I think for companies with some specialized tech product that they properly “sell” rather than “sell a service to” it just makes sense. In the B2B sector, where a product is sold that “should just work with minimal support” this allows the selling company to wash their hands off the hosting risks and the buying company gets something that “will just work” with a bit of a premium cost.

Seeing these trends, I think that the future will look good for independant consultants. While a product that “just works” is great, maintenance is a necessity for a reason; and in this quickly-changing tech world of APIs accidents will happen sooner or later. I have always been trying different technologies and not specializing too hard, even though most job offers seem to really value a “perfect fit”. I do not have a crystal ball, but I think this over-specialization is not the healthiest state for the sector and leads to less professional products.

Seeing different sides of tech has allowed me to alltogether skip technical requirements and realize the power of using simple tools. This blog uses HUGO because the time I spend on writing an article is the exact same it takes me to do it, a single command-line allows me to rebuild and deploy. My backups are done similarly. I have my own hosting as well because this sets a very low maximum cost for any project I want to deploy. If a project is then successful, migrating it to a microservice architecture is easy, but until that point a minimal environment is good enough.