The Pragmatic Programmer #1 - visualize early, middle and late stage technologies

Recently after going reading the whole of Pragmatic programmer I decided to formalize the actionable advice Mr. Fowler gave in the book, He instructed to create a list of technologies in Early, Middle and late stages and figure out where you stand, the table listed below is something I wrote in from memory and some references from TIOBE index, there exact column might be debatable but this is a subjective exercise so here is the table I chalked up.

As it is apparent from the table1, my only two technologies which I consider myself proficient in are in late-adoption, as far as being somewhat familiar is concerned, I have 1 in early(Swift), 4 in middle(underlined in middle column), and 3 in late-adoption, so at-least I am evenly distributed across, so this is the information I have and clearly I am not a early adopter2, a nice way to see what is new in technology industry is read the radar by Thoughtworks.

however this list is not entirely as described by author, some of the technologies listed in middle are used in industry for long time but aren't popular enough, and list is geared towards my own career, which is generalist Software Development, if you in a subfield, like ML and AI then the list would be drastically different.


I might have to devote some time to read up on early technogies, I will probably use rust after reading some recommendation from here and here and maybe swift, I will probably hash out some swift-playgroundy stuff.

Also this exercise gives a better picture, obviously I can think it up and create a mental model, but that would be slower then just reading this document.


  1. dark and underlined in table signifies proficiency, just underlined signifies used sparingly.

  2. Although I am trying to learn Rust for a while but there doesn't seem to be anything for me which is more pleasurable to work with in rust than in Python.