Let's Rewrite Everything
martinpeck.com
Let's Rewrite Everything
1–10 of 61 posts
Re: Let's Rewrite Everything
#2> Someone is likely to point out all the problems your rewrite will bring. You’ll find it much easier to convince people if you’ve already throught these through, and you bring them to the conversation yourself.
I wish more people did this!
Re: Let's Rewrite Everything
#3Really enjoy this take on rewrites: > Someone is likely to point out all the problems your rewrite will bring. You’ll find it much easier to convince people if you’ve already throught these through, and you bring them to the conversation yourself. I wish more people did this!
What? Think critically? Me too.
Re: Let's Rewrite Everything
#4The author seems to be generally pro rewrite in his article so I can't tell if this is sarcasm here.
Re: Let's Rewrite Everything
#5https://www.joelonsoftware.com/2000/04/06/things-you-should-...
Re: Let's Rewrite Everything
#6I have participated in a few (small) rewrites that were successful, and this would be my advice: Don't rewrite an entire project at once. Pick off smaller features first, get a feel for what your new approach will be like before you commit to the big stuff. This will often mean you have to migrate from a monolithic architecture to a services architecture first. This means your project will grow in complexity first. If you're confused about why a project first grows in complexity before shrinking, watch "All the little things" by Sandi Metz, it's the greatest programming talk ever recorded. If your rewrite gets stuck after adding all of that complexity, then you've played yourself. Worst thing that can happen is you rewrite your entire project, some users or customers start using the new project, but you've failed to rewrite everything and some chunk of your users are still using the old codebase. Now you've got twice as much code to maintain.
Before you start a rewrite, consider refactoring and rearchitecting the old codebase, there might be a gem in there that just needs some love and attention.
That said there definitely are famous successful rewrites, and I think web application backends are especially suitable for rewrites. Most famous are Twitter and LinkedIn, Twitter going from a relational database backend to a more appropriate fan out message queue based backend allowing them to scale beyond imagination. LinkedIn going from a big rails monolith to super fast node.js microservices reducing their hardware costs a hundred fold if stories are to be believed.
Re: Let's Rewrite Everything
#7Re: Let's Rewrite Everything
#8A classic Joel Spolsky post along these lines: https://www.joelonsoftware.com/2000/04/06/things-you-should-...
Re: Let's Rewrite Everything
#9A classic Joel Spolsky post along these lines: https://www.joelonsoftware.com/2000/04/06/things-you-should-...
look up "wasabi"
Re: Let's Rewrite Everything
#10Had met my share of engineers who wanted to rewrite everything from scratch into microservices and the reason they gave was ‘well microservices scales and monoliths dont’ - without taking into account the maturity of the existing application, the scale it already operates at and the scale we expect to operate at, the team resources and skills to required to support the rewrite, and the business requirements and goals…
The shocker.
(That said, yes, motivating developers is a thorny problem.)