DEV Community

Discussion on: Why you should reinvent the wheel

 
quantumsheep profile image
Nathanael Demacon

What I believe is that if something can be done at no cost, time and money included, then it's better to do it. The best example I can give you is WordPress, it can do tons of actions and can fulfill the client's needs.

I think that employees need "experimentations" time during their works hours. But employers will not accept this because they don't pay peoples to do non-productive work :(

Thread Thread
 
fpuffer profile image
Frank Puffer

I don't agree with the last statement: At least some of them pay for things like trainings or teambuilding events. They do it because they expect these to boost productivity in the long run. Just like what you describe in your original post.

Thread Thread
 
codemouse92 profile image
Jason C. McDonald • Edited

A smart employer actually WILL pay for experimentation and reinvention, at least in approved arenas. Game engines generally reinvent the wheel on hundreds of levels, not least of all with brand new data structure implementations, if for no other reason than ensuing they don't have to weigh their engine down by linking to yet one more dependency. Performance gains are typically a goal of that, too.

Even inefficient behemoths like EA "reinvent the wheel". Just read "Game Engine Architecture" by Jason Gregory for a good look at that!

Thread Thread
 
quantumsheep profile image
Nathanael Demacon

It all depends on the employers, a big company like EA can afford R&D for sure!

Thread Thread
 
codemouse92 profile image
Jason C. McDonald

A number of smaller ones do as well. Honestly, to survive, no company can afford not having "R&D" style operations in some fashion! Size has absolutely nothing to do with it.

However, I think you misunderstand. The reinvention work Jason Gregory describes wasn't in R&D. It was in the run-of-the-mill software development department.

Writing your own implementation of something is as common and valid in professional development as using someone else's. It just has to be taken case-by-case.