2026 2

No Juniors, No Experts

Read out by Anand, who is not an AI. See Beating Pangram and AI detectors. These days, AI is reducing the number of entry-level jobs that we have. The trouble is, these are the jobs that are actually training tomorrow’s architects. How do we solve this? This is not a new problem. Zoho’s Sridhar Vembu posted something that’s been bugging me. He said, AI makes senior architects more productive and reduces the need for junior engineers. Then he says, if nobody starts junior, how can anyone become an architect? The data supports his concern. Stanford found that since late 2022, the employment for 22-25 year olds in jobs where AI is strong, like software, fell by as much as 16% compared with older workers who were doing the same jobs. Matt Dean at UCSB also saw this happening in robotic surgery. A phenomenon that happened even before AI came into the picture, because robotic consoles would allow surgeons to do what the residents used to do, and therefore, surgeons stopped bothering to train the residents. ...

AI in SDLC at PyConf

I was at a panel on AI in SDLC at PyConf. Here’s the summary of my advice: Process Make AI your entire SDLC loop. Record client calls, feed them to a coding agent to directly build & deploy the solution. Record your prompts, run post-mortems, and distill them into SKILLS.md files for reuse. Prompting Ask AI to make output more reviewable. Don’t waste time reviewing unclear output. Prefer directional feedback (feeling, emotion, intent) over implementational. Also give AI freedom to do things its way. Learn from that - you’ll be surprised. Learning ...

2025 1

If a bot passes your exam, what are you teaching?

It’s incredible how far coding agents have come. They can now solve complete exams. That changes what we should measure. My Tools in Data Science course has a Remote Online Exam. It was so difficult that, in 2023, it sparked threads titled “What is the purpose of an impossible ROE?” Today, despite making the test harder, students solve it easily with Claude, ChatGPT, etc. Here’s today’s score distribution: ...

2019 1

If you’re a seasoned developer that enjoys working with data, have good front-end skills, and are challenged by impossible deadlines, please drop me a note. I’d love to work with you at Gramener Mumbai. LinkedIn

2006 3

Facts and Fallacies in Software Engineering

Facts in Software Engineering People The most important factor in software work is the quality of the programmers. The best programmers are up to 28 times better than the worst programmers. Adding people to a late project makes it later. The working environment has a profound impact on productivity and quality. Tools and Techniques Hype (about tools and techniques) is the plague on the house of software. New tools/techniques cause an initial loss of productivity/quality. Software developers talk a lot about tools, but seldom use them. Estimation ...

Classic texts in computer science

Classic texts in computer science. Worth reading for the sheer insight. Update: The link didn’t seem to work in Feb 2007. Here’s the list. An axiomatic basis for computer programming by C. A. R. Hoare Communicating Sequential Processes (CSP) by C. A. R. Hoare Call-by-name, call-by-value, and the lambda calculus by Gordon Plotkin Towards a theory of type structure by John C. Reynolds Definitional interpreters for higher-order programming languages by John C. Reynolds An APL Machine 1970 by Philip S. Abrams Henry Baker’s Archive of Research Papers (many classic Lisp papers) The Anatomy of a Large-Scale Hypertextual Web Search Engin by Sergey Brin and Lawrence Page No Silver Bullet: Essence and Accidents of Software Engineering by Frederic P. Brooks, Jr. A Mathematical Theory of Communication by Claude Shannon Communication Theory of Secrecy Systems by Claude Shannon Bayesian Networks without Tears by Eugene Charniak A Universal Algorithm for Sequential Data Compression by Jacob Ziv and Abraham Lempel A Relational Model of Data for Large Shared Data Banks 1970 by Edgar F. Codd Let’s Build a Compiler 1988-1995 by Jack Crenshaw Gauging Similarity via N-Grams: Language-Independent Sorting, Categorization, and Retrieval of Text by Marc Damashek Worse Is Better by Richard P. Gabriel Hints on Programming Language Design by C.A.R. Hoare Why Functional Programming Matters by John Hughes The Design of APL by Kenneth E. Iverson The Early History Of Smalltalk by Alan Kay Computer Programming as an Art by Donald E. Knuth The next 700 programming languages by Peter J. Landin Recursive Functions of Symbolic Expressions and their Computation by Machine (Part I) 1960 by John McCarthy FORTH - A Language for Interactive Computing by Charles H.Moore Teach Yourself Programming in Ten Years 2001 by Peter Norvig Parenthetically Speaking, a collection of essays from the 1990s by Kent M. Pitman The Definition and Implementation of a Computer Language based on constraints by Guy Lewis Steele Jr. Growing a Language by Guy Lewis Steele Jr. Epigrams on Programming by Alan J. Perlis The Complexity of Theorem Proving Procedures by Stephen A. Cook Steps Toward Artificial Intelligence by Marvin Minsky The Original ‘Lambda Papers’ by Guy Steele and Gerald Sussman A Method for Obtaining Digital Signatures and Public-Key Cryptosystems by R.L. Rivest, A. Shamir, and L. Adleman The UNIX Time-Sharing System by Dennis Ritchie and Ken Thompson Comments jawahar 6 Feb 2007 5:52 am: anand this link is not working !! Classic-texts-in-computer-science – maxviv 5 Jun 2016 7:15 pm (pingback): […] Classic texts in computer science […]

Why we all sell code with bugs

Why we all sell code with bugs. All the reasons are tied up in one truth: every time you fix a bug, you risk introducing another. Don’t we all start out with the belief that software only gets better as we work on it? Nobody on our team intentionally creates new bugs. Yet we have done accidentally.

2005 2

Top 10 IT Google Videos

Top 10 IT Google Videos.

Metafor

Metafor is a tool that turns English into code. Check out the movie demo and Hugo’s Metafor website.

2004 3

Tips on writing better software

Alan Cox: Tips on writing better software.

Outsource your own job

Outsource your own job. A programmer outsourced his job to an Indian programmer. Salary arbitrage: $67,000 - $12,000 = $55,000. He’s planning to get another job and do this again. (It’s probably not true, though)

2003 1

Blogger at Google

A blogger’s first week at Google. Ovidiu Predescu. via GoogleBlog

2002 2

Famous software glitches

Speaking of bugs, here are some famous software glitches – right from the Patriot missiles misfiring to the London Millenium bridge wobbling. Some links are broken, though. (More glitches and links)

Music helps identify software bugs

Music helps identify software bugs. I’m sure it can be extended to many other forms of ordered data. DNA sequences, time series, etc.

2001 4

Joel on Software

Joel writes on software. “Good software takes 10 years” is a good read.

The Cathedral and the Bazaar

Eric has updated The Cathedral & the Bazaar

Software horror stories

Software can kill. Literally. Read software horror stories.

Microsoft interview question

“Write a one-line C expression to determine if a number is a power of 2”. Microsoft is famous for asking such questions to their programmers. Or you might want to find out what the assembly code CWD XOR AX, DX SUB AX, DX does. Satish’s site has the answer, but not the question. More questions: 1 2