This “MacGyver” mindset over an engineering mindset is a core problem with most devs I work with.
Nobody takes the time to understand fundamentals, theory, or engineering principals. They copy-paste and flail around until it works, and aren’t even curious to learn why.
But the problem is, software dev culture seems to embrace and celebrate this MacGyverism.
Look at all the memes about how software devs’ job consists of copying from Stack Overflow for a living, or how they have no idea how their app is even working, or any number of memes that reduce software development to wizardry - but not the “Hogwarts, study and master it” wizardy, but instead the “I accidentally spilled the glowing purple vial on a frog and created a lizard person” kind of wizardry.
I do think software development has room for, and even requires, both true engineering work AND “super user”-type developers, especially as low code tools help make things more accessible. I also think almost anyone can learn an engineering mindset if motivated to do so.
So I’m not trying to gatekeep, in fact I’m happy if my job becomes building the tools that help the super-user-devs fumble their way to success.
But I also am very much concerned with the industry’s joyful conflation of purposeful engineering with fumbling tinkerer as though they are one and the same, and as though being the fumbling tinkerer is all that should be expected of all developers, all the time.
At some point, we need to return to teaching and promoting the value of learning fundamental principals, and of building a solid, well-engineered, well-documented product that works because it was built to work, and not because “I don’t know but if I paste this here and that there then it seems to be fine”.
This “MacGyver” mindset over an engineering mindset is a core problem with most devs I work with.
Nobody takes the time to understand fundamentals, theory, or engineering principals. They copy-paste and flail around until it works, and aren’t even curious to learn why.
But the problem is, software dev culture seems to embrace and celebrate this MacGyverism.
Look at all the memes about how software devs’ job consists of copying from Stack Overflow for a living, or how they have no idea how their app is even working, or any number of memes that reduce software development to wizardry - but not the “Hogwarts, study and master it” wizardy, but instead the “I accidentally spilled the glowing purple vial on a frog and created a lizard person” kind of wizardry.
I do think software development has room for, and even requires, both true engineering work AND “super user”-type developers, especially as low code tools help make things more accessible. I also think almost anyone can learn an engineering mindset if motivated to do so.
So I’m not trying to gatekeep, in fact I’m happy if my job becomes building the tools that help the super-user-devs fumble their way to success.
But I also am very much concerned with the industry’s joyful conflation of purposeful engineering with fumbling tinkerer as though they are one and the same, and as though being the fumbling tinkerer is all that should be expected of all developers, all the time.
At some point, we need to return to teaching and promoting the value of learning fundamental principals, and of building a solid, well-engineered, well-documented product that works because it was built to work, and not because “I don’t know but if I paste this here and that there then it seems to be fine”.