5 ms·
Business/career implications aside, normalizing people thinking about computers as tools that execute arbitrary instructions is an almost purely good thing. I
by danShumway 5y ago
Business/career implications aside, normalizing people thinking about computers as tools that execute arbitrary instructions is an almost purely good thing.
I can't think of many other social trends that would be more beneficial for increasing general support for user agency, data interoperability, sideloading/modding, etc... we should applaud every single attempt to democratize coding and lower barriers of entry.
It's not about whether or not someone can replace your job or whether or not they take something that's a hobby project or an occasional side-task at their job and turn it into a professional career. It's not about whether or not the things they make are any good. It's about giving them a little bit more agency in how they interact with devices/software, and about reinforcing to them that as a user they should have agency over their devices/software.
We don't need everyone in the world to be an engineer, and we don't need everyone to write good code. The goal is not to make everyone into a programmer, or to elevate engineering as some kind of universal subject that everyone has to embrace. But it is good for average people who aren't engineers to be embracing a philosophy about computers that says, "I should be able to arbitrarily describe to this thing what to do, even if its designers didn't think about my use case, and it should do the thing I tell it to".
- noduerme 5y agoIt almost seemed like that global working knowledge of computers as tools would be the new norm, up until the early 2000s. In my own practice I saw more and more snall business owners writing their own websites and simple systems before coming to me to improve or polish up what they had. I always applauded that and I always try to make sure my clients have a full mental picture of what's really happening inside apps they commission from me now. Even if that means boring them with lots of details... they are savvier because they understand what can be done, and how. Sadly there's been a concerted effort by the FAANGs, mainly, to turn everything into an appliance and take that power away from users. You're absolutely right that anything that puts more power within the average user's reach is good for free computing and for free software development as a whole.
- ethbr0 5y ago> Sadly there's been a concerted effort by the FAANGs, mainly, to turn everything into an appliance and take that power away from users. That's because user education doesn't scale or pay well. Scale, because some users are certainly intractable idiots who can't do basic addition. But even if you solve that hard problem, what have you accomplished? You've taught users how to control their own computers. Which ultimately compresses the margin you're able to extract by artificially limiting features in your ecosystem. If a user can glue together a storage backend themselves, fewer of them will use your cloud storage offering. It's far easier, simpler, and more consistent and profitable to infantilize users, carve up your feature tiers with a simple pricing strategy, and maintain high margins.
- dash2 5y agoI’m not sure the argument works that more empowered users equals less opportunity for big tech to make money. Apple is certainly pushing Shortcuts. On the whole I think that citizen programmers would still need resources and services like cloud storage, access to media, or APIs for voice recognition.
- ethbr0 5y agoThe result of user empowerment is customization. The foundation of modern big tech is standardization. Facebook, Gmail, etc. Scaling at low headcount-per-user doesn't work if your users have diverged too far from baseline, because that exponentially increases support cases and requires features for smaller sections of your population. So maybe they'd be able to pivot, but it'd certainly be a sea change to start supporting full B2C APIs vs the existing more B2B2C APIs they target (when offered at all).
- dash2 5y agoIt’s true that people want to do their own thing, but at what level? People don’t want to write their own HTML, or run their own server. They want to solve problems that matter to them. Give them the right tools and you’ll grow your platform. Think how Windows benefitted from Excel.
- _the_inflator 5y ago> Business/career implications aside, normalizing people thinking about computers as tools that execute arbitrary instructions is an almost purely good thing. [...] > We don't need everyone in the world to be an engineer, and we don't need everyone to write good code. I agree. In sum this means app-ification of the - from the business people - boring matter of REST APIs. In the end, you build or use a product that abstracts many things away. (There is an old joke, that Excel sheets simply become apps now) In my experience in Financial Industry, this leads to second level problems: What and how to build a new product? So there is an important intersection between the new users, Citizen Developers, and Product Managers.
- loosetypes 5y ago> to democratize coding Does that mean we collectively vote as to whether the next addition is a for loop? While a company may mean to make more widely accessible but used charged language, I think we should fight the urge to parrot.
- mariojv 5y agoOne alternative definition of "democratic" is "relating to, appealing to, or available to the broad masses of the people." [0] Regardless of whether this is considered charged language or not, it is a valid alternate usage of the term. I never read the comment you're referring to as anything political. [0] https://www.merriam-webster.com/dictionary/democratic https://www.merriam-webster.com/dictionary/democratic
- danShumway 5y agoDemocracy is a broad term. It can be used politically, but it can also refer to: A) a leveling of access (ie, that ordinary people are able to participate in the process). B) a rejection of "snobbish"-ness about a field or its participants. A light, non-political definition of democracy is just taking something that is restricted and making it broadly available and accessible, or changing perspectives on that thing such that normal participation in or usage of that thing isn't looked down on. ---- From a "political" perspective (although probably not political in the way people think when they hear the word), democratizing code can also be thought of as an assertion that ordinary people should have agency over what their computers do. By building no-code solutions or accessible coding environments that allow ordinary people to create and share solutions to their problems, we give them the ability to compete with us about what those solutions should be. In other words, it's not that a group of professional programmers decide what your computer can do, you can decide what your computer can do, and you can share your solutions and creations with other people on equal footing with the professionals. There is a kind of "power to the people" mentality bundled up in concepts like Open Source and Open access to code. On one hand, these concepts don't require you to share anything, concepts like Open Source and Open access in computing allow for people to create fully private software that is entirely individual. But these concepts also allow groups of people to promote ideas about computing and about engineering in the form of working software or scripts that other people can use, and that gives those people more of a voice in conversations about what computers should and shouldn't do -- conversations that in a more locked down world would only be happening inside of companies or inside professional circles. ---- I'm certainly not trying to create charged language, and I get that people might read democracy as an explicitly political Right vs Left thing. That was not my intention at all. But my feeling is that "democratizing code" is a fairly common term that I've heard a lot over the years, even leading back to my childhood -- so it didn't really occur to me that people would read it any other way. Always happy to clarify stuff like that though; and maybe you're right. I might be out of touch with the current climate and maybe the common usage of the term has changed.
- maxerickson 5y agoI think of this as using the computer vs using software on the computer.
- DarylZero 5y ago"Computer Science was always supposed to be taught to everyone, and it wasn’t about getting a job: A historical perspective" https://computinged.wordpress.com/2021/11/26/computer-science-was-always-supposed-to-be-taught-to-everyone-but-not-about-getting-a-job-a-historical-perspective/ https://computinged.wordpress.com/2021/11/26/computer-scienc...
- duxup 5y agoI think that’s probably the opinion of many academic focused people about their profession.
- phkahler 5y agoMy kid had a "computer science" class in 9th grade. They covered bits and bytes, discussed what files are, and then talked in the abstract about data compression so they know at a basic level why a wave file is so much bigger than mp3. They did get to some coding, but they covered a lot of basics that form the trunk of the tree. Most adults don't understand things in that way. It's like teaching biology so people have a rudimentary idea of viruses and don't think vaccines have 5g tracking. Or so teenagers understand reproduction and don't think ridiculous things about how one gets pregnant. Or how about chemistry, so people understand why con-trails form. Basic understanding of things - particularly the ones everyone uses daily - is a good thing.
- duxup 5y agoYeah I’m the type that needs to make things. Theory makes no sense to me if i don’t see it in action. I struggled in a traditional theory / coding educational environment and dropped out of college. Decades later I learned coding in a more hands on / make things way and I’m having fun working my way “backwards” into theory.
- gunfighthacksaw 5y agoYou learn theory 10x more easily when it’s actually working for you. I think there’s a case for needing explicit instruction in mathematics and algorithms, but it only becomes intuitive when you’re solving your own problem with it. Remember that Gauss didn’t just sit around inventing theories, he was trying to explain the world around him and his theories were the product of that.