Do I want Coders to Code?

7 hours ago 2

I got involved with another no-code project at work. I actually chose the stack this time. And I only chose that stack because I have a project management role. The no-code solution is an off-brand internal distribution of Node-RED. Which at least is open source and that gives me some degree of solace.

There are two developers in this project. They kept complaining about how coding is better than this no-code platform. And I agree with them. But for this project, we either use this thing, which runs in some managed enterprise k8 cluster or we do not have any infrastructure to deploy the solution. So it's not like there are many choices.

And then, after complaining about how they could do great stuff with code, they got blocked for two days. I wrote an email to a senior director while they complained, trying to get vendor (internal) support. And while they complained, I realized they had no idea about how JavaScript and npm packages work. Then I unblocked the issue deleting some folder and triggering a new package download on the build step (because managed deploys).

At that point I started to wonder: Do I want these guys handling code in my project? And here we are, still wondering.

The project chugged along and we faced an unknown. The base case for whatever we are building got done. It works for a single document. And now we need… drum roll: we need to handle multiple documents. This is a classic programming problem, solved by, you know: iteration. Which is a basic programming concept. But they were blocked. They did not know how to iterate using this no-code tool. I had to explain that: for fucking sure there is a way to iterate and they should figure it out.

Then they delivered, they figured it out. Iteration. And the endless possibilities of iteration. There was a 30 minute meeting where they explained them, all of them, those endless possibilities of iteration. They are professionals with Master's degrees and years of experience, filled with joy about the possibilities of what you could build with iteration.

I mean, it's cool. You get things working, figure stuff out and it's exciting and motivating. But seriously, iteration is kind of basic. Most people learn about iteration and it's possibilities quite early during their technical education.

At this point I kept wondering: Do I want these guys handling code in my project? And here we are, still wondering.

And then I remembered, a different project with code that the most senior of these two coders wrote. Code that nobody could figure out. Any issue there took hours of debugging and the code could only be run after deploying to the production environment, which was aptly named dev. Yes, you could not use a debugger. You had to deploy to production and print debug. The code followed Greenspun's tenth rule almost to the letter. The code was Python, a this guy kept re-implementing pipes and higher order functions. You might not want to do the Pythonic thing, which is import a library. The returns library is out there if you want pipes but it's a scary library. However higher order functions are on Python's standard library. I like functional programming and all, but I don't think you should use any of these things with Python. And yes, this person fell into the trap. The unlimited options of the editor lured him. He wrote the code that showed his superior intellect to himself instead of following the K.I.S.S. principle. Instead of following the age old mantra: Do the simplest thing that could possibly work.

At this point I kept wondering: Do I want these guys handling code in my project? And here we are, still wondering.

Read Entire Article