Hacker News new | past | comments | ask | show | jobs | submit login

Software development keeps expanding in functionality and the level of detail. Twenty years ago you made a simple desktop application and that was it. Today, the same application would need to be online, which of course requires REST, authentication, load balancing, etc. You don't save information in a text or binary file, you need a database, which means object modeling, transactions, indexes, partitioning, etc. Instead of writing information to the standard output, we have log file, dynamic configuration of loggers, log rotation, infrastructure to move the logs in cloud, etc. Just editing the source code already requires several tools, including version control, which includes conflict resolution, pull requests, pre-commit hooks, etc. Nothing is ever simple; any functionality can be expanded into a separate library, parts of which will soon require libraries of their own, etc.

But ironically, instead of specialization, the trend is the opposite. Everyone is full-stack dev-sec-ops working in several different programming ecosystems, sometimes on multiple projects in parallel. You also do the testing and write the documentation, of course.

At the same time, you are supposed to be agile, and sprint, sprint, sprint, until you collapse. You can't really spend a week just sitting in silence and studying one of the hundred technologies you are supposed to master. So instead you learn everything on the fly. But as you keep jumping between thousand topics, it becomes impossible to remember them. If you accidentally memorize a library, it gets soon replaced by something new. So you keep googling endlessly, and maybe soon you will just keep pressing Ctrl+space and letting an artificial intelligence write your code... and then pray that it compiles and contains no bugs.

Makes me wonder whether it really increases the productivity, or just creates an illusion of greater productivity because people are kept visibly busy. I guess we keep writing more, but a lot of that is rewriting, or writing the supporting infrastructure.

If this keep accelerating at the same speed, in another twenty years only the artificial intelligence will be able to write code. It will use a different programming language every week, reinventing all the tools and libraries all the time. Bugs probably won't get fixed; humans will no longer be capable of that, and if the AI couldn't write the code correctly in the first place, it would be probably simpler to just throw the entire application away and rewrite it from scratch, using this week's programming language instead of the previous week's one. The resulting applications will be slow and require the latest hardware to run.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: