maybe we should teach people to program the way they teach martial arts, like only in the most desperate situations when all else failed should you resort to programming
@mononcqc that's good. The situational awareness
They have a knife or gun? Run away
You are in a car? Drive away.
Drunk guy bothering you at a bar? Remember that he could fall and die and you go to jail.
You are backed into a corner and they're coming right at ya? Roundhouse
But like
Are you accidentally building excel? Use excel.
Are you accidentally writing a database? Use a database.
Are you deploying a prototype to production "just for now"? Welcome to your new production system
Are you writing something differentiating for your business to be worth a massive investment beyond all estimates and if you don't, the business will flounder? Okay. Use Python though.
@mterhar ask if this is really a problem a computer can help with, then ask even more strongly whether it is a problem that a computer *should* help with, and then ask once more if this is a problem you’re having because of something involving the computer in a way that not writing it but also getting rid of another program could solve.
then wait a bit and if later you still think it’s worth it, then maybe write a program. Maybe.
@neoluddite @mterhar @mononcqc But.. You're making it sound like it was a mistake to build a container orchestrator in Excel..
Just wait until you see the pivot table letting you slice and dice those metrics any way you want!
@mononcqc "judo functor!" -- Haskell Powers, International Coder of Mystery
@mononcqc you can also just be really lazy. It’s basically the same thing.
@mononcqc Oh, I dunno. I'd rather write code than design analogue circuitry, that's for sure.
@mononcqc "But I want to beat people up right now!" #BootToTheHead
@mononcqc listen becoming a developer was not my plan A or my plan B or my plan C
@mononcqc I've got a meme on my wall inherited from a project manager that says "There are no bugs if you don't write any code".
(I do my best to use OOB solutions these days but when they're stupidly limited it's sooo tempting. The other day a vendor said "Of course one way to solve this issue would be to use the API," and I was all "Ooh, I could do *everything* with this!" and then I was all "Nooo, that way lies mayhem.")
@neoluddite @mononcqc It must be right, because every time I try to raise a bug with a vendor they tell me the system is working as designed!
@zeborah @mononcqc If you use someone else's code in building something, their bugs become your bugs. There's no such simple out except for No Code. https://github.com/kelseyhightower/nocode
@dalias @zeborah @mononcqc Why had I not seen that repository. it is comedy gold, including the style guide @kelseyhightower .
@dalias @zeborah @mononcqc @kelseyhightower No code humour is DRY humour.
@mononcqc @inthehands right, and certainly only ever in self defense
@mononcqc Spend the first few months learning how to not get hurt when you fail
@mononcqc But programming is fun, and creative, and challenging, and expressive, and excellent mental exercise, and can create many beautiful and useful things (as well as things which are dangerous and destructive).
Martial arts are only good for hurting people.
@simon_brooke @mononcqc counterpoint: martial arts are also good for not hurting people
@simon_brooke @mononcqc actually no? Like i would recommend looking at the history and philosophy of Aikido, at the very least.
@mononcqc on top of a mountain, attempting to maintain composure while being kicked in the genitals by an agile consultant
"Start with deescalation. Ask the stakeholder 'are you sure that you need this feature?' or 'is there an existing workaround for this defect?'"
@Zeb_Larson @mononcqc How to do continuous integration in that case…?
Conundrum.
@mononcqc After you have checked all the wheels in the wheel catalogue and you're absolutely sure that none of the existing wheels meet your needs, maybe, just maybe, think about inventing a new one.
@mononcqc ahh it's better to know and don't need it than need it and not know..
@mononcqc @PavelASamsonov what if, like martial arts, learning to code was actually a realistic way to solve your problems?
(Learning to code to get a paycheck is somewhat like learning martial arts and becoming a soldier. It does solve your problems but that’s not what I mean.)
@mononcqc This sounds like advice along the same lines as saving time by replacing proper meals with nutricious sludge. Removing the joys of life, for what?
@mononcqc this is already a thing. I have worked at a bunch of companies that practice “martial arts development” - spend *years* practicing and refining your code, but rarely (if ever) release anything to production
@mononcqc I thought you meant when you get an error you beat the crap out of it!
@mononcqc Isn't that why it's called 'Rust'?
@mononcqc but you train daily *in community with other humans* and it makes you a better human, plus opens windows to experience flow states