Cómo desarrollar mis habilidades en la programación de resolución de problemas

Seguir practicando es la fórmula básica. Siempre debes desafiarte a ti mismo y abandonar tu zona de confort.

Prefiero hacer ejercicio en casa porque en el trabajo simplemente no tienes tanto tiempo para invertir en investigación y aprendizaje (tienes suerte si lo tienes).

Puede centrarse en tecnologías (lenguajes de programación, marcos, plataformas, etc.), diseño de software (diseño de clase, patrones) o problemas algorítmicos (física, matemáticas, etc.).

Intenta resolver el mismo problema usando diferentes idiomas. Diseñe un lenguaje de programación y escriba un intérprete para él. Diseñar e implementar un juego de computadora. Escriba una herramienta de línea de comando para una tarea específica que desea automatizar. Escriba un marco MVC desde cero para mejorar su comprensión de los conceptos básicos. Espero que tengas muchas ideas tú mismo 🙂

Lo que también es importante es el tiempo de boxeo. Establece los objetivos y hasta cuándo quieras terminar. Concéntrese en hacer las cosas a tiempo. Probablemente no llegues a tiempo. Piensa en tu enfoque y pregúntate si realmente te enfocaste en las partes esenciales o si pasaste demasiado tiempo en cosas innecesarias. Resuelva la tarea nuevamente y vea qué sucede.

Leer mucho ayuda a no reinventar la rueda. Los profesionales usan implementaciones existentes (paquetes, bibliotecas) para crear nuevo software. Para los sistemas de producción, debe buscar soluciones existentes a ciertos problemas para ahorrar tiempo y mantener baja la tasa de defectos (la mayoría de las implementaciones disponibles establecidas se prueban y mejoran continuamente … no quiere o tiene que hacerlo usted mismo).

Related Content

Participe en competiciones de programación y use sitios de programación competitivos como hackerrank, topcoder, hackerearth, etc. Solo enfrentándose a lo mejor, realmente aprenderá a resolverlo de la mejor manera.

Crea un problema y luego resuélvelo.

Le mostraré una progresión rápida usando un programa de calculadora para mostrarle cuán complejo o no puede hacerlo.

  • Haga una calculadora estándar con funciones de memoria y almacenamiento.
  • Agregue a esta calculadora una función de deshacer (haga que deshaga múltiples en 200 lugares)
  • Agregar funciones científicas
  • Agregar capacidades gráficas
  • Agregar capacidades de programación de secuencias de comandos
  • Salida a impresora o dispositivos múltiples
  • Enviar resultados por correo electrónico. Agregue capacidades de tiempo para enviar.
  • Permita que el programa de calculadora hable con otros programas de calculadora en el lenguaje de secuencias de comandos, lo que permite que un solo programa de calculadora dirija varias secuencias de comandos y las compile.
  • Asegúrese de que solo una instancia del programa de calculadora pueda estar activa en la computadora en cualquier momento.
  • Dele a la calculadora la capacidad de tomar mediciones de dispositivos externos y registrarlas después del cálculo del resultado.

Ahora cada uno de estos es una extensión del programa original … pero está empujando su base de conocimiento en direcciones extendidas … convirtiéndolo en un programador con un flujo más amplio de conocimiento que puede ofrecer.

También es aconsejable mencionar que para cuando llegue al último par de secuencias … el programa dejó de ser una calculadora y comenzó a transformarse en una aplicación mucho más compleja.

Para su conjunto de habilidades a largo plazo … eso es lo que quiere lograr.

Estoy a favor de mirar los problemas históricos que se resolvieron. Particularmente si se resuelven con un pensamiento fuera de la caja. Libros como: La longitud de Dava Sobel son geniales para este tipo de cosas.

More Interesting