Mike Slinn

Connoisseur of Technology

How Much Do You Actually Program?

2017-08-07 / All Blog posts

Last week someone asked me how much I programmed, or even if I actively programmed any more. I recognized that the 20-something-year-old who asked me the question did not believe that people over 40 are capable of being skilled in relevant technology or productive programmers. Like all types of bigotry, ageism is ugliest when it is delivered with self-righteousness.

git-stats-scala

Following Paul Graham's advice, I decided to fight back with data. As the first step I wrote git-stats-scala, a program that combs through an entire tree of git projects and summarizes the user's activity for a given time period.

The resulting summary of commit statistics is intended to be placed near the top of one's resume.

The output of this program merely answers the question: "are you an active programmer?" Git-stats-scala only reports textual additions and deletions, and includes the net change, which one hopes are indications of actual programming. Statistics are reported for each computer language found. The reader is free to impart any meaning they deem appropriate to this output. I make no claims regarding meaning.

My Statistics

Here is a summary of my git activity over the last 365 days:

Subtotals By Language (lines changed across all projects)

┌───────────────────┬───────────────────┬───────────────────┬──────────────────┐
│Language           │Lines added        │Lines deleted      │Net change        │
├───────────────────┼───────────────────┼───────────────────┼──────────────────┤
│Scala              │+94,120            │-68,075            │+26,045           │
│SBT                │+7,896             │-2,639             │+5,257            │
│Java               │+23,955            │-20,597            │+3,358            │
│Markdown           │+5,049             │-4,497             │+552              │
│Python             │+371               │0                  │+371              │
│HTML               │+8,810             │-10,488            │-1,678            │
├───────────────────┼───────────────────┼───────────────────┼──────────────────┤
│Total              │+140,201           │-106,296           │+33,906           │
└───────────────────┴───────────────────┴───────────────────┴──────────────────┘

Every project I was involved with had more features and better quality at the end of the timeperiod compared to the state of the project at the beginning of the timeperiod. You cannot value software by weighing it.

I am curious to know how these numbers compare with those from other programmers..

The Cadenza Project

Here are stats over the same period for my contribution to the Cadenza core project. Cadenza is the webapp that powers ScalaCourses.com. During this period I hived several F/OSS projects from the Cadenza code base, which is probably why it does not seem to be growing much even though I added many new features.

┌───────────────────┬───────────────────┬───────────────────┬──────────────────┐
│Language           │Lines added        │Lines deleted      │Net change        │
├───────────────────┼───────────────────┼───────────────────┼──────────────────┤
│Scala              │+42,687            │-38,237            │+4,450            │
│SBT                │+233               │-120               │+113              │
│Java               │+102               │-10                │+92               │
│Markdown           │+519               │-2,617             │-2,098            │
│HTML               │+1,134             │-5,345             │-4,211            │
├───────────────────┼───────────────────┼───────────────────┼──────────────────┤
│Total              │+44,675            │-46,329            │-1,654            │
└───────────────────┴───────────────────┴───────────────────┴──────────────────┘

Contact Mike Slinn

Unless you are a recruiter, in which case you should not try to make contact!

  • Email
  • Direct: 514-418-0156
  • Mobile: 650-678-2285

Disclaimer

The content on this web site is provided for general information purposes only and does not constitute legal or other professional advice or an opinion of any kind. Users of this web site are advised to seek specific legal advice by contacting their own legal counsel regarding any specific legal issues. Michael Slinn does not warrant or guarantee the quality, accuracy or completeness of any information on this web site. The articles published on this web site are current as of their original date of publication, but should not be relied upon as accurate, timely or fit for any particular purpose.

Accessing or using this web site does not create a client relationship. Although your use of the web site may facilitate access to or communications with Michael Slinn via e-mail or otherwise via the web site, receipt of any such communications or transmissions does not create a client relationship. Michael Slinn does not guarantee the security or confidentiality of any communications made by e-mail or otherwise through this web site.

This web site may contain links to third party web sites. Monitoring the vast information disseminated and accessible through those links is beyond Michael Slinn's resources and he does not attempt to do so. Links are provided for convenience only and Michael Slinn does not endorse the information contained in linked web sites nor guarantee its accuracy, timeliness or fitness for a particular purpose.


comments powered by Disqus

© 1976-2020, Michael Slinn. All rights reserved.