Quiero ser un programador / científico fenomenal. ¿Alguien puede recomendar libros / libros de texto que debería obtener a continuación? ¿Qué cosas debería estar haciendo en este momento para aumentar mi conocimiento / valor para que las organizaciones me contraten para pasantías o un trabajo?

  1. Aprende a usar un motor de búsqueda. Realmente no puedo enfatizar lo suficiente lo importante que es esto. Estás sentado esperando a que la gente note tu pregunta y te dé respuestas, y la persona con la que competirás por las pasantías encontró las respuestas hace varias horas y ya está leyendo las versiones en línea. Repita durante los próximos dos años para cada pregunta de programación que tenga donde no piensa buscar la respuesta en línea y lo hacen. No vas a estar en su liga. Aquí están los resultados de poner en el motor de búsqueda de Quora.
    1. ¿Cuáles son los 10 libros de programación más importantes?
    2. ¿Cuáles son algunos buenos libros de programación?
    3. ¿Qué es un buen libro de programación?
    4. ¿Cuáles son los libros de programación más efectivos, que no te importará leer en cada página?
    5. ¿Cuáles son algunos de los mejores libros de informática y programación de computadoras?
    6. ¿Cuáles son los mejores libros de programación de software?
    7. ¿Qué libros / recursos de programación me ayudarán a ser un mejor programador?
  2. No llegas a fenomenal leyendo libros. Si quiere ser programador, lea las listas de correo de los proyectos que le interesan y la documentación técnica del equipo que utiliza. Aquí hay un par para comenzar.
    1. El archivo de la lista de correo del kernel de Linux. Aquí es donde los desarrolladores del kernel discuten nuevas características para el kernel de Linux. No intentes publicar aquí hasta que lo hayas leído durante un par de años. Comprenderá muy poco de lo que está sucediendo, especialmente al principio. Pero rastrear las cosas que no sabe es una excelente introducción a la teoría y práctica modernas del sistema operativo.
    2. Intel® 64 y IA-32 Architectures Software Developer Manuales, especialmente el Manual de referencia de optimización. Los programadores Java comunes y corrientes no se preocupan por la optimización de máquinas de bajo nivel; programadores fenomenales son (al menos ocasionalmente).
  3. Si quiere ser un informático, haga todo lo anterior y también lea la literatura revisada por pares. Descubra cuáles son las mejores conferencias y revistas en su campo y comience a hojear los últimos años. Cuando encuentre un artículo que le guste, lea sobre los trabajos citados. Si encuentra un investigador en particular que hace un trabajo que le parezca genial, diríjase a su página web y lea todo lo que ha hecho. Entonces repite. Para la informática de alto rendimiento, aquí hay algunos lugares para comenzar:
    1. http://sc16.supercomputing.org/
    2. http://www.ipdps.org/
    3. http://conf.researchr.org/home/p…
    4. http: //www.journals.elsevier.com…
  4. Y no está de más estar familiarizado con los clásicos:
    1. Cómo convertirse en un hacker
    2. Cómo hacer preguntas de manera inteligente
    3. El arte de la programación de Unix
    4. Al principio era la línea de comando.
    5. Cerca de la máquina: la tecnofilia y sus descontentos
    6. Programando Perlas
    7. El alma de una nueva máquina

Si todo eso parece un poco abrumador, bueno, debería serlo. “Fenomenal” no es un lugar fácil de encontrar, y no vas a llegar por una década más o menos si comienzas ahora. Así que empieza ya.

Lo que recomendaría es comenzar a trabajar en habilidades prácticas, no solo en conocimiento. La programación se trata de ambos: conocimiento y habilidad.

En cuanto a los libros, esos son estándares de reconocimiento:
Patrones de diseño: elementos de software orientado a objetos reutilizables: Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides, Grady Booch: 8601419047741: Amazon.com: Libros

https://www.amazon.com/Introduction-Algorithms-3rd-MIT-Press/dp/B007CNRCAO/ref=sr_1_1?s=books&ie=UTF8&qid=1472238645&sr=1-1&keywords=introduction+to+algorithms

Y eso vale la pena en mi opinión:

Software Craftsmanship: The New Imperative: Pete McBreen: 9780201733860: Amazon.com: Libros

Leyes de ingeniería no escritas: edición revisada y actualizada, WJ King, James G. Skakoon, eBook – Amazon.com (no para veteranos corporativos 😉 ellos saben esto por completo en ese momento)

The Mythical Man-Month, Anniversary Edition: Ensayos sobre ingeniería de software 2, Frederick P. Brooks Jr., eBook – Amazon.com

Tome una marca que no recomiendo libros de texto en idiomas o marcos. Esos son comunes y muchos, si no la mayoría, son lo suficientemente adecuados. Los libros sobre habilidades que no están directamente relacionados con los idiomas son mucho más difíciles de encontrar y, en mi humilde opinión, más importantes.

Imagina que eres un artista o diseñador industrial. Entonces su cartera lo sería todo. Contiene la prueba de que usted es lo que dice ser con las habilidades que dice tener. Muestra tu creatividad y talento.

Si quieres ser “un programador / científico de computadoras fenomenal”, debes demostrar que lo eres, en lugar de demostrar que tienes un gran potencial para convertirte. (Este no es el caso para el resto de nosotros, tipos no fenomenales).

Si anticipa obtener un trabajo a través de entrevistas en las que le hacen algunas preguntas (realmente) desafiantes, entonces está entrevistando al nivel equivocado. Los entrevistadores buscan talento potencial, no demostrado. Imagina a alguien entrevistando a tu artista o músico favorito. Entonces, al ser fenomenal, el portal de entrevistas estándar no es para ti. En cambio, haga algunas cosas por las que la gente le dará dinero.

Tenga en cuenta que la primera hoja de cálculo fue un proyecto universitario (Harvard MBA) de Dan Bricklin’s, y que Bill Gates solo recurrió al software cuando determinó que no iba a ser el mejor matemático de su generación. No es necesario limitarse al trabajo escolar cuando está en la escuela (incluso cuando esa escuela es Harvard).

Piensa en escribir los libros, en lugar de leerlos.

¡Buena suerte!

Agregaría que debe pagar $ 200 anualmente para unirse a ACM, y obtener acceso a su enorme Biblioteca Digital http://www.dl.acm.org , suscribirse a SIG y usar sus recursos de libros electrónicos