Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> I have often thought academics were in some kind of fantasy world.

I ran into the rift between academia and the real world a few weeks ago, and it changed my perception of both, specifically in regards to software engineering.

I feel like academia studies software engineering practices with the goal of wanting to increase the quality of the product. They come to conclusions about how great all the best practices are and teach their students that they should be using all of them.

However, when I started trying to build a product with those methods, I realized that academia has the luxury of ignoring time. In industry, time is the enemy. You have to beat the competition, release before the market opportunity disappears, and in the case of startups you have to find a product that people will pay money for before you run out of money. If you build a product that nobody wants, who cares what your test coverage is? When time is against you, all the best practices in the world probably slow you down too much, so you have to be more judicious in your application of them.

I don't want to knock academia too much. I think it's still very valuable, but I have to agree with edw519 that the real magic happens when theory meets practice.



I think software engineering is probably an area where academia's at the most disadvantage in studying it, because it's so applied and context-specific. A truly successful software-engineering researcher would have to be at least part anthropologist/sociologist, and spend a lot of time on field work. Sort of similar to academic study of the business/management field.

Areas where you can decouple at least some parts of the theory, and apply them later, have more luck, I think. For example, Knuth does perfectly fine inventing algorithms in academia, because it's a pretty academia-friendly sort of pursuit, and many of them later do make it into the real world, so it's not totally ivory-tower.


Even the things that academia studies that can't be entirely decoupled, such as TDD, I think can still be applied in practice. You just have to take your context into consideration when deciding if it's appropriate. What is your deadline? How skilled is your team? etc.




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

Search: