Cómo conseguir buenos trabajos técnicos cuando soy malo en los desafíos de programación

En muchas cosas de la vida, se puede usar la solución rápida. ¿Necesita transporte? Agarra un Uber. ¿Necesitas comida? Agarrar comida para llevar. ¿Necesitas una respuesta a una pregunta? Pregúntale a Quora …

Pero sugeriría que la solución rápida, si hay una aquí, no le beneficiará más a largo plazo que la ruta obvia, aunque dolorosa, de mejorar en la programación y en la programación de “desafíos” (es decir, problemas en diseño de algoritmos).

(Es decir, suponiendo que desea el rol de desarrollador de software. Si desea un trabajo que no sea de desarrollo, podría ser capaz de combinar sus habilidades técnicas en ese tipo de rol, sin ser bueno en la programación o el diseño de algoritmos. También podría conseguir un trabajo como desarrollador en algún lugar de una manera más fácil, pero eso podría no ser mejor para su carrera a largo plazo).

Necesitará dos tipos de recursos para ayudarlo a mejorar en el diseño de algoritmos:

(1) Un texto (puede ser un PDF, un sitio web o un libro real) que le enseña los principios de diseño de algoritmos y algunos métodos comunes para atacar problemas.

Considere estos:

Entrevista para descifrar la codificación: 189 Preguntas y soluciones de programación: Gayle Laakmann McDowell: 9780984782857: Amazon.com: Libros

The Algorithm Design Manual: Steven S Skiena: 8601404387784: Amazon.com: Libros

Amazon.com: Elementos de las entrevistas de programación: Guía de información privilegiada (9781479274833): Adnan Aziz, Tsung-Hsien Lee, Amit Prakash: Libros

Algoritmos (4a edición): Robert Sedgewick, Kevin Wayne: 8601400041420: Amazon.com: Libros

Introducción a los algoritmos, 3a edición (MIT Press): Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein: 9780262033848: Amazon.com: Libros

Estos son más o menos en orden descendente de cuán accesibles son los textos (los últimos pueden ser desafiantes). Algunos están diseñados como textos académicos, mientras que otros están diseñados como manuales de preparación para entrevistas.

(2) Una fuente de problemas y una forma de verificar sus soluciones.

Considere estos (o cualquiera de los otros por ahí):

Juez en línea de UVa – Inicio

HackerRank

Si bien estos son sitios web de “programación competitiva” y aunque algunas personas tienen aversión a eso, no hay nada que diga que tienes que usarlos de manera competitiva. Estos sitios web (junto con uHunt :: UVa Hunting para el primero) clasifican los problemas de práctica para que pueda concentrarse en áreas débiles. No es necesario modificar la forma en que escribe el código o participar en el aspecto competitivo, para hacer un buen uso de dichos sitios para la práctica.

Para practicar para la configuración de la entrevista, considere codificar primero en papel y luego transferir ese código a un compilador para ver cuáles son los errores.

Es posible que necesite o no recursos adicionales, como una guía para el lenguaje de programación elegido y practicar su uso eficiente. Según mi experiencia, muchos programadores luchan por recordar los detalles con respecto a un solo lenguaje de programación, a menudo se han acostumbrado a buscar muchas cosas (o confiar en un IDE). Debe haber al menos un lenguaje de programación que conozca lo suficientemente bien como para ser fluido y escribir el código en papel.

Hay todo tipo de trabajos técnicos, y muchos no implican programación o solo de manera modesta. ¿Qué pasa con la electrónica, el control de calidad, la ingeniería industrial, la ingeniería química, la reparación del motor a reacción, la cirugía, el ingeniero de grabación de audio, el piloto de prueba, la reparación de electrodomésticos, el ingeniero arquitectónico, el técnico de laboratorio en Underwriter’s Laboratory (haga que las cosas se prendan para ganarse la vida!), Astronauta , cambiando la luz roja en la parte superior de esos mástiles de radio de 800 pies de altura, …

Incluso en el mundo del desarrollo de software, tener éxito en los desafíos de programación no cuenta mucho, ya que el trabajo real, el que paga, implica hacer que los viejos sistemas crujientes se ejecuten en nuevo hardware, encontrar errores irreproducibles, documentar programas mal escritos, liderar un equipo de bozos desorganizados para cumplir con éxito una fecha límite, … todo lo cual no tiene nada que ver con esos tontos desafíos de programación.

Esos desafíos y concursos de programación parecen ser divertidos para los recién salidos de la universidad, tal vez para algunos programadores autodidactas y para aquellos con un fuerte deseo de competencia o que quieran mostrar sus coeficientes intelectuales. Tienen algún uso en el empleo para eliminar idiotas de los competentes. Pero muchas personas con experiencia competente que han logrado cosas en la industria, que han ahorrado a sus compañías millones o aumentado las ventas a través de un excelente diseño y fabricación de productos, probablemente rechazarán la mayoría de los desafíos de programación, pero son muy inteligentes en sus trabajos bien técnicos y bien remunerados.

More Interesting

Cómo reinventarme a los 58 años después de un despido laboral, lo suficiente como para asegurar un nuevo trabajo y evitar la inminente pobreza y la fatalidad

Firme un contrato para un puesto de enseñanza de ESL en China a partir de junio. Desde que firmé eso, recibí un mejor trabajo, y preferiría tomarlo. ¿Cuál es el protocolo para esto?

Cómo encontrar un trabajo poco después de la graduación

Cómo conseguir un trabajo de actuación cuando vives en el extranjero

¿Qué exageran o estiran la mayoría de las personas en sus hojas de vida?

Tengo 33 años, actualmente estoy desempleado y no puedo encontrar trabajo; ¿Es demasiado vergonzoso si trabajo en McDonald's?

¿Qué certificaciones de TI se pueden adquirir para calificar para un buen trabajo sin universidad o experiencia?

¿Cómo encuentro a alguien que pueda darme un mejor trabajo en otros países cuando soy realmente bueno en lo que hago?

¿Cuál es el trabajo más fácil del mundo?

Cómo conseguir un buen trabajo justo después de graduarse con un título en negocios

Estoy tratando de solicitar un trabajo de consultor de servicio al cliente en bancos. El problema es que mi CV no supera los recursos humanos. ¿Qué puedo hacer para conseguir un trabajo?

Cómo conseguir un trabajo si no he trabajado en 7 años

¿Qué tipo de trabajo puedo obtener después de completar mi B.Tech del departamento de CSE, si no tengo conocimientos prácticos o habilidades de codificación?

¿Qué tan pronto puede volver a aplicar a Google después de ser rechazado una vez?

Cómo conseguir un trabajo de cajero de banco