¿Alguien puede ser un programador de primer nivel?

Corrijamos algunos hechos aquí a favor de quién leerá la descripción de su pregunta en el futuro.

La mayoría de esas entidades a las que estás insinuando probablemente no estén haciendo el trabajo 100% excesivamente complicado que puedas imaginar. Por lo tanto, las empresas más grandes cada año adquieren y aportan nuevos talentos bajo su paraguas.

En otras palabras, la mayoría de las tareas de ingeniería dentro de esas entidades se están dividiendo en piezas más pequeñas donde los nuevos talentos pueden evolucionar y resolverlas.

De hecho, hay una gran charla de Google: E / S que discute sobre este concepto de programador superior:

  • El programador El mito del genio por Brian Fitzpatrick, Ben Collins-Sussman

Hablando de conceptos, creo que podría haber entendido mal el concepto de los mejores programadores y los que no son los mejores programadores.

Debido a que en realidad no son 2 tipos, son más bien dos etapas por las que pasa cualquier programador. Solo depende de qué tan amplio sea el espectro para que un programador alcance el nivel de arquitectura de una solución frente a alguien que no puede resolver FizzBuzz [¿Por qué los programadores no pueden … programa?].

Esta no es una especie de pregunta que le harías a Magic Ball de Xkcd para responderte:

Fuente: xkcd: Emojic 8 Ball

Con el tiempo y la práctica adecuada, la mayoría de los programadores se convierten en una mejor versión de sí mismos. De la misma manera, cada habilidad necesita lo que se necesita para alcanzar su máximo nivel.

Algunos institutos educativos presionan a sus estudiantes lo suficiente como para aprovecharlos desde el nivel inicial hasta el avanzado en un tiempo más corto. Obtener una mejor exposición a diferentes conceptos y temas en conceptos de informática puede facilitar la vida de un programador. Mientras que el resto de los que están excluidos de estos recursos se preguntan si tomar un camino no lineal para mejorar o simplemente no llegar allí.


Entonces, la idea de “no tan bueno podría ser el codificador de primer nivel” en realidad puede suceder, solo depende de algunas condiciones:

  1. Programación dentro del espectro de interés y curiosidad, en lugar de $$ y derecho.
  2. Practicando, revisando y ajustando bases de código.
  3. Lectura de un código mejor, en lugar de los mismos ejemplos de “hola mundo”.
  4. Implementación de patrones, en lugar de código de caos y espagueti.
  5. Tener espíritu de autocrítica para supervisar los puntos débiles en el conjunto de habilidades.
  6. Encontrar mentores o modelos a seguir en el campo, o de lo contrario es muy fácil renunciar.

Si le preguntas a algún programador superior (que es un término que no usan principalmente),
él o ella le dirá que dominar los conceptos básicos es fundamental para ayudarlos todos los días a comenzar nuevos productos o terminar el trabajo de otra persona. Lo básico es una gran parte de todo el campo, además de practicar lo que aprende.

Lamentablemente, esta parte es menos aceptada por el público, lleva tiempo y mucho interés ser bueno en lo que haces, especialmente la programación. Debido a esta idea errónea, hay bootcamps de codificación que venden la percepción de convertir a las personas en programadores en 5 semanas. La parte triste es que en el caso de que alguien falle, casi no hay nadie que le diga:
“Está bien, amigo, te quedan días, cientos de líneas para escribir, nadie se convierte en programador en 3-5 semanas. A un estudiante de CS le toma 4 años rascarse la cabeza sobre los mismos temas. Te llevará un tiempo bueno, eso no significa que no puedas obtenerlos “.

De todos modos, no para entrar en ninguna política y tal, pero espero que de alguna manera responda su pregunta.

He dicho antes que los mejores programadores con los que he trabajado fueron, sin duda, los peores programadores con los que he trabajado, y viceversa.

Tienes una idea, y el sesgo de confirmación te dice que es verdad. Pero la realidad es que la programación es trabajo. Piensa en las cosas y las prueba, y finalmente refina una solución.

¿Algunas personas lo hacen más rápido que otras y en sus cabezas? Por supuesto. Pero las personas que no pueden asegurarse de haber aprovechado todas las posibilidades y dejar un rastro en papel para que sus colegas las sigan, mientras que las personas “inteligentes” tienden a no querer hacer esa parte del trabajo.

La verdadera diferencia entre buenos programadores y malos, en mi experiencia, es que los malos programadores preferirían estar haciendo cualquier otra cosa, por lo que no quieren seguir adelante con su trabajo. Cosas divertidas siempre son fáciles.

Y, por supuesto, la idea de “primera clase” imagina algún tipo de escala de aptitud técnica lineal que de alguna manera es independiente de las habilidades sociales, la cooperación con un equipo, la planificación y todo lo demás que entra en un gran proyecto, lo cual es un poco tonto. Pero en la medida en que uno quiera creer en tales cosas, es completamente posible, pero la mayoría de las personas no quieren ser grandes programadores como la mayoría de los niños (a pesar de las afirmaciones en contrario) realmente no quieren ser atletas profesionales, porque La mayor parte de lo que se necesita para llegar allí es realmente difícil y aburrido para todos, excepto los pocos con la mayor motivación.

Por cierto, no hago la analogía deportiva a la ligera. Fui a la escuela con un atleta olímpico en ese entonces futuro (con una medalla de oro y grandes acuerdos de patrocinio por un tiempo), y la “única” diferencia real entre el atleta y el equipo universitario de la escuela fue unas pocas horas de práctica todos los días durante Al menos una década. No había magia “Fulano está destinado a ser mejor”, porque todo se trata de poner en el trabajo. Es solo que, literalmente, solo un puñado de personas puede convencerse de que vale la pena hacer el trabajo.

Esta es una pregunta difícil porque lo que estás preguntando implica que algunas personas están predispuestas a ser mejores en programación que otras. Si bien creo que algunas personas podrían ser mejores que otras, creo absolutamente que cualquiera que esté dispuesto a trabajar puede ser un buen programador.

En primer lugar, no creo que sea un problema de inteligencia si te cuesta programar. El hecho de que luches por algo no significa que te falta inteligencia. La programación es prácticamente toda resolución de problemas. Debe poder pensar lógicamente sobre lo que está haciendo y cómo afectará eso en lo que está trabajando. Suena simple, pero a veces puede ser muy complejo.

Podría haber una gran cantidad de razones por las cuales la programación no es fácil para alguien. Las personas son diferentes y el ambiente de aprendizaje óptimo de cada persona será un poco diferente. Algunos se beneficiarán de la configuración del aula, mientras que otros aprenderán mucho mejor por su cuenta. De todos modos, si una persona no está en su entorno de aprendizaje óptimo, podría tener dificultades, pero eso no significa que no se convertirá en un jugador de alto rendimiento.

Además, hay una gran cantidad de situaciones de la vida que pueden afectar la capacidad de alguien para aprender. Alguien que está aprendiendo a programar a los 18 años mientras está matriculado en la universidad a tiempo completo y no tiene que trabajar tendrá una mejor oportunidad de éxito que el de 35 años que tiene una familia y un trabajo a tiempo completo tratando de aprender a programar por la noche. Es casi irrelevante cuál es “más inteligente” porque el estudiante más joven tiene una mayor ventaja en la vida. Entonces, al considerar esto, la respuesta a su pregunta es no, no todos tienen las mismas posibilidades de ser un programador de primer nivel.

Dicho esto, la programación puede proporcionar una carrera lucrativa para cualquiera que pueda obtener las habilidades. Los salarios de Ingeniería de Software tienen una tendencia de $ 155k / año en YouWorth. Esta es una tendencia de salarios, no de salarios de primera categoría. El hecho de que no sea el mejor de su campo no significa que no deba seguir trabajando para hacer lo mejor que USTED puede hacer.

Salario de ingeniería de software en San Francisco, CA – $ 155k / año

Extraje la información salarial anterior de YouWorth , una aplicación móvil gratuita para iOS y Android que rastrea los datos salariales del programador. No solo soy un campeón del producto, sino que lo uso yo mismo. La aplicación permite a cualquier persona importar habilidades de LinkedIn y rastrear su valor en el mercado laboral a lo largo del tiempo. También me notifican si hay un cambio en las habilidades que se están viendo.

Para responder solo a la pregunta, sin tener en cuenta los divagantes “detalles”: No. No hay un campo de esfuerzo no trivial en el que cualquier persona pueda desempeñarse en los niveles más altos.

También podría preguntarse si alguien puede ser un médico “superior”, abogado, ingeniero de cualquier tipo (tipo real, es decir, no software, ya que todavía no hay ingeniería de software), científico, matemático, velocista, jugador de baloncesto, etc. .

Las únicas cosas que cualquiera puede hacer bien son las cosas que están codificadas directamente en nuestros genes. Cualquiera puede ser un buen comensal o un buen padre (en su mayoría, algunos fallan) o un buen caminante (en ausencia de circunstancias exigentes, por supuesto) o un buen respirador, etc.

Y así. Si es parte de nuestra existencia básica como animal humano, casi cualquier persona (libre de déficit) puede hacerlo bien. Si es algo que hemos inventado a través de nuestra inteligencia, por así decirlo, entonces no. Algunos serán inherentemente capaces de un rendimiento mucho mayor que otros.

El esfuerzo puede llevar a cualquier persona a un nivel de desempeño más alto de lo que sería posible con un compromiso más informal, pero generalmente no lleva al practicante mediocre al más alto nivel de desempeño en el campo.

Agh, veo muchas respuestas negativas allí abajo.

Sin duda , puede ser un programador de primer nivel, con mucho trabajo duro y pasión por la programación.

Hablar de una escuela de CS rigurosa, Phaaah, ¡no importa en absoluto!
Los empleadores te buscan, eres habilidades. Te están contratando a ti, no a tu universidad.

¿Aún no me crees? Heres (según mí) la mejor historia inspiradora de la historia.

Ahmed Aly fue a la Universidad de El Cairo (no es una liga Ivy ni nada, es una universidad en El Cairo, Egipto).
Durante su licenciatura reprobó 22 de sus cursos, que incluyen cursos de programación y estructuras de datos.
Fue a competir en un concurso de programación (lo tomaron solo porque tenían que llevar a alguien, * a cualquiera * , ya que 1 de los participantes no pudo asistir).
Sin embargo, actuaron, él no tuvo ninguna contribución.

Pero,

¡Se enamoró de la programación competitiva!

Ahmed Aly ahora trabaja en Google y es un ingeniero de software muy solicitado.
Google perdió a uno de sus principales empleados en una startup que es como Fight Club para programadores

NO DÉ UN SH * T SOBRE LO QUE DICEN OTRAS PERSONAS.

¿ ** crees ** que puedes ser un ingeniero de software de primer nivel?

Si es así, ya estás en el juego, ve y lucha, trabaja duro, falla y vuelve a levantarte , llegarás a donde quieres llegar.

¡Les deseo lo mejor en la vida!

¡Salud! 🙂

No creo que sea uno de los súper volantes que describe.

Pero he resuelto algunos problemas terriblemente difíciles.

En varios idiomas

A varias escalas.

En los mundos corporativo, startup y solista.

Y me divertí, gané dinero, hice amigos y aprendí mucho en los últimos 30 años como programador. Nunca he estado sin trabajo a largo plazo. Por lo general, tengo una selección de ofertas de trabajo.

Ni siquiera tengo un título de CS. La mía estaba en electrónica analógica.

Dudo que ser el tipo de persona que describas hubiera hecho algo mejor para mí.

Descargo de responsabilidad, soy parte de la aplicación back {4} | Generador de backend para el equipo de aplicaciones web, móviles y IoT.

Para ser de primera categoría, debe alcanzar el hito de las 10.000 horas. Por favor, consulte la referencia a continuación:

Outliers (libro)

Si. Aprenda sobre la mentalidad de crecimiento.

More Interesting

¿Dónde debería intentar trabajar: IBM GBS India o Infosys India?

¿Qué ventaja tiene alguien con experiencia en ingeniería eléctrica en comparación con alguien que tiene experiencia en informática cuando trabaja en trabajos relacionados con la informática?

¿Debo ir a una maestría CS?

Hice mi licenciatura en electrónica y comunicación. Quiero hacer mi maestría en los Estados Unidos. ¿Qué curso es mejor para una maestría: informática o electrónica? ¿Qué curso tendrá mejores oportunidades de trabajo en los Estados Unidos?

¿Cuáles son las oportunidades de trabajo después de MSc en CS?

Cómo aprovechar mis habilidades matemáticas para una carrera en programación

Acabo de completar el 12º grado y tengo un gran interés en la ingeniería mecánica, pero la ubicación de los ingenieros mecánicos es bastante baja, entonces, ¿qué debo elegir entre mecánica e informática en DTU / NSIT?

¿Qué curso es el más importante en informática?

¿Alguna vez ha comenzado un nuevo trabajo solo para entregar su renuncia lo antes posible debido a una base de código monstruosa e imposible de mantener con la que tendrá que lidiar?

¿Cuáles son los alcances para los estudiantes de informática?

¿Qué debo aprender a continuación en el campo de la informática?

¿Cómo puede un programador convertirse en un científico de datos?

¿Todavía puedo conseguir trabajo en empresas de tecnología de primer nivel con especialización en estadística y ciencias de la computación?

¿Qué tipo de análisis de datos debería estudiar para obtener pasantes en las startups? ¿Y qué lenguajes de programación debo saber?

¿Qué alternativas hay para ir a la universidad si estás interesado en aprender CS pero no quieres pagar y trabajar para pagar los préstamos?