Of course not! The point of programming is not to <i>do</i> work, but to <i>automate</i> it, and there is no sort of work we are better at automating than our own. Every few years some task which used to be important gets automated away, and we all start taking it for granted - but somehow we never run out of tasks.<p>When I began my career, it was important to understand machine language, because compilers were not smart enough (and computers did not have the horsepower to <i>run</i> compilers that would be smart enough) to generate maximally efficient code. Every performance-critical loop therefore featured a nugget of hand-written assembly code, because that was the only way to build usable production software.<p>But then... there were rapid advances in processor speed, and memory capacity, and compiler technology; suddenly, all those assembler skills became obsolete, because you couldn't beat the compiler anymore. Automation ate the whole problem. What happened? Mass layoffs? Hell no! Programmers just moved on up to the next level of abstraction, and kept on solving problems: newer, more interesting problems.<p>Repeat, and repeat, and repeat: that's how the industry works.