What university misses to taught

Some time ago I had a discussion with a younger friend that goes to university. The argument of the discussion is what university misses to taught, this question arise because a lot of persons that comes out of university are not immediately productive in a company.  Except people that had previously experiences while studying, quite often freshly graduated programmer needs some time to be really productive at work.

These days I was thinking about this specific discussion, and I realized that probably the reason is related to this post. I think that university misses the concept of Production (Wikipedia: Production(information technology). software or hardware in active use). When I was at university I did very interesting projects, but none of them was really gone in production. When a software does not go in production it does not become alive, is like an unborn children, full of possibility, but still not alive.

Most of the projects in university are really interesting, but quite often the final goal of the student is to pass an exam taking the higher result possible, and this goal is really different from making good software. Major problem is that all those software that are build in university have not a target user, never go in production , so you can never know if you had build good or bad product.

This means that when you begin to work in a real company , the perspective of making software changes a lot, now you are writing software for real users, while you are used to write software for noone or at least for your teacher or colleagues.. Writing software for programmers or teachers can lead to some problems, I suggest you to readthis book. Software must be written for real users, not for other programmers.

If there is only one thing I could suggest to a university teacher, I’ll suggest him/her to force students to write real software, put it in production, letting real users to work with it; in the meanwhile students must correct blocking bugs, planning next release, maintain database, doing backup, etc etc. I strongly thing that only software in production is Real software, maybe this can sound harsh, but I think that is really true.

Having some software in production makes you change the perspective you have on software.

alk.

Tags: Programming