DEV Community

Discussion on: Devs won't need to optimize their apps

Collapse
 
scgrk profile image
Stephen Gerkin

Your metaphor for car usage is a false equivalency. Developers build things with their tools. No one builds something with a car. Contrarily, if you were to build a car on your own, you'd have to learn how to use all the various tools that are involved in building a car. That's not a simple task by any means.

Development of any kind is complex and complicated. Sure, the tools can be difficult to use, but learning how to use your tools is what makes you a better craftsperson and able to build better. The tools give us a means of creating, but it is our responsibility to learn how to best apply and use these tools and combine the resources available to create something out of nothing.

Lastly, I totally agree that the tools of the trade can be overwhelming and difficult to learn. This gives the impression that things have trended in the opposite direction of becoming simplified as they've become more complex. But think about how difficult it would be to prototype a complete single page web application with dynamic features that respond to the user without modern day tools and using only plain HTML, CSS, and JS. Now do the same thing using a framework like React or Angular. I think you'll find that the more complex task has been simplified.

Collapse
 
wanegain3 profile image
Alexandre Beaugrand

Gentlemen, thank you for having taken the time to read my article.

@ Stephen Gerkin

Would you say that tools have to be difficult when their purpose is to create/make/build stuff ? I believe any tool ergonomy should not be related to its actual purpose.

Many creative tools are simple to use : paintbrushes, lego, etc. Even if you take complex creative tools, often their user don't need to understand how they work.

Take a landscaper for example. Do you agree this is a creative job ? If a landscaper makes a garden, he may use a chainsaw. Chainsaw are complex but he doesn't need to care about how it is working. He just needs to know how to use/operate it.

Same thing applies to logic. Excel or Access users don't need to be devs to make stuff that sometimes look close to a little app. Yet they don't actually need to understand what's under the hood. Many times using Macros isn't required. Using those tools requires a little practice, but I wouldn't say it is overkill.

I agree though on the fact it would be difficult using only HTML/CSS/JS to make modern apps, with very high standards (on team collaboration, reactivity, loading time, tests, etc). You are right on this one. But I believe that :

1) nowadays standards are overkill : gaining some milliseconds of loading time might make sense for some high-traffic website, but not for the little store around the corner. Writing TDD doesn't make sense most of the time as well. We haven't for years and yet many apps were user tested and working fine. As for SPA, many times it is not needed as well.

2) one may think that as long as it is possible to reach perfection we should go for it. I'd be careful with the tradeoff : it is not free, it implies time, it creates bugs, quite some maintainance, and therefore costs.

Thus, I think devlopment became complex because Modern dev standards became The default standard. I would be fine with it (after all we wanna be proud of what we are making) if it wasn't for the new cost. Given what it costs to use those standards, I think there is yet a long road to go towards simplification (which has begun though, as we can see with svelte or parceljs for example).

@ Abdul Rahim Shaikh
I like your Windows example, and talking about Car enthusiasts like you suggests makes sense. I also agree on the fact drastic shifts are happening for disruptive tools and new frameworks. It happened to AngularJS -> Angular. Thanks for your comments and ideas.

@ D3vil-hunt
"What if developing an app could be as simple as using it. At least for some people. I guess thats the point the article is trying to make." I couldn't say it better. Actually you summarized my point of you. The new dev Role I refered to as "Dev tools users" will eventually disappear : pushed to an extent (but we are not there yet) the app makers won't not be devs, but regular users using tools made by devs. Bubble.io, Flash (back in the days), or Excel are good examples to realize users dev skills are not mandatory to make stuff.

Thanks to you all. We may have different point of views but it feels good debating on those matters :)

Collapse
 
ariskycode profile image
Abdul Rahim Shaikh

I wouldn't go as far as to call it a false equivalency, it's there but it is half baked. I do believe in some cases we can expect this comparison to be true, and it is. Take windows, for example, those who knew the basics around Win 95 can still make their way around Win 10.
And instead of comparing users to drivers, comparing developers to car enthusiasts would be more apt. We are inherently able to ride our own car(framework/technology/language) with perfection, knowing exactly what kind of V8 engine with turbochargers and NOS and what not is under the hood. But if you give a muscle enthusiast something like a GT they would have a hard time at first, but given the base design of all cars tends to be the same, they can definitely make their way around it. I do agree with the rest of your comment.
Though applying the same paradigm here, I disagree with the last comment
"And for every new tool/framework update, there would be no more learning costs. Just a pop-up in the dev tool."
Any sophisticated tool has already achieved this state, only new and disruptive tools and frameworks are currently those with drastic shifts in their implementations. Here, every new tool that is coming out is going from 2 stroke engine to 4 stroke engine, you cannot just replace it without overhauling the entire engine, transmission, fuel pipeline, and gear assembly and when they do go from 2 stroke to 4 stroke, they only make the driver's life easier.

Collapse
 
d3vilhunt profile image
D3vil-hunt • Edited

You have very well demarcated the role of a developer and how development is different from driving a car. If I may say what I reckon from you comment is, driving a car is like using an app and building an app is like building a car, thus developers need to understand all the subtleties which otherwise could be ignored by the users. But what if developing an app could be as simple as using it. At least for some people. I guess thats the point the article is trying to make.