5 ms·
There is a saying, "real writing is rewriting." Ideally the final draft is something that has been very aggressively refactored, multiple times, with input fro
by biztos 8y ago
There is a saying, "real writing is rewriting."
Ideally the final draft is something that has been very aggressively refactored, multiple times, with input from a Refactoring Engineer.
(Did I just invent a new job category? I don't think there's currently any equivalent of an Editor in the Software Engineering world; code review is a chaotic approximation.)
Unfortunately there is usually pressure, and maybe also desire, to just make it work, maybe with tests, and move on to the next thing, at least in companies.
- LoSboccacc 8y ago"Build one to throw away" - the mythical man month
- stronglikedan 8y ago"Can't we just spruce up the working prototype and deploy it to production?" -- Management
- AstralStorm 8y agoIf it only were an actual question...
- LoSboccacc 8y agoI've learned in time to never make a working ux in my prototypes. just raw data showing the innards working, and that's it. functional or pretty ux just gets shipped in prod no matter what.
- ilovetux 8y agoI believe that a Refactoring Engineer would be similar to a contractor specializing in performance, security or systems optimization. I've had the pleasure of working with a couple of these people, and I have to say that I felt an initial (pride|arrogance)-based resistance but they were all friendly and had some really valuable insights especially since their expertise seemed to be lower-level than mine and they were able to look at working code and find places to improve. In essence I agree with you that this should be an on-staff role, but perhaps the reason we are not seeing this is that the job is usually fairly quick (a couple of weeks/months) and for the business its hard to justify a full-time staff member to perform this service. There is also something to be said for how people in this role are able to gather a wealth of experience by working on a high number of code bases instead of being stuck continuously working on the same few software projects all year.