4 ms·
There are two distinct kinds of jobs: ML researchers and software engineers. A lot of ML researchers write pretty bad code by software engineering standards but
by kccqzy 4y ago
There are two distinct kinds of jobs: ML researchers and software engineers. A lot of ML researchers write pretty bad code by software engineering standards but that's okay; it's not their job to produce clean code. They string together libraries in Python and do a lot of experimentation and analysis. When they produced something ready to be productionized, software engineers then come in and optimize things.
This is totally the right way. Make it work, then make it right, then make it fast.
- Hortinstein 4y agoNot sure if you came up with "Make it work, then make it right, then make it fast." but I just screenshotted it and made it the mantra for my current project...which is by far more complicated than anything I have done as a side project. I am struggling with the desire to go "make it right" as I work on shipping the deployable prototype (right now running on cloud services I control)...thanks for this
- faitswulff 4y agohttps://wiki.c2.com/?MakeItWorkMakeItRightMakeItFast https://wiki.c2.com/?MakeItWorkMakeItRightMakeItFast > This formulation of this statement has been attributed to [KentBeck][0]; it has existed as part of the [UnixWay][1] for a long time. [0]: https://wiki.c2.com/?KentBeck https://wiki.c2.com/?KentBeck [1]: https://wiki.c2.com/?UnixWay https://wiki.c2.com/?UnixWay
- buzzert 4y agoFunny enough, this tracks the early history of Google as well. It was originally written by Larry Page and Sergey Brin (both grad students at the time) in Python, then Sanjay Ghemawat rewrote the whole thing in C++.
- heap_perms 4y agoThat sounds very interesting. Anyone know where I can find more on this story?
- buzzert 4y agoI learned this from Steven Levy's great book, "In the Plex": https://www.amazon.com/Plex-Google-Thinks-Works-Shapes/dp/1416596585 https://www.amazon.com/Plex-Google-Thinks-Works-Shapes/dp/14...
- faitswulff 4y agoI meant "how is the Python mess getting cleaned up," rather.
- imranq 4y ago"Make it work, then make it right, then make it fast" is brilliant. This should be a universal principle for almost everything
- visarga 4y ago> ML researchers and software engineers. A lot of ML researchers write pretty bad code by software engineering standards but that's okay Yes. When you have to try out dozens of research ideas, most of which won't pan out, then you stop writing engineering-style code and switch to hacker mode. Why make it nice when you could be trying 2 more ideas in the meantime. Most of research code it is going to the trash anyway.