¿Qué persona es mejor, la que obtuvo una puntuación alta (no máxima) en HackerRank, TopCoder, etc., o la que ha publicado aplicaciones / juegos de Android?

Creo que Vladislav Zorov lo logró, pero déjame asumir que quieres decir:

Qué persona es muy valiosa:

  1. El primer tipo: un tipo con muy buenas habilidades en programación competitiva sin conocimiento sobre el desarrollo de Android.
  2. El segundo tipo: un tipo con muy buenas habilidades en el desarrollo de Android, pero que no sabe nada sobre programación competitiva.

En este caso hay muchos escenarios:

  1. Escenario 1 :
    (Se entiende por programación competitiva → algoritmos, estructuras de datos y matemáticas).
    1. Escenario 1.1:
      (Se refiere a la perspectiva de las grandes empresas (Quora, Google, Microsoft … etc.) .

      En este caso, mientras el segundo tipo no tenga conocimiento de eso, esto hace que el primer tipo sea muy valioso, pero ¿por qué?

      Porque es mucho más fácil aprender el desarrollo de Android en pocas semanas, pero no se puede ser muy bueno en algoritmos y estructuras de datos con puntajes altos en programación competitiva, y así es como las grandes compañías piensan, saben que pueden atraerlo quedarse y aprender más.

    2. Escenario 1.2:
      (Quiere decir desde la perspectiva de las pequeñas empresas que depende solo del desarrollo de Android).

      En este caso, mientras el primer tipo no sepa nada sobre el desarrollo de Android, ¡qué harán con él! la entrevista será totalmente sólida solo sobre Android y Java, por ejemplo, por lo que rechazarán al primero y aceptarán al segundo.

      Si son muy generosos, le dirán al primer tipo qué estudiar exactamente en el correo de rechazo y le pedirán que vuelva a una entrevista (esto sucedió conmigo 😀 No sé nada sobre desarrollo web, y solicité una pequeña empresa para servicios web, y este escenario sucedió conmigo 😀).

  2. Escenario 2:
    (No quiere decir que la programación competitiva = conocimiento sobre algoritmos y estructuras de datos).
    1. Escenario 2.1:
      (Quiere decir que el segundo tipo es bueno en algoritmos y estructuras de datos, pero no es bueno en programación competitiva [Esto sucede mucho y vi que esto sucedía]).

      En este caso, el segundo tipo es muy valioso, porque este tipo es bueno en algoritmos y tecnologías, entonces este tipo es muy valioso desde la perspectiva de casi todas las empresas.

    2. Escenario 2.2:
      (El segundo tipo no es bueno en absoluto en algoritmos y estructuras de datos).

      En este caso, vaya al escenario 1.

Brevemente, para mí, el tipo con conocimientos sólidos de programación competitiva, algoritmos y estructuras de datos será mucho más valioso que un programador sólido en Android o web o cualquier otra tecnología, porque es más difícil ser bueno en programación competitiva que ser bueno en cualquier tecnología [ Solo es mi opinión].

De todos modos, parece que estás tratando de elegir entre hacer una programación competitiva o aprender tecnología, esta es la pregunta más común entre los estudiantes de la escuela, y muchas personas hicieron esta pregunta antes, incluso en Quora, y muchas personas respondieron esto incluso también en Quora, por lo que será mejor si buscaste esto.

¿Mejor para qué?

Si es “mejor candidato para un trabajo de programación”, no creo que esto pueda responderse solo con la información proporcionada: las aplicaciones podrían haber sido triviales, en cuyo caso el programador competitivo probablemente será mejor (ya que usted dijo que lo han logrado). puntuaciones altas, por lo que deberían saber una o dos cosas sobre algoritmos).