Dev manager: Php 8 is around the corner and i'd like to move the project to it
Dev: this would be a huge change I don't think you understand what you're asking...
Manager: Yes I understand, we'll plan 2-3weeks for the migration
Dev: the app is under symfony2.4, what you're asking is completly off the mark
Manager: look we'll plan it and we'll see don't be pessimist
Dev: ok whatever

I left the company, good luck to my fellow dev

  • 7
    Hmm, not sure what the changes are but I know a guy who translated a huge app (~15 devs on it) from python2 to python3 in weeks. Of course, new language specifics will not be implemented yet but..

    It's not that scary. Script language makes it easy but it's your tests that will give you 'guarantees'.

    I would ask a week of investigation first and rewrite some stuff I expect to be hard before I do indication.

    Without that week, I can't and won't give answer. I also never got complains about this
  • 14
    @rooter language updates might be easy, but frameworks it another matter.

    I do not know about Symphony but if that has changed it can be really difficult.

    I moved a quite complex project from .net framework to .net core and while a lot was very easy, a few thing where we had to go off track and use some less common interfaces, not undocumented, just rarely used, we tumbled into a full rewrite since the whole structure was new and improved.

    And yes, it was much better and cleaner but being rarely needed there was a big deficiency in examples and existing solutions to use :)

    Took several weeks for that part and in total around 3-4 months before we had it into production.
  • 3
    @rooter this, everything should be okay as long as you have enough test coverage if not then you better start typing
  • 1
    @Voxera hmm, four months, my previous projects could dream on it. How much devs? How much rewriter? Was the rewritten app with big bang to prod or did the applications live next to eachother? I'm very interested in your rewrite approach.

    When I hear someone saying rewrite I bang my head on the table. Also for rewrite, poc it. I did 80% of a small app before I mentioned it at the company in my free time. It was great, no reviews and I spend time on parts what I never would do in office. The company was happy (no, I did not get paid for that, but got huge raise later) and adopted it. Still, that 20% to do (because I did not have the right hardware at home, expensive stuff) still costed a lot of time, above expectation...

    Rewrites, i saw a company (almost two..) going down on it only because they cared more about code than product
  • 1
    @JKyll yes. But scary stuff is often data.. It's often forgotten to update after refactor. You get data which is impossible and causes bugs. Nobody agrees with me in this: good code is better than 'perfect code' because all that effort in that 'perfect code' is lost in next refactor and for the product it doesn't matter. So, I'm against nitpicking reviews or non functional refactors
  • 0
    Lines of code, times Amount of external package dependencies, times Pending major framework versions updates, times Pending major language versions.

    Upgrading from Symfony 4 to 5 might take an hour, a day or a week depending on project size.

    Minor framework version upgrades can give headaches if you have 150 composer packages installed -- one of them is going to contain some nasty semver-incompatible hack.

    But with multiple factors into play, the best you can do is decide which incremental upgrade is most important, and you'll probably just have to play catch up with the calendar, following upgrades of framework/language/packages as they were released chronologically.
  • 1
    @rooter rewrite as in every interface we used was gone, the very structure on how to get it setup changed beyond recognition.

    We had to spend two weeks just studying the new interfaces mapping out which ones that could solve each and every need we had.

    We did not rewrite our logic, just the implementation required to get it working on the netcore version.

    And we did have tests, not as much as I would have liked but around a couple of hundred tests verifying at a high level that it produced the same output

    After that we manually ran test of customer data through it verifying that it match previous output.

    That took about a week of manual testing.
  • 1
    @rooter so when was this python 3 migration? Python 3 is out since 2008 3rd party stuff is stable and available for it.
    PHP 8 isn't even here yet. There is a lot of code that is incompatible. So yes it probably is possible to change every framework and lib you use but than your have an unmaintainable mess as any security or normal update of the dependencies have to be patched with your changes.
  • 1
    @hjk101 totally true, I forgot about that part. There was years between the upgrade and the idea to upgrade it with this as reason. I know, because I worked at the company while it was not upgraded yet. So yes, you're right. Upgrade was done one or two years ago
Add Comment