Como una de las pocas personas que conozco que es ilustrador y diseñador, pero también ingeniero de software, siempre he aprovechado mi capacidad para ver formas en abstracciones y usar combinaciones de esas formas para señalar el camino a simetrías o asimetrías que podría explotar en mi arquitectura de software.
Veo mucho los objetos y los métodos en un espacio de interacciones que se correlaciona con el conjunto de problemas definido, a menudo esta visión del mecanismo de la solución final está nublada al principio, pero a medida que escribo las interacciones (generalmente en papel viejo) empiezo conectando los “lego” como me gusta decir.
Para las aplicaciones que he diseñado desde cero, generalmente puedo ejecutar toda la función de la aplicación simplemente viendo su función en mi mente. Sé que este es un modo de desarrollo bastante único, ya que la mayoría de los desarrolladores con los que he trabajado parecen tener un enfoque ciego en el que están iterando en las pruebas … Tiendo a tomar mucho tiempo para “preparar” una solución casi completa en términos de los objetos / métodos y abstracciones y luego, en un maratón, ejecuta un código que, si no funciona de inmediato, generalmente lo hace después de un pequeño sprint de depuración.
- ¿Cuáles son las frustraciones comunes al escribir documentación para un proyecto de software?
- ¿Dónde puedo encontrar buenos cursos de diseño de experiencia de usuario (UX) en línea?
- ¿Cuál será la diferencia en el salario de un probador y desarrollador con los mismos años de experiencia y el mismo nivel de conocimiento en sus respectivos campos?
- ¿Cómo evitan las empresas la necesidad de grandes cantidades de recursos para las pruebas de software?
- ¿Estoy perjudicando mi carrera como ingeniero de software al tomar mi primer trabajo en una función de soporte de software?
Esta es la razón por la cual el eslogan de mi empresa que fundé para crear software es “tomarse el tiempo para diseñar adecuadamente”.