15 ms·
Citizen developers are rapidly becoming the vanguard of corporate digitisation
- axiomdata316 5y agohttps://archive.md/FtdBG https://archive.md/FtdBG
- mrkentutbabi 5y agoWhy not? The problem is people can’t. I’m all for people learning how to code but majority of people can’t. That’s the reality. I taught coding in college and bootcamps.
- zdragnar 5y agoI've heard it said that Excel is the world's most popular IDE. Given what I have seen of some spreadsheets, I am quite glad we don't push those people into programming who aren't interested in doing so.
- agent86 5y agoTraditional programming? I would agree. But no code tooling? I think you'd be surprised. As someone with experience supporting these types of people utilizing a no code platform, most of them actually thrive when given a toolset that is appropriate for the problem they are trying to solve. The vast majority of the Excel/Access mess stems from the fact that those are the only tools people have access to use. Solutions get wedged in and people get into the weeds because if they can't make it work somehow they don't get a solution. They build way more functional/sane things when given the right toolset to solve the problem.
- conductr 5y agoIt’s not even that binary. I can code about anything I’d want to, but I’m also aware of lower level code that I just simply will never have the desire to learn. It really is over my head and probably always will be.
- Retric 5y agoIMO it depends on how long your willing to spend teaching people. Most young students can eventually get basic programs working in logo style systems given enough time. Make coding a core part of public education and I think we could see 80+% of people get reasonable competency by high school graduation. Collages and especially boot camps on the other hand expect people to pick things up much more quickly, and I think that works because students often have most of the skills they need rather than it being enough time to actually teach people the relevant skills. It’s almost more a filtering process than education.
- mrkentutbabi 5y agoYou only need to spend time teaching a few semesters to have this belief completely turned upside down. I know, because it happened to me.
- Retric 5y agoThat wasn’t just a guess, the logo thing was from actual experience. I have also known people that learned to code over a decade that needed to copy peoples homework to get through collage. One spent a long time setting up and troubleshooting network routers before things clicked. Another learned via increasingly complex sysadmin scripts, until he fell in a pure programming job. Meanwhile a coworker of mine had a philosophy degree but two programming courses where more than enough to get him productive.
- mrkentutbabi 5y agoSeems you were having some good students. Try to teach in some community college or low income area.
- groone 5y agoPeople cannot code if you ask them to do something they don't understand. I have seen people who have none of step, if and loop basics nailed down sitting in C++ class and be very frustrated why nothing they do is "correct". They hope get lucky and get their program right by throwing some things at the wall. That is because they have never experienced successfully putting multiple simple steps together in a list to achieve something meaningful. Play some kid games where you need to put in steps, if statements and loops to move some character around obstacles. Need to give time to intuitively understand and develop curiosity about what is possible next. Then learn what is an API and what can be done when interacting with those. Then go to overview of a code file, variables and Hello world. When people are clueless and you say it is "simple" - It is over. Few minutes later their brain starts blocking everything that looks like code to preserve their ego and they lose all interest. That is result of skipping basics not giving a week to feel good about successfully playing some game with steps, ifs and loops. Going forward while still clueless and before interest for next step is in place.
- seiferteric 5y agoIt's kind of amazing if you think about it that most people are able to learn to read. Spoken language I can understand since it can evolve. Then one day people started writing things down and it turns out somehow we are pretty good at reading things back almost as well as talking to one another. Programming doesn't seem to be like that at all.
- akvadrako 5y agoTwo big differences I see: 1. Most people who learn to read start from a young age. It's rare to teach programming at 6 or incedently practice it everyday. 2. Reading is almost the same as listening, like a 1:1 mapping. So it's evolved with spoken language.
- dmitrygr 5y agoNot everyone can play in the NBA. Not everyone can safely drive a car. Not everyone can architect and write good code. Yes, you can spend a LOT of time and get kinda good-ish at basketball, but you'll never make it to the NBA. You lack the biological talent (height, speed). Sure, you can work very hard and take serious driving classes, but you'll never win an F1 race even if given a chance. You lack the biological talent (reaction speed, ears able to better hear details in the engine noise, higher visual acuity). And sure, you can work very hard and learn how to write code, but that will not magically make you good at architecting solutions properly and producing code worth paying for. You lack the talent (ability to think abstractly) Please do not try to counter any of these examples. They are clearly just that. I am sure sometime someone was short in the NBA and maybe your aunt once took a defensive driving class and it saved her life, but the point is clear.
- kitrose 5y agoAren’t they bad examples? There’s a distinction between an extremely rare occurrence of biological factors like being 7 feet tall in order to succeed, and that of needing a decent education in order to think critically.
- dmitrygr 5y agoSome people just cannot wrap their head around pointers. Some just do not get recursion no matter what. I used to teach CS, and tutor in CS. It is as rare as being 7 feet tall, sadly. And without understanding indirection and recursion, the most you'll ever do is ...well..not much...
- pasquinelli 5y agoi've been homeschooling my daughter through middle school. she's very smart, she's been in the highly capable program since maybe 2nd grade. she honestly surprises me with her ability to reason, but i've yet to hit on a way to get her to understand loops. i've been considering learning an array language with her in the hopes that it would allow her the chance to get interested in programming and excited about its potential without facing loops.
- decremental 5y agoWhat an ego shattering revelation it would be if it turned out just about everyone can be good at coding. Being able to code is what qualifies us to know everything about everything!
- baash05 5y agoSee it's not really ego. I'd say most people could be good at coding. But most people could be good electricians, and plumbers and mechanics, and carpenters, and ... well and heaps of other things. It's that it all takes training, and time in. It all takes reading and learning new things. It's not a question of could they be good. It's a question of, do they want to. I don't think most people want to be good at it.
- solarmist 5y agoTechnically accurate, but not practically true. If you've ever needed to teach someone patience, you'd see the futility of trying to teach a random person programming. Nowadays, I will tell people straight out I can't see them dealing with the frustrations long enough to develop the patience needed to learn the basics.
- baash05 5y agoI never teach people to code. I ask them what they want to build, and then we work to building that. People don't need to be patient. Beyond assignment, if, for and while, just make sure they use good variable names and function names. Code reviews take care of the rest.
- solarmist 5y agoIf learning your first programming language doesn't require patience, I don't know what the word means. I've never met anyone who wasn't frustrated for at least the first few months trying to get even basic programs working. The syntax is orders of magnitude less tolerance of mistakes than any other subject.
- solarmist 5y agoHonestly we’re already working towards that. Between excel and no-code tools a lot of the grunt work can now be handled by the people who need it. The majority of stuff out there will be commodity software implementing some simple business logic and software engineers don't want to do that stuff anyway which is why we’ve been writing ourselves out of those jobs for decades. I have a very nontechinal marketing friend who routinely dives into WP sites to diagnose dependency issues after upgrades because her work no longer thinks she _needs_ programmer support. Or connect a up web/email forms to CRM in going or outgoing and needs no assistance to create complex conditional filled marketing campaigns. And mostly they're right. She's bad at it. It takes at least 10x as long to fixes these issues, but they occur quarterly or less. And if she can not fix it then they hire a consultant/contractor to fix it.
- zozbot234 5y agoExcel is a disaster. It will randomly corrupt input that happens to fit certain patterns by parsing it into "dates" or "numbers", unless you go to the trouble of explicitly setting the right "cell properties" via the incredibly clunky UI. It hides the code that's input in cells, lets it randomly mix with input data and does not support any kind of source control for it. It's not even fit for purpose as a prototyping tool, you're literally better off writing some code in FORTRAN IV and key-punching it into a fresh deck of punched cards. At least you're going to have proper code/data separation.
- solarmist 5y agoYup, but you can make it do the job and that's enough for the majority.
- zozbot234 5y agoIt's only "enough" to them because they don't grok the failure modes. Which is basically the story of almost all "no-code" or "low-code" tools. You can do "low-code" and even "no-code" right, but it basically has to be a DSL that's cleanly defined in terms of some other programming language with sensible semantics. That way when the DSL fails to do what you expect it to (as it invariably will at some point), you at least get to pick up the pieces and carry on. But that's not how Excel is built, or most similar tools.
- shakna 5y agoWell, this makes me feel old. It's no revolution, but a reversion. It was the norm, not that long ago, that anyone could do minor programming. The era of Lotus Notes and the like. You would still hire a programmer for the big stuff, but office workers would build little scripts, or look under the covers when something goes wrong.
- abakker 5y agoA lot of us office workers still do. I prefer to keep scripts little and just use OTT software as much as possible. Often, scripting is not possible to avoid.
- analog31 5y agoProgramming is too important to be left to programmers. -- apologies to Clemenceau I think it's possible to make productive use of programming without claiming to be developing software by which I mean, programs that are expected to be placed into long term or widespread use. That's what we did with programming in BASIC, 40 years ago. As a scientist, I use programming for things like modeling, data analysis, lab automation, algorithm prototyping, and so forth. You folks all know why. I'm not going to sacrifice that power just because I don't develop full blown software. Scientists programmed before there was a software industry. If something that I create threatens to end up in a product, it gets handed to the software department. We can hire an army of programmers. Granted, there is a widely known problem with this approach. A program can evolve to the point where it's really "too big" for a non-developer to manage, but "too small" to justify the cost of spinning up a software development project in a typical organization. I don't have a good solution for that problem.
- zozbot234 5y agoThere was plenty of actual, production software written in some variety of BASIC. The language(s) definitely had its weakness, but it was not uniformly terrible. Especially once the "structured" varieties were introduced.
- 5y ago
- buscoquadnary 5y agoThey'd all start trying to find their way into project management or design or something. Being able to code is an important part of being a software developer but being able to code makes you no more of a software developer than learning newton's laws of motions makes you a mechanical engineer. There are edge cases, debugging, scalability, one off errors integration, backups, etc. We tried this with VB and Acces and thedailywtf.com is rife with stories of trying to undo that mess decades later, we are going to run into the same problem with the new iteration of no code the difference this time is that we are paying per month to use it rather than just having an unsecured server in the basement running all the business critical functions.
- solarkraft 5y ago> trying to undo that mess decades later This implies that it has been used (successfully) for decades. That's a phenomenal success. Most software gets replaced after a few decades because the requirements change.
- version_five 5y ago> being able to code makes you no more of a software developer than learning newton's laws of motions makes you a mechanical engineer. Yes! I wish this point got more attention. So many articles - there was one on here from a16z today - pretend there is this magical thing called learning to code that takes a couple months and suddenly puts you on par with every software developer. The analogy I like to use is claiming that by taking an introduction to statics course you are somehow on par with an architect or engineer that is designing bridges and skyscrapers. Software development needs wide acknowledgement as an actual trade that takes a broad base of theoretical and practical learning, including time spent writing code, to be proficient, and not seen through the lens of this learn to code nonsense. I've talked to so many business people who see "coding" as a skill they could pick up if they had a couple months, that would then let them be on par with career developers - if only they weren't busy with higher value work. This is one of the big reasons why many companies are so dysfunctional
- tympious 5y ago
- baash05 5y ago"If a programming language doesn't change how you think, it's not worth learning." ~I forget who I always find it funny when people say things like this for our trade. I'd never imagine the likes would be said for Copy Writing or Sales, or Plumbing. Like James from the bookkeeping team decided to start rewiring the light fixtures last week. Spacing out the lights a few feet further apart, and using higher watt LED's saved the company X. I never hear Elite Plumber or Elite Dentist. (Though I'm sure they exist) We are no more Elite than any other profession. But we are professionals, and we do train.
- tympious 5y agoQuoth http://www.cs.yale.edu/homes/perlis-alan/quotes.html http://www.cs.yale.edu/homes/perlis-alan/quotes.html - no. 19
- streetcat1 5y agoThe author miss the point that coding complexity is exponential, not linear. I.e. a lot of people can understand 10-20 lines of code, less can 100 LOC, less can 1000 LOC, maybe top 10% can understand 10K, 1% - 100K. So no code can work, just that the size limit of the program will be low (10-100 LOC) . However, most program start at low LOC, but ends up with high LOC, where the low code tools breaks. Hence, the low code tools basically guarantee the future of the elite geeks.
- trzy 5y agoThere is a difference between understanding 10, 100, and maybe 1000+ but beyond that I'm not so sure. Who really understands a 100k code base they didn't write themselves except at a high level anyway? I think once a developer accrues an understanding of certain key abstractions, it's just a matter of exposure and practice working within code bases. No-code is a separate issue. Visually organized programs become very hard to understand very quickly.
- streetcat1 5y agoRight, a professional programmer uses advanced tools and design pattern such that 100K can look like 1001K or 1000 100 LOC. The complexity of a software system is due to interaction between its components. A professional developer know how to make it N instead of N2. Note that most of the big software system that you know, were written by a single/two developers - C++/ Java / Unix / Linux / Riser FS / Kubernetes. This can be evident by the power law distribution of github commits for every popular github project.
- onion2k 5y agoSo no code can work, just that the size limit of the program will be low (10-100 LOC) This ignores the fact that each "line of code" in a "no code" app does significantly more than 1 line of code. The benefit of no code tools is that they solve the very problem you're claiming stops them being useful.
- reilly3000 5y ago
- fnqpt 5y ago
- oblib 5y agoI don't think that "no-code" is the solution but I do think that we can treat some methods of creating software more like a trade skill. There are ways to code web apps that can lower the bar of entry by quite a bit. That's not to say one wouldn't have to learn a lot to do it well, but that is true with any trade skill. If we had classes in schools that focused on making apps using available tools like jQuery, PouchDB.js, Bootstrap, that's pretty easy to learn. From there businesses could hire skilled workers to install and modify software they get free or purchase and tailor it to their needs. I think it's fair to say that not everyone has what it takes to learn those skills. I took trombone lessons for a semester in 6th grade and never did hit a single note right. Not even close. Still can't.
- erwincoumans 5y agoCoding may become ubiquitous, but visual coding isn't always easier than textual programming languages. Back around 2001 we created no-code visual scripting logic bricks for the Blender Game Engine: sensors (keyboard, collision, raycast) controllers (and, or, etc) and actuators (move, play sound, animation etc). Some games became very complex, with hundreds of linked blocks. We introduced a Python controller, that could do everything with or without using logic bricks and text scripting was much more concise.
- booleandilemma 5y agoA lot of non-programmer office workers I've met aren't capable of writing software. Full stop. They're simply too incompetent. It's an uncomfortable truth. I'm talking about scrum masters who have trouble navigating Jira, business analysts who aren't able to have a written conversation, product owners who struggle to create Outlook calendar invites. Imagine asking these same people to write software rather than just use it. It isn't just a matter of training, it's a matter of disposition, and the gap is wider than we as a society care to admit.
- shrimp_emoji 5y agoDoes anyone not have trouble navigating Jira? I play Europa Universalis 4[0], and I feel like Jira is more complicated. 0: https://external-preview.redd.it/at0EwQpHU6A3xyU0KW80bc3aVMZnTJyuMdzpkg65XC8.jpg?auto=webp&s=c83bf8d4cb0f2ee61149507a931e1981400fde5a https://external-preview.redd.it/at0EwQpHU6A3xyU0KW80bc3aVMZ...
- nnadams 5y agoThe interfaces of Paradox games only get better with each release in my opinion. Crusader Kings 3 looks polished and is easy to use. Leagues above CK2. I love the stackable tooltips that let you define terms in tooltips defining terms in menus.
- mrweasel 5y agoJira isn’t nearly as bad as it’s made out to be, and I struggle to suggest any real alternative. The problem is that Jira do a lot of different things, and mixing those those things results in people having a bad time. An example: don’t try to use Kanban board unless you’re planning on doing so in all project. Jira will happily show “kanban” tickets in the same overview as an ITIL incident, resulting in teams having to mentally switch between different workflows.
- drunkpotato 5y agoJira isn't nearly as bad as it's made out to be, only because it's so, so, so much worse. It makes simple things obtuse and absurdly difficult, all in the name of flexibility that is more liability than feature. I hate Jira with the burning passion of a thousand fiery suns. I've used a bespoke ticketing system. I've used Trello. I've used stickies on a whiteboard. They each had their pros and cons, but every single one of them was infinitely better than the shithole that is Jira.
- ivansavz 5y agoWord meaning tangent: I have never heard the expression "line-of-business employee" before and I'm not quite sure what it means. Is it trying to differentiate from the "IT department" which is a cost centre? Or are they just trying to say "ordinary employees" as in non-technical? Why don't they just use a generic term like "office workers" or something?
- kthejoker2 5y agoYes, LOB is consultant speak for "non-IT employee" (after reading your comment, I can't tell if it's a badge of pride or shame that this jargon is second nature to me) It's because (rightly so) IT gets mad when you insinuate they are not part of "the business" So "line of business" is the compromise to mean "any business unit but IT"
- ivansavz 5y agoThx for the explanation. > [...] I can't tell if it's a badge of pride or shame [...] Lol... shame, definitely shame ;)
- orev 5y agoOne of the main differences I see on the road to learning to code has nothing to do with the tools; it’s the thought process. A major hurdle is trying to get the business people to coherently express what they want. They seem to have a general sense of how something should go, but can’t actually put it down on paper. Or when they do, it looks different than what they imagined (simply because the required logic doesn’t match the cloudy vision they have in their mind), and then scrap it because it doesn’t “feel” right. They fail to think about the corner cases because “that doesn’t happen very often”, ignoring the fact that a program needs to work in all cases, no matter how often they happen. Or they don’t get the concept that processing 10 or 10,000 records makes no difference (i.e. it’s not “more work”) because they don’t really follow the idea that they’re setting the rules for the computer to do the work, not doing it themselves. Understanding math is so important because it’s often the first formal step in learning how to think this way. I think it’s a pretty good bet that business people who do well in math would probably do well in some level of programming, but everyone else probably just can’t, or at least are unwilling to go through the mental training required to think this way.
- burlesona 5y agoI don’t think that having a knack for math necessarily matters for making a good programmer. I’ve known many good engineers who were drawn to programming because math was hard for them and they wanted to learn how to get the computer to do it for them. Ironically, coming to understand programming can be a way to understand math better. One of the best programmers I know is a philosophy major, who thinks of code like poetry, with consistent readable concision as the goal. There are many paths. What programming does require is a vivid imagination, to form a mental picture of the machine you are building and what is happening as information flows through it and is transformed. Even more than that, it helps to be a systems-thinker, and to be able to zoom out and ask “what are we really trying to accomplish here.” Most of the time the elegant software solutions come not from writing brilliant code, but from reframing the problem so that simple code can solve it.
- gryn 5y agomath is not just about calculations and numbers that most people interact with during their education and seems to dislike or find hard. the part that would be useful in programming is a little bit of logical reasoning, the symbolic reasoning and modeling of problems through abstraction. coincidentally these are also the part of math that get thought and used in philosophy so I'm guessing that your colleague is somewhat familiar with them since their most probably are required core courses in getting a philosophy degree.
- Terry_Roll 5y agoSeems like Microsoft have infiltrated Hacker News with the recent number of submissions trending on here. Is this the Economists way of stealth advertising Github's CoPilot?
- Walton69 5y ago[dead]
- narag 5y agoI was well paid in the 90's to program a desktop application that saved some Telefonica contractors from using its web application. I guess it's what they call "scrapper" now. The web was incredibly slow and unreliable. Money aside, I still feel a steady incoming karma flow :)
- danShumway 5y agoBusiness/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.
- deleted 5y ago[deleted]
- Mandatum 5y agoI really wish we put guard rails in the form of fines and damages to prevent people from exposing private or sensitive data. Handing people who have no idea about security or sensitivity of data the keys to the kingdom is like handing a toddler a loaded gun. Or a JavaScript, front-end UX developer the AWS root keys. Oh wait, we've already done that - and we regularly see them blow their parent company's heads off.
- jacquesm 5y agoThe bulk of the main dataleaks are from internet connected services which usually are built by programmers rather than end users.
- sverhagen 5y agoI'm a full-time developer, but I had a recent need for some quick internal tooling coincide with a HN posting about Budibase, and it sent me down a low code/no code rabbit hole. I evaluated a bunch of tools in that segment briefly, and spent a nontrivial amount of time on Budibase and Appsmith. And while I admire what they're trying to do, it was a disappointing journey. I made no serious progress, then threw together what I had in mind in React in half the time. Having spent some of this time researching that field, there sure seems to be a renaissance of what we'd call RAD (rapid application development) when I came of age. But it's astonishing how little progress was made since then. A younger me built some "applications" in Microsoft Access, which was not at all more frustrating than using these current day tools. So, Citizen Developers... good luck!
- habeebtc 5y agoI am old enough to recall RAD, and young enough to have seen a few of these low/no code solutions come and go. Don't get me wrong. I love them as a coder. Once I get the hang of them, I can bang out powerful stuff in a few minutes. The problem is (IMO) to get to that level, you have to already be a coder to some extent. I strongly suspect this stated success story had a ton of upskilling help from MSFT, if not hand-holding. I would not bet on a non-coder coming fresh to these platforms and building something useful with no other context. In their current state they are likely to be (very powerful) lazy programmer tools. Until there is some paradigm shift I do not see the "Citizen Developer" becoming a practical reality. A field tech who crimps ethernet all day is going to have to learn some programmer skills to make a power app that pulls data from an API, parses the JSON and then does something useful with it.
- nikanj 5y agoProgrammers are essential to the modern business, and management absolutely hates that. It is very easy to extract money from the market, by promising management that they’ll no longer be dependent on programmers. Code free, no code, visual development tool, rapid application development etc. has been a promised since the sixties or so. Ever since the first programmer said “Hey this skill is pretty rare, I should get a nice raise”, have the bosses been saying “Free us from needing programmers, and we’ll pay whatever you want”
- tonfreed 5y agoI think it low code/no code only gets you so far. I've worked in many places that were driven by an excel spreadsheet. Hacked together solutions work fine, to a point, that's where us "geek elite" take over, and that's fine in my opinion.
- ZeroGravitas 5y agoI don't want to make fun of the idea, because more people thinking about software as a tool they can influence is good, however the initial paragraph which says, paraphrased: Giant corporation had $12 million software problem they had no process for flagging up and fixing properly, until an untrained employeed took it upon themselves to personally sort, seems like the bigger issue. If that kind of thing can happen, the the user created app can be mismanaged into catastrophe as well from similar root causes. And wouldn't we all be better off if having decent software tools to complete your tasks was just table stakes in modern corporate life, rather than something to write excitable stories about?
- deleted 5y ago[deleted]
- bob1029 5y agoEmpowering smart people to succeed is easy, even if they dont understand your source code rune magic. You jusy have to shift to a perspective of being an enabler/tech delegate for others. Most of that requires listening and willingness to be wrong, not individual contribution. We have spent the last 2 years building tools and models that allow for our non-developer domain experts to handle 90%+ of software implementation concerns. The biggest techinical key in my view is taking a data-oriented stance. This allows for you to talk about most problems in terms of excel spreadsheets, and any business logic can be developed in terms of SQL queries over those tables. Having a rockstar developer contribute on an individual basis is amazing. Having that developer empower 1000 other employees to operate at even 1% their capacity is beyond amazing. It's also a lot more sustainable. The elite developers who are capable of building these ecosystems don't grow on trees. If you find yourself with one, maybe have them build the fishing boat factory for you instead of forcing them to fish for every goddamn meal.
- kthejoker2 5y agoThe number of people conflating the high degree of skills and traits required to be a successful professional software engineer with the basic computer literacy and "hold my beer" ingenuity of day to day "citizen development" of Excel macros, RAD tools, and browser boommarklets is infuriating. If you are one of those people: stop right now and go watch someone build something PowerApp or Appian. Here's a good representative videos, feel free to watch at 2x speed, the details are unimportant. https://youtu.be/s6-C2xismq4 https://youtu.be/s6-C2xismq4 And then read the comments on that video. THAT is who this article is talking about; THOSE are citizen developers. They are not learning Python or Go or recursion or symbolic logic. They are not on StackOverflow or Dev.To, they're not contributing on GitHub, they're not applying for Staff Engineer or even entry level web dev positions. And they’re self-servicing precisely because anyone who knows how to code like a professional is working on way harder technical problems. A Michelin chef makes thousands of meals a week, but they can't feed the world. So we have cookbooks and air fryers and microwaves and ready to eat meals and yes they’re unhealthy or taste like cardboard or whatever but they fill the need. Nobody is insisting everyone's food be made by Beard winners; but somehow they can't make the same leap that people can develop computer-aided solutions to their business problems without being Alan Turing. And the "revolution" is just that automation of the middleware required to support these kind of folks - APIs, IaC, data catalogs - is reaching critical mass. The available ingredients for the "cookbook" are better, and so the possible recipes are better. Sprinkle in a little AI (think Clippy on steroids) and the home "cook" can make a satisfying enough meal. Will they work at FAANG or build the next one? No? Who cares...?
- jordanbeiber 5y agoHaving worked quite a bit with no/low-code abstractions and “workflow automations” I’ve seen a few problems arising over and over: - ownership and its boundaries becomes blurred - maintainability over time - lack of systems thinking and architecture These are things we struggle with in organizations with dedicated development teams! When parts of critical apps or workflows become like “xls in sharepoint” - PoC’ing is dreamy, anything beyond that potentially very painful. Just my 2c, although I’m keeping a watchful eye on this segment.
- NovemberWhiskey 5y agoIn my experience, whenever user-developed software grows to achieve some kind of critical mass in a large company, it is nearly always discovered that the rapid development and agility was achieved by a complete disregard for the kind of table-stakes engineering practices most take for granted. Like: "Oh, you control changes to your massive Excel macro that Does The Thing by renaming the sheet and putting it on a shared drive, and it's never tested, and you have no idea who is using which versions of it, and hardcoded credentials for the database backend which running on your desktop which has no defined backup policy, and by the way also contains PII?"
- tyingq 5y agoThough I have seen user-developed software used the right way, I've also seen what you've described. Aside from the concerns you raise, there also a tendency for information to get siloed. Different areas of the business start hoarding data. And people start using the same term to describe different things, etc. The incentive to share and use common definitions is often lost.
- claytonjy 5y agoAs someone who hasn't seen user-developed software built the right way, I'm very curious to know what enabled such an outcome. What processes or infrastructure helped prevent the situation described in the parent comment?
- tyingq 5y agoI imagine there's other ways to do it, but the biggest difference was a sort of centralized visibility and watching the user-developed stuff as it evolved. Then interceding politely to get anything off fixed. Linking like tables, identifying who the authoritative source is, changing field names, providing some sort of discovery of what exists, pointing out data privacy issues, etc. Basically making sure there's a caretaker, and that they try to help and guide versus lock down and dictate, where practical.
- tempacct3575 5y agoI've worked with several of these tools: Power Platform, Mendix, and Outsystems. I despise the terms no code-and low-code. A better term is "visual programming" (as an alternative to text based programming). You should still follow some basic software development principles - Outsystems training in particular is excellent in this regard. There definitely is an appetite for these tools. There is a class of business/operations people who know how to manipulate flowcharts, Excel macros and some MS Access but struggle with source code. I have worked with several team that successfully automated some processes using these tools, and were often able to create a pretty good user experience as well. There is also no risk of this displacing developers - in my experience these tools open the imagination of what is possible and even more backend support is needed over time. Developers work on core capabilities and systems (which change slowly) and users work on creating the custom business process (which change often). With the right management it works quite nicely.
- solarkraft 5y ago> A better term is "visual programming" I tend to agree. "No code" seems to imply "no programming", but that's exactly what you do with these tools, just in a simplified way.
- ludamad 5y agoIt also isn't always simpler. Once you're visually flowcharting minor text transforms "low code" is a misnomer
- tempacct3575 5y agoYeah, text transforms are a bit of a nightmare in almost every platform. Most low code platforms have an expression or macro/function editor that would be used to deal with those - it's also ugly there. For my team, we usually cleaned them up in the back end services since citizen developers are not too familiar with these kinds of issues.
- nameisname 5y ago
- civilized 5y agoFor those who are skeptical of no-code/low-code, I am too, but here's perhaps a useful intuition pump / prompt for thought. Excel is a low-code tool backed by a scripting language for customization (VBA). There's no argument that this tool has enormous business value and is basically never, ever going away. So, what can't Excel do, and does it make sense for there to be another low-code tool that fills those niches? What's in the space between "can be done in Excel" and "must be done by professional software engineers"? Here are some tools I think fit the bill: Airtable, Alteryx, Looker... (I kind of hate Alteryx at my company but it's not the software's fault, it's the company being stingy with licenses which makes people's workflows harder to learn about)
- thr0wawayf00 5y ago> (I kind of hate Alteryx at my company but it's not the software's fault, it's the company being stingy with licenses which makes people's workflows harder to learn about) This brings up a great counter-argument to visual programming tools, which is vendor lock-in. We talk about this a lot on the cloud architecture side, but surely this also becomes a concern if a commercial visual programming tool becomes an integral part of one's core business domain. And if the solution to this problem is some sort exportable code, then what's the point?
- civilized 5y agoI could be OK with it if it exported some crappy machine-generated SQL, which lots of other tools can do. But yes, when you use these tools you're at the mercy of the vendor and their willingness to play well with others. From a purely selfish perspective Alteryx is a disaster for me because I often need to see inside business process and Alteryx obstructs this more than other tools. But users swear by it so I have to grudgingly admit it's a "good" tool.
- rubyfan 5y agoI think the big issues present in many large companies isn’t democratic coding but interdependent technology architectures and business processes that must rely on centralized planning. In this case speed to market is a challenge due to the overall coordination burden and a hodgepodge of specialized technology and business domain logic. Coding and lack of coders generally aren’t the issue at big corps, it’s getting them meaningful instruction on what the business needs that is coordinated with all the other aspects of the business to yield productive outcomes. It’s why project costs are usually 30% developers and 70% overhead. There’s typically nothing democratic about this type of environment and low code / no code platforms can’t solve this type of issue.
- mg794613 5y agoAh yes, the no-code dream of shareholders. ”Why pay those pesky developers if you can just click it together, how hard can it really be, I became CEO/sales/random-other-thing because I'm really smart, so this will be easy too.” Every year I see this post rear its head, can we agree we only post it again when it's actually possible and not some CEO 'has a great idea that nobody thought about'?
- Ivanjefferey 5y ago