Viewing a single comment thread. View all comments

Moonside wrote

Could you convince them that writing documentation is a nice way to procrastinate and makes the implementation part easier? I swear I solved an implementation problem (which caused no small amount of headscratching) recently just by carefully specifying the function to be implemented. By doing that I ended up describing the cases correctly which then made the implementation trivial. It was a recursive function so a botched case analysis easily leads to incomprehensible behavior.

source control, etc. as fluff, nice to have, non-productive, etc.

¡Dios mío! I'm glad that I've used source control for very low importance projects so that I can use it without any real effort when it's needed.

The crappy part of programming really is that there are so many useful tools that you have to bring together and tinker with to make them good. Like to write good unit tests you presumably ought to be specifying your functionality in good enough detail, your testing framework presumably has a few knobs to be set, then you have to make testing and documentation work with your build system, for Git you need a .gitignore file and so on, all this upfront work and busy work that makes it all easy to skirt.

3

twovests OP wrote

We're doing a lot of machine learning stuff. I think it's a lot easier for them to write code, play around, and experiment (fluidly) without doing the unfamiliar rigidity of software engineering.

You're spot on with the crappy part of programming. We're using Python, so we have so much less busy-work than other languages.

Maybe I could convince them that growing their software engineering skills will result in a better end-result for them (in terms of professional skill development) and for our sponsor (in terms of a maintainable deliverable), rather than a poorly-documented but fully-functional prototype.

3