React, Rails, and the degradation of the developer experience

The web development field is a mess. Tutorials only 6 months old are out of date. I’m dependent on stack overflow for answers to everything. I spend more time fighting config files and setups than I do writing code.

I wouldn’t want to scare anyone away, but I would be tempted to give dire warnings to folks looking to get into web dev right now. There is a shit ton of bs involved that has nothing to do with building apps or changing tech culture. Our tools are busted & confusing as fuck. It’s only because I’ve been at this so long that I can calmly navigate this quagmire.

I don’t mind learning new things, but that learning needs to feel like I’m getting something sustainable out of my time. Honestly, I don’t think “always be learning” is healthy. It’s the nature of the beast, but I don’t think we’re built for it. I just would like the industry to get to a point where there’s a sense that any of this is learnable with consistency.

I’ve literally lost interest in React before I’ve even built my first app in the framework and that’s entirely to do with the amount of learning that has to go on that has nothing to do with what I’m trying to build.

I’m just looking at all this and seriously questioning what we’re getting out of it. How is this better than the PHP apps we were building 10 years ago? It’s a slightly better experience for the end users? Maybe, but there have been other related innovations that make things faster. I mean, I built this site on WordPress for a reason. It’s fast, it’s got a stable UI, it does predictable things.

Are these web apps we’re building really anything more than html forms and pages? Is this really any more straightforward (and powerful) than what we were using a few years ago? I was working through a React course last week and the instructor half-jokingly said he called himself a “professional forms developer” which is scarily accurate for what many of us are actually doing.

There is room for innovation. I just wish it was happening a bit more slowly and thoughtfully. I think my last year of working with Rails has had a big influence on how I’m feeling about this stuff. There are changes to Rails, but it’s measured. JavaScript-land is a hot mess in comparison. The Rails apps I work on are plenty quick and responsive, even on mobile. Most of the time, there’s little to no javascript involved. Okay, fine, I’m blaming the single-page application fad.

All of this complexity is supposed to make the “developer experience” better. We’re meant to be more productive and write better, more stable code by using these frameworks. I’m just not seeing that play out so far in practice. If we’re not even having a better experience doing the work, then what is the point of all this, really?

At the end of the day, I like building things. I really do. Today is just one of those days where the barrier between what I’m doing (and where the industry keeps going) and being able to build things is very very high.