
What are some upcoming technologies that will eliminate front-end engineers? - kartickv
A designer I know was complaining recently that in his startup, his designs need to be implemented by a team of frontend engineers, who are slow, implement things with lower fidelity, and have a tense working relationship. He was saying that in five years, technology will advance to the point where frontend engineers (whether mobile or web) will no longer be needed, and that the designer will be able to take charge of the entire user experience directly, rather than indirectly through engineers.<p>I told him there&#x27;s a lot happening that he doesn&#x27;t understand, but upon reflection, the majority of work a frontend engineer does is routine and mundane rather than creative: wiring UI elements together, creating them, initialising them, add event listeners, fetching data from a server, saving it back, and so on. I have worked on a half-dozen frontend platforms (iOS, Android, J2ME, Symbian, Windows Mobile, web, Flash) and still, when I do a project, I end up doing tons of plumbing that I didn&#x27;t anticipate until I got into the details. This plumbing doesn&#x27;t add business value.<p>What are some technologies that are being developed today that are not ready for production use, but will be in five years, that aim to eliminate frontend engineers? Or, make do with fewer frontend engineers? What are some higher levels of abstraction being built?<p>Here&#x27;s an analogy: in college, I had to write a paper using LaTeX. I found it a frustrating exercise, with unnatural syntax and terminology I had to learn, and I&#x27;d always get compile errors. I thought there&#x27;s no reason a WYSIWYG word processor like Word or Google Docs or something else, in principle, shouldn&#x27;t be able to produce the same quality output, while being much easier to use, and usable by 100x as many people as LaTeX is.<p>What is the equivalent of that for frontend engineering?
======
hux_
This is what people thought when Visual Basic was released 20 years ago. Why
it hasn't happened is our programming languages are stone age tools when it
comes to representing and dealing with ambiguities.

All that plumbing you do is basically disambiguation. It involves (multiple)
clarifying conversations, tradeoffs that you justify, taste, vision etc.
Basically anything that falls under the 'there is no right answer' chapter of
whatever front end text book you read.

Once we have breakthroughs in natural language understanding that's when not
just designers but anyone will be able do away with programmers.

Despite all the AI hoopla it's not going to happen any time soon. All you have
to track is how systems are dealing with ambiguity.

~~~
kartickv
Agreed about stone-age tools.

I'm not counting on AI, but on declarative programming. Imagine dragging and
dropping components onto the canvas, not graphical ones like buttons and
sliders but model layer ones, like classes.

Each would have connections, input, output or bidirectional. And a connection
could have a simple mapping function. It could be as simple as "if price >
1000, discountOffered = true".

One can have preconditions that also define a remedial action to take. Going
back to the e-commerce example, if the user tries to check out, a precondition
might be that they're signed in, and the action would redirect them to a sign
in page.

As for disambiguation, the computer can just pick one alternative and do it.
You'll be able to override it, but computers shouldn't require everything
specified in excruciating detail.

These won't eliminate all code written in conventional programming languages;
just reduce it, so that engineers are more productive, and non-engineers will
be able to do more than they can now.

------
downrightmike
Technology is always 5 years out, but it never comes.

~~~
kartickv
This kind of knee-jerk reaction isn't helpful. Applied to tablets before the
iPad, for example, it would be wrong.

