this post was submitted on 22 Jul 2026
-27 points (15.4% liked)

Programming

27814 readers
396 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities !webdev@programming.dev



founded 3 years ago
MODERATORS
 

How many lines of code does an average Linux kernel developer produce per year?

Based on estimates of the value of the Linux kernel (around 2200 Million Euros in 2011), the size of the kernel (in 2011, version 2.6 was current, with a bit less than 20 million lines of code), and average salary of kernel developers (for Germany, one could estimate 60,000 - 80,000 EUR/year for a mid to senior embedded developer, you can go to kununu.de and look for salary statistics for larger companies like Siemens as a reference), one can estimate the lines of new code that a full-time kernel developer produces - less than 1000 lines per year:

 value=2200000000
 cost_man_year = 60000
 lines_of_code= 20000000

 person_years = value / cost_man_year
lines_per_person_per_year = lines_of_code / person_years

I get to 545 lines per person-year that way.

The interesting question is: You can obviously type that in in half an hour. What do these software developers actually do all day? ;->

Edit: Some people might get it wrong and overlook the πŸ˜‰ emoticon: I absolutely don't think you should or can measure the productivity or competence of a software developer by counting the lines he or she produces! Myself, I just fixed a bug after searching one whole week for it by uncommenting a single line ... in a two year old unfinished port of a software written 15 years ago to implement and port a niche industrial protocol created 18 years ago.

all 23 comments
sorted by: hot top controversial new old
[–] jokro@feddit.org 31 points 2 days ago* (last edited 1 day ago)

What do these software developers actually do all day? ;->

Navigate the million lines codebase to understand what their changes do.

[–] Enoril@jlai.lu 26 points 2 days ago (1 children)

Coding is the easiest part of the job and do not represent the main people activity.

Looking at the number of lines of code and thinking "they are only doing that" is like looking at any Mozart cues and thinking "he spent years to fill 50 pages of black dots?".

Coding is like creating music. It's not because you can write lines of code that the result will be a working solution.

You need to know your activity very well to be able to get the best from all the instruments you have in your hands.

Before coding any line, you had to THINK about the solution, find the best architecture, how to implement it without impacting in a negative way the product, detect the potential side effects, how to test in all the possible scenarios, how to maintain it, etc.

What you pay here is knowledge, experience, architect skills, coder, tester, troubleshooter, project management, devops, etc.

You pay highly skilled people who have the responsibility to not screw up all the servers infrastructure of the world, the brains of aircraft, cars, manufacturing tools, etc... And you don't want them going elsewhere as the knowledge ramp-up of any newcomers could take years.

This is where the salary goes. People brain.

[–] grandel@lemmy.ml 2 points 2 days ago (1 children)

Yeah it's like the engineer who wrote a 10000 dollar bill for exchanging a single screw to his enraged customer:

  • Exchanging screw: 1 dollar
  • Knowing which screw to exchange: 9999 dollars

(It's a whole story, I don't remember exactly)

[–] HaraldvonBlauzahn@feddit.org 2 points 1 day ago (1 children)

(It’s a whole story, I don’t remember exactly)

I'd be delighted to read it!

[–] grandel@lemmy.ml 2 points 1 day ago (1 children)

A really beautiful and touching story!

I think we owe these inventors and engineers who created our electricity system so much.

Their effort are today more important than ever, much more than they would have dreamed of. Consider this: Humanity is in a race for survival, a race to escape climate change. With 3 or 4 K of warming, civilization cannot survive. If we make it, electrical infrastructure will be a big part of the solution.

If you ever have grand-grand-grandchildren, five generations from now, they will likely be alive to a big part because of their efforts.

Thank you!

[–] vrek@programming.dev 13 points 2 days ago (1 children)

The value of most programmers is not loc. It's knowing the right lines to type. It's knowing which lines to eliminate. It's knowing how to set up your program so it's as short as possible while having all requested features. I can give you basic calculator in maybe 100 lines. I can give you same calculator on 100k lines. Which is the better program? Which do you think is more maintanable? Which do you think is faster?

[–] vrek@programming.dev 6 points 2 days ago (2 children)

Anyone questioning how to make it 100k lines... Easy

#include "win32.h"

I wish more people did that, at least we would have better software than these Electron crap

[–] HaraldvonBlauzahn@feddit.org 1 points 1 day ago* (last edited 1 day ago)

Yeah! But don't forget to use Dvorak layout when typing this incantation ... don't let your productivity be hampered by stuck fingers ;->

edit: Or perhaps use these voice input systems to whisper your code directly into the AI's transistors.

[–] nebeker@programming.dev 12 points 2 days ago (2 children)

Is that salary estimate also from 2011?

There’s a more robust methodology here, which is to look at commit history, but that will only tell you how many lines were pushed and merged. That will be a greater number, by the way: say the kernel is 100 lines, somebody may have written 50, but they may have all been replaced by future patches, so The number of lines written is greater than the number of existing lines.

Regardless, I’m sure you already know lines of code is a bad metric of output, let alone effort and work.

[–] HaraldvonBlauzahn@feddit.org 1 points 2 days ago (1 children)

Is that salary estimate also from 2011?

I got 60K as a mid-level C++ developer in industry in 2009.

[–] nebeker@programming.dev 2 points 2 days ago (1 children)

Ah, OK. What’s the expectation these days, if you don’t mind me asking?

It largely depends on at what price you sell your soul.

[–] HaraldvonBlauzahn@feddit.org -2 points 2 days ago

That will be a greater number, by the way: say the kernel is 100 lines, somebody may have written 50, but they may have all been replaced by future patches, so The number of lines written is greater than the number of existing lines.

Some parts are rewritten, but most of the kernel code is actually in device drivers which usually do not need to be re-written.

[–] thingsiplay@lemmy.ml 4 points 2 days ago

You realize that there are lots of lines of code erased and updated too? So comparing the size of the entire base does not tell you how many lines are written. Lines of code was always a bad metric, especially using it like this.

[–] KissYagni@programming.dev 3 points 2 days ago (1 children)

I don't know if the last part "What do these software developers actually do all day? ;->" is ironique or not.

Anyway, from my experience, industrial software developpers generate around 10 to 100 loc/day. For mobile game or shitty web stuff, it can go up to a few hundreds. For DO178A certified aeronautic code, this is closer to several days per loc πŸ€ͺ. To know what's going on when manager try to increase this metric, just have a look to Boeing.

[–] HaraldvonBlauzahn@feddit.org 2 points 1 day ago* (last edited 1 day ago) (1 children)

I don’t know if the last part β€œWhat do these software developers actually do all day? ;->” is ironique or not.

It is actually a mix of two things:

  1. Ironic about the idea of what AI companies promote - and many managers in tech believe - that you can speed up the work of developers by speeding up code generation. The fact that typing in code costs way less than 0.1% of developers work time shows that the time to type in code is /not/ the bottleneck.

  2. Interested in what it is actually that costs time. I think most time I work on larger projects is reading code and trying to understand how different parts are related, what invariants it has, etc. It is actually a form of /learning/ because it uses material to build a useful long-term collection of related concepts in my brain.

Anything that'd help us to do and understand the second part better would be extremely useful for this work. I think that literate programming, also tools that can transparently put code into a form of interconnected hypertext (like the LEO editor), inline doc tests and so on, are helpful for that.

Personally, I also think that wikis like gollum are powerful tools for that kind of learning, but not many people seem to agree with this (except the fossil and forejo authors).

[–] KissYagni@programming.dev 2 points 1 day ago

Interesting point of view. You got my upvote πŸ˜‰ I think many people took it 1st degree, so the many downvote you have.

I'm personnaly not a big fan of natural language programing. Natural language is too ambiguous and subject of interpretation. So you have to give very long description of what you want to achieve. I often do the parallel with Mathematics. If you read Euclid's_Elements's definition for point, line, etc..., wording is extremly wordy and indigestible. But moderne formalism is much more concise and precise. Now with LLM and vibe coding, I have the impression that programming is evolving backward 😟

The role of a developper has never been about writing code. The role of a developper is to formalize a problem. In a certain way, job of developper didn't changed a lot since the last 50 years. My grandpa use to be developper on punch cards, and he had the sames problems than us today. How to translate accounting department request into series of instruction, how to define boundaries, etc...

[–] Archer@lemmy.world 3 points 2 days ago

OK Jack Welch

[–] ludrol@programming.dev 3 points 2 days ago (1 children)
  1. You are mixing up the units here. Value is not a real money, and you can't pay salaries with value. You can pay salaries with cash.

  2. To actually get how many LOC in a kernel per person per year they produce. You need to look at git history, and do data science on it. It's doable and easy but not really my area of expertise.

  3. You need to account for that vast majority of contributors make just one patch and they are never heard from again. They don't work full time, or even part time on the kernel.

[–] HaraldvonBlauzahn@feddit.org 2 points 19 hours ago

See the linked Wikipedia article. The value is defined as the estimated hypothetical costs to re-create it, and these costs would be salaries. There exist estimation models for the value of large Software systems, which are e.g. used in company takeovers and mergers. And of course, that's hypothetical, the Linux kernel is not for sale.