Como ingeniero informático, siento que la habilidad para resolver problemas es algo que se requiere, y es lo primero. Una vez que aprenda a resolver un problema y comprenda su esencia, todo lo que lleva al código, y hará que la computadora comprenda su algoritmo. Al comienzo de mi esfuerzo de programación, tenía un buen dominio del lenguaje que codificaría, pero carecía de la habilidad para resolver problemas, lo que resultó en una refactorización de múltiples códigos que causaba pérdida de tiempo y agonía mental.
Las habilidades de resolución de problemas lo ayudan a visualizar el panorama general y a diseñar el sistema de la mejor manera posible. Una vez que su plano está listo, el resto es bastante fácil de codificar. En lo que respecta a aprender nuevas tecnologías, siento que no se puede aprender todo lo que hay en el mercado. Hace un par de años sentiría que no sé mucho de las cosas, pero ahora sé que no lo sé todo, pero que sé un subconjunto de ellas, y saberlas bien es lo que importa. En situaciones de la vida real, se le daría un conjunto de problemas y la responsabilidad de diseñar la solución de una manera tan elegante que utilice lo mejor de su conocimiento y recursos, y la habilidad de resolución de problemas es lo que viene a rescatar durante esos situación.