5 ms·
An Ode to "CRUD" Apps: There's nothing unexciting or less complicated or challenging about producing good CRUD [sic] applications. I don't understand the indu
by ak39 11y ago
An Ode to "CRUD" Apps:
There's nothing unexciting or less complicated or challenging about producing good CRUD [sic] applications.
I don't understand the industry cynicism towards producing good quality "bread and butter" software for any vertical market.
It takes years of experience to learn good (relational) data modeling.
It takes years of dedicated attention to assemble tried, tested and efficient user interface designs that your user community loves to use on a daily basis. User interface design (and yes, we are talking about your "boring" invoice capture screens here) may seem easy at first glance to be dismissed as unexciting, but almost every real world example is a challenge that requires creative thinking. Many are implemented badly.
It takes hard knocks experience to add gems of strategies to your repertoire of "boring" reporting solutions. Producing industrial volumes "TPS reports" may sound boring, but architecting reliable and efficient reporting solutions is hardly easy.
Another challenge of the "1 inch deep and 1 mile wide" mental specter associated with "CRUD" apps is managing the challenge of excatly that - the 1 mile wide sprawl. Each CRUD app may be simple and boring on its own, but how do you manage several of them on one site such that each one not only operates efficiently with its own specialisation but also as an integrated whole with others? These are not simple or by any means boring.
I love CRUD apps. I love seeing different CRUD apps in specialised domains and how similar concepts of the CRUD world manage to solve specialised needs of a particular niche.
Fascinating.
:-)
- cholantesh 11y ago>architecting reliable and efficient reporting solutions is hardly easy. A billion times this! In retrospect, it's kind of funny that at my previous engagement, I was doing things which were kind of unusual to me and yet I was feeling bored and depressed. Now I'm back squarely in the CRUD world and learning so much. It's one thing to write applications that perform these tasks, it's a whole other ballgame to make those applications performant, scalable, and a delight to interact with.
- logn 11y agoI think what bothers programmers is that creation of CRUD apps seem like something that could be automated/abstracted. And it partly has been, which is why so many freelance jobs involving Wordpress, Magento, Salesforce, etc.
- PopeOfNope 11y agoCRUD apps are to programmers what walls are to carpenters. There may be an artistry to making good walls and there are lots of ways the task can be made challenging. But, 99% of the time, the customer doesn't care about the artistry that you put into the wall. They just want the damned thing up as fast and as cheaply as humanly possible. I think that might be where the root of the OP's boredom comes from. Doing the same (relatively) low skill task over and over for years would make anybody bored.
- ak39 11y agoIf we were to use the wall analogy, I'd put it this way: the customer should care about the structural integrity of the wall, how much load-bearing weight it can carry, or whether extensions can be added easily to it etc. So while getting "the damn thing up" may be the burning expectation in everyone who isn't making the wall, the wall maker knows the consequences of poor work and it is his responsibility to educate folks who depend on said wall.
- bbcbasic 11y ago> User interface design (and yes, we are talking about your "boring" invoice capture screens here) may seem easy at first glance to be dismissed as unexciting, but almost every real world example is a challenge that requires creative thinking. But how does this tie in with the manager who says 'it's just an invoice screen, why are you taking so long' probably based on the mentality that $ revenue is proportional to # features.
- tripzilch 11y agoWrong question, how does a bad manager getting in your way tie in with building well-designed quality CRUD applications? Obviously the problem here is the manager, not the fact that you want to write and build quality work. Especially if they run on flawed assumptions such as "the mentality that $ revenue is proportional to # features". You can't build quality under shitty management like that. There's markets and jobs for both types: some desire cheap & shitty, others are willing to pay premium for solid, beautiful & well-designed.
- ak39 11y agoFair enough. This sort of standoff with pointy-haired managers is always politically tricky. You have to show the manager that there is business value in creating effective and efficient user interfaces and that "getting it right" ultimately saves money. If you are developing software for high-volume capture, your manager will understand that doing it correctly is the main feature. Also, I've noticed many end users are not confident to comment on what they believe is an inefficient interface. So, problems with user interfaces are not spoken openly unless the interface completely blocks the user from completing his/her task. It takes some amount of permission-giving from the developer's side to get valuable feedback that would otherwise not be spoken about.
- bbcbasic 11y agoUnfortunately in the enterprise, the purchasing decision maker is usually not the user, and may not even use the invoice screen before deciding to buy. So in the short-medium term it is not in the interested of the business to make it awesome. In the long term ... maybe. The exception to this is in situations where the market is being disrupted. For example when the iPhone 3g came out it just made any other hard-to-use smart phone look like shit. And thus the competition was forced to catch up. However in enterprisey applications we are a long way off that. The awesome invoice screen may add value to the customer, but not much if none of that will be captured by the provider of the software. Unless a certain class of invoice screen is on the list of must-have things the buyers must have, because it is a particular pain point. In which case you will be told by the pointy haired boss to make it awesome, it won't be your choice as the developer. Damn I sound cynical! Your point about users is spot on, and we have all been such users. I mean you have used MS Word ... right? And often at work we have to use such applications. We just push on through. Users that are not programmers may not even know to question it, they assume that is the way it is unless they have used a competing product.