DEV Community

Discussion on: Cognitive Bias and Software Engineering

Collapse
 
gtanyware profile image
Graham Trott

These points are well made. I know I'm somewhat more senior than most (to be honest, that's pretty well 'everyone') but I'm not really conscious of having any more memory problems than in the past. However, the rate of introduction of new technologies and techniques is leaving me stranded, and I imagine a lot of others feel the same. If you aren't living and breathing the stuff you rapidly lose your edge.

The problem may be I have to do a lot of varied things these days, each one requiring its own knowledge base. So I could be writing JavaScript code for a few weeks then have to do a couple of weeks on Python. Those few weeks are enough for carefully-constructed mental maps to begin to unwind.

I lived on the French/Italian border for several years and perhaps because I'm not advanced in either language I noticed a similar effect, not finding it easy to change gear when moving from one to the other. If the daily routine means using both there's less switching overhead, but lack of use for even a month or two makes it hard to get instantly back in again.

Human languages don't take on new features as enthusiastically as computer ones, so the problem may well be even harder for us programmers. It takes me many hours to get back into my own code after I haven't seen it for a while, and the problem is much worse when it's code written by someone else (especially if - as noted in my article - they assume I can read it as easily as they can).

I've come to the conclusion that no amount of effort is ever going to bring me up to speed with all of [Angular, React, Laravel, Zend, Spring, ...] and there's no way of knowing which of them is going to be called for by the next job, so I side-step the issue by sticking with the vanilla versions of each language, using wherever possible home-grown libraries that have a similar flavor on each and thereby give me a chance of achieving results. I acknowledge this way I will never get a job at Facebook or in a big finance house, but I don't actually want to work in a software factory; I want a life.