CodeGym /Blog Java /Random-ES /Resolución de problemas. Cómo aumentar su capacidad para ...
John Squirrels
Nivel 41
San Francisco

Resolución de problemas. Cómo aumentar su capacidad para resolver tareas y desafíos de programación

Publicado en el grupo Random-ES
La capacidad de abordar problemas de programación complejos y resolverlos encontrando soluciones no obvias, ingeniosas o simplemente funcionales con la suficiente rapidez es una de las habilidades fundamentales para cualquier desarrollador de software y, a menudo, se utiliza para evaluar el nivel profesional y las capacidades de un programador. Las habilidades de enfoque y resolución de problemas son lo que distingue a un programador Senior de un Junior sin experiencia . Y esto no es sorprendente, ya que la resolución de problemas es la habilidad que desarrolla lentamente a lo largo de su carrera en el desarrollo de software al abordar varios tipos de problemas que inevitablemente enfrentará cuando trabaje en este campo.Resolución de problemas.  Cómo aumentar su capacidad para resolver tareas y desafíos de programación - 1Mejorar en la resolución de problemas de programación es lo que buscan comprensiblemente muchos desarrolladores, ya que esta característica tendrá un impacto directo en el ritmo de su progreso profesional y crecimiento profesional desde Junior Developer hasta Senior y más adelante en la carrera profesional. Hay múltiples maneras de mejorar en la resolución de problemas. Aquí hay algunas recomendaciones y formas de subir de nivel esta meta-habilidad esencial.

1. Asegúrate de entender el problema

Como algo para empezar, siempre es bueno asegurarse de que realmente comprende el problema. Una forma de verificar si lo entiende o no es tratar de explicarlo en términos simples, ya sea verbalmente o por escrito. Si no logra explicar el problema, significa que no lo comprende por completo. Practicar esto te ayudará a ver las fallas en tu comprensión y corregirlas.

2. Divide el problema en problemas más pequeños

Una vez que se asegure de comprender el problema, sería bueno dividirlo en varios problemas más pequeños que sean más fáciles de resolver. Si este método de abordar problemas de todo tipo te resulta extraño, quizás sería buena idea familiarizarte con el pensamiento computacional , que es un conjunto de métodos de resolución de problemas.

3. Primero planifica la solución

Otra buena idea sería desarrollar primero un plan de solución, en lugar de atacar el problema de inmediato. Debe darse tiempo para analizar el problema y procesar los datos. Luego intente planificar una solución escribiendo sus pasos.

4. Resuelva problemas de programación en varias plataformas de preparación.

Practicar en varias plataformas de preparación para programadores y programar entrevistas también será muy útil para mejorar tus habilidades para resolver problemas. Especialmente si utilizará varias plataformas para diversificar los problemas en los que está trabajando tanto como sea posible. Aquí hay algunas plataformas que puede usar:
  • LeetCode

    Una de las plataformas de entrevistas técnicas más populares con una gran comunidad y más de 1650 problemas para que practiques. Admite 14 lenguajes de programación, incluido Java.

  • pastel de entrevista

    Otro sitio web muy conocido con todo tipo de contenido para programadores, incluidas tareas de programación, artículos, consejos y muchas preguntas para entrevistas.

  • HackerEarth

    Además de los problemas de programación, esta plataforma te permite ponerte a prueba en simulacros de entrevistas, así como participar en concursos de programación y hackatones.

5. Usa CodeGym para practicar y aprender a abordar problemas de programación

El curso CodeGym , con su enfoque de práctica primero y más de 1200 tareas de diferentes tipos y dificultad variable, también sería una gran herramienta tanto para entrenar en la resolución de problemas prácticos como para aprender los conceptos básicos para tratar con ellos.

6. Juega juegos de codificación para practicar la resolución de problemas mientras te diviertes

Jugar juegos de codificación populares sería otra excelente manera de entrenar tu cerebro para resolver problemas de programación en un ambiente divertido y emocionante. Esta es una de las razones principales por las que CodeGym tiene tantos elementos de gamificación. Algunos otros juegos de codificación populares que recomendaríamos incluyen Robocode, Codewars, CodeMonkey y Elevator Saga.

7. Amplíe sus conocimientos sobre patrones de diseño, algoritmos y estructuras de datos

Si sus habilidades para resolver problemas no son muy impresionantes y a menudo se queda atascado tratando de resolver un problema, tal vez sería una buena idea fortalecer su base teórica al sumergirse en algunos temas relacionados con la programación, como matemáticas, estructuras de datos y algoritmos . . Aprender sobre patrones de diseño sería especialmente útil, ya que le permite memorizar las plantillas que se utilizan con frecuencia para abordar ciertos problemas.

8. Obtenga comentarios

Finalmente, es importante obtener comentarios de personas reales sobre sus soluciones. La retroalimentación es uno de los factores más críticos en su crecimiento como desarrollador profesional en general, ya que le permite identificar y corregir fallas en sus habilidades y patrones de pensamiento. Por cierto, la retroalimentación y la interacción, como una forma de impulsar su progreso, también es la razón por la que CodeGym tiene tantas funciones sociales y alienta a los estudiantes a usarlas.

Asesoramiento de expertos

Para concluir, aquí hay algunas recomendaciones adicionales sobre cómo lidiar con problemas de programación de desarrolladores y codificadores experimentados. “Hable con la gente: encuentre a alguien que pueda resolver algunos de los más difíciles y vea si entiende la solución y, mejor aún, entienda cómo podría haber llegado a esa solución en primer lugar. Si utiliza un <algoritmo inteligente> que nunca antes había visto, debe dedicar tiempo a aprender algoritmos inteligentes. Si usa ingredientes que conoce de formas inesperadas, observe cómo se tradujo el problema de su forma original a la forma que da lugar a esos ingredientes conocidos, y repita. Después de algunas de esas rondas, deberías sentirte más cómodo abordando problemas difíciles”, recomiendaAlon Amit, programador experimentado y vicepresidente de Intuit. “Deberías estar resolviendo problemas que no crees que puedas resolver, pero no tengas demasiada confianza y no intentes resolver los problemas más difíciles. Debes buscar problemas por algoritmos o etiquetas. Cuando aprenda algún algoritmo, busque algunos problemas que lo necesiten y resuélvalos usando el algoritmo que acaba de aprender”, sugiere Martin Kocijan, otro veterano de la codificación. Pero no te excedas, gastar demasiado tiempo y energía en resolver problemas de programación puede no ser muy bueno, advierteJacek Podkanski, un programador con muchos años de experiencia en codificación de Inglaterra: “No intentes luchar contra eso. Cometí el error de resolver muchos acertijos en Hackerrank. Solo paré cuando la gente empezó a advertirme que si continuaba dañaría seriamente mi empleabilidad. Detente antes de que sea demasiado tarde”.
Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION