El día en que pueda responder preguntas de Quora con arrastrar y soltar será el día en que se crearán los programas informáticos con arrastrar y soltar.
Creo que lo que esta pregunta realmente está llegando es la idea de que, algún día, los tipos de habilidades y experiencia requeridas por el ingeniero de software contemporáneo pueden no ser necesarias, casi tanto, porque las computadoras serán lo suficientemente inteligentes y las herramientas serán fáciles suficiente, de modo que los laicos puedan crear programas para realizar tareas y resolver problemas.
Cuando pensamos en un programa en este contexto, estamos imaginando un conjunto de instrucciones. El programador le dice a la computadora qué hacer. Varias herramientas, lenguajes, entornos, etc. hacen que esto sea más fácil en muchos casos. Pero aquí está el quid de la cuestión. Cuando le dice a una computadora qué hacer, debe ser específico … y esa es la parte difícil. ¿Por qué necesitamos ingenieros de software hoy? Para hacer eso. Para decirle específicamente a las computadoras qué hacer. Para imaginar los casos extremos. Las excepciones Las implicaciones. Los requisitos * reales *. Las compensaciones.
- ¿Por qué tantos ingenieros de software en la industria automotriz no están contentos con sus trabajos?
- ¿Cuánta experiencia debería tener con la ingeniería de software antes de comenzar un inicio de software?
- ¿Puede un ingeniero de software seguir cambiando su lenguaje / marco de programación?
- Si se le pidiera que clasificara a las empresas Google, Amazon, Facebook, Microsoft, LinkedIn, Twitter por prestigio para ingenieros de software, ¿cómo clasificaría?
- ¿Qué valen los ingenieros de software después de graduarse de la Universidad Técnica Estatal de Bauman Moscú? ¿Qué empresas están asociadas con BMSTU?
Como han dicho otros, la industria ha intentado muchas veces producir herramientas que hagan que la programación sea “arrastrar y soltar”. Por lo general, fracasan porque los esfuerzos son exageraciones de marketing destinadas a “engañar” a alguien o son casos de nicho que no pueden extenderse de manera más amplia. Pero imaginemos por un segundo que algunos tenían una herramienta de arrastrar y soltar realmente viable. No sería mejor que las construcciones que tenemos ahora (probablemente sería peor, imagina el desorden). ¿Por qué no sería mejor? Debido a que aún tendría que “codificar” todos los mismos detalles y detalles que tendría que hacer hoy usando los métodos existentes. Y, por lo tanto, el proceso de pensamiento sería similar a lo que hacemos hoy y, por lo tanto, el laico promedio no estaría equipado para hacerlo.
OK, entonces esto no va a suceder en el sentido general. Pero, ¿qué ocurre con casos específicos en los que se podría construir una interfaz y un entorno de este tipo, con restricciones, para dar a las personas que no son ingenieros de software la capacidad de construir “programas”? Yo diría que tenemos esto hoy. Está a nuestro alrededor en varias formas. Pero probablemente pensamos en esto más como ~ usar ~ programas ~ que ~ construir ~ programas, incluso si el resultado final es hacer que la computadora haga algo que queremos que haga. Pero, por supuesto, los ingenieros de software crean esos sistemas que todos usamos.