4 ms·
Greatly successful projects often have horrible(from developers perspective) codebase that barely doesn't fall apart. They call it technical debt and fix il lat
by mrtksn 5y ago
Greatly successful projects often have horrible(from developers perspective) codebase that barely doesn't fall apart. They call it technical debt and fix il later when things stop moving fast.
I think it's happening because successful projects focus on the product delivering on the reason it exists(i.e. facilitate file transfer in the most intuitive way possible) and to do that quickly as possible for the lowest cost possible engineers hack together solutions derived from the existing tools without focusing on the technical or ideological perfection. Also, they cannot focus on the technical stuff anyway because to needs and direction change all the time, therefore it's not possible to crystallise an optimised and well built solution anyway.
What Microsoft or other companies do is to built versatile tools that that engineers can bend and stick together to accomplish the tasks in hand very quickly and if it looks like the thing is here to stay they can design and implement an optimised and elegant solution later on. At first it may look ugly but it is usually an original work done by domain experts who are exploring technical solutions to the problem in hand. Once the solution is found, experts in computer programming and architecture can step in and make it elegant but that last step is not needed for the wast number of solutions.
An example for this is UK's covid case tracking early on. Apparently they quickly implemented a central Excel spreadsheet that would collect the CSV data sent from the test centres. Unfortunately, the solution they implemented was way too hacky and they lost data once they reached the limits of the spreadsheet format they have chosen. Had they chosen a better format, their solution would have worked up until much higher scale and once they have a better understanding of the nature of data collection etc. then they could have implemented a clean sheet solution with "perfect" code and scalability, maybe years later for the future pandemics and write blog posts about the enormous challenges and their ingenious solutions. They couldn't have start by firstly building the perfect data collection solution because they wouldn't know how things will pan out and if they tried to force their way(i.e. mandatory formats by the tests centres) it would have been too big of a projects.
- stevesimmons 5y ago> An example for this is UK's covid case tracking early on. Your choice of the UK's Covid tracking spreadsheet debacle to illustrate your point is curious, to put it politely. As The Register [1] (and many others) pointed out at the time, it was the wrong tech choice, executed slowly and at huge cost, by the wrong people with little knowledge of better choices, and directed by management and government leaders with track records of lying and incompetence. > They couldn't have start by firstly building the perfect data collection solution because they wouldn't know how things will pan out and if they tried to force their way(i.e. mandatory formats by the tests centres) it would have been too big of a projects. I have a different view on every part of this sentence! [1] https://www.theregister.com/2020/10/05/excel_england_coronavirus_contact_error/ https://www.theregister.com/2020/10/05/excel_england_coronav...
- stevesimmons 5y agoBy the way, the error happened when the UK was experiencing 7,500 new cases a day. Pretty much any tech choice (including Excel done sensibly) would work for those volumes.
- mrtksn 5y agoI don't say anything different, actually. As I said, had they chosen something that's not that unreasonably limited, we would have never known about it since there wouldn't be a cockup. When the policy(back then nothing was clear) is in place for good, then they can build something elegant and efficient. IMHO, they should have had it before the pandemic even was a thing but that's totally another discussion.