¿Asesoramiento profesional para el doctorado que busca programar? [cerrado]

13

Soy en gran medida un programador autodidacta. De hecho, comencé a programar a mitad de camino en la escuela de posgrado de biofísica, y aunque creo que he hecho un trabajo bastante bueno, nunca he trabajado como parte de un equipo de desarrollo 'serio' que tenía más de uno o dos otros desarrolladores (y no dudaría en llamarlos igualmente inexpertos en el desarrollo de software como profesión).

Después de terminar mi doctorado, me he centrado en la programación, oficialmente como postdoctorado, pero no oficialmente como programador de investigación del personal. En ese tiempo también tuve dos entrevistas en Google, pero no una oferta real. Tal como están las cosas, he echado raíces y probablemente no habría podido aceptar el trabajo de todos modos. Casa + esposa con trabajo muy bien remunerado, etc. Han pasado unos tres años, y mi evaluación sincera es que he aprendido mucho más, pero realmente necesito más de un grupo de pares para mantener o acelerar mi crecimiento. El problema es que, cada vez que miro, la mayoría de las ofertas de trabajo tienen requisitos que parecen increíblemente grandiosos y dudo en presentar una solicitud. Eso, o el trabajo / proyecto parece increíblemente aburrido.

Sospecho que la mayoría de las personas son mucho menos realistas que yo cuando se trata de evaluar cuánto tiempo les llevará ponerse al día, o no les importa; mi temor es que estoy lamentablemente descalificado para cualquier trabajo de desarrollador interesante y bien remunerado. IE: estoy seguro de que podría volver a cambiar completamente al modo C ++ con un par de semanas de trabajo (uso principalmente C, Python, C # a diario) pero no me considero "competente" en C ++ en mi CV, o aplicando para trabajos que 'requieren' tal conocimiento. Las pocas aplicaciones para las que sentí que era un buen partido legítimo no han obtenido una respuesta.

Sospecho que las siguientes cosas son problemas potenciales con mi aplicación / CV y ​​me gustaría recibir comentarios:

No tengo un título de CS. Mi licenciatura fue en bioquímica y biología molecular, mi doctorado en biofísica. Tomé cursos de algoritmos de pregrado y posgrado y los eliminé por completo, pero no sé cómo traducir eso a mi CV de manera efectiva (la diferencia entre obtener un A + y fumar a todos los demás en la clase).

Tengo un doctorado, pero no está en CS ... He estado debatiendo si debería eliminarlo de mi CV, y si fuera o no sería engañoso enumerar al menos algunos de esos años como algún tipo de 'programación 'trabajo (en muchos aspectos fue).

Creo que a veces hay fuertes estigmas asociados con los programadores 'autodidactas'. Ciertamente soy uno de esos. Incluso reconozco que algunos de esos estigmas tienen un toque de verdad, pero realmente quiero ser un activo para un equipo. ¿Cómo comunico que, aunque he sido autodirigido en gran parte durante ~ 8 años, todavía puedo tomar órdenes de marcha cuando sea necesario? ¿Lo digo directamente?

¿Debería volverme mucho menos escrupuloso acerca de todo el proceso? anécdota: tengo un amigo que solicitó puestos en los que eludió por completo sus calificaciones para superar el primer sacrificio. Fue mucho más honesto y comunicativo sobre sus calificaciones reales cuando lo contactaron y aún así logró ser invitado a un par de entrevistas e incluso recibió algunas ofertas. Sin embargo, sus bolas son más grandes que las mías.

C SD
fuente
¡Admiro la tenacidad de aplicar a Google sin experiencia! Pero desafortunadamente, todos tenemos que comenzar en la parte inferior de la escalera. La razón principal por la que un empleador podría no querer un doctorado es que, en general, se los considera más teóricos que prácticos (científicos, no ingenieros). Se trata de hacer las cosas, por lo que primero debe demostrar que puede hacerlo.
Nadie
1
Sospeché eso, desafortunadamente creo que está ocurriendo un concepto erróneo entre disciplinas. Yo diría que la mayoría de las personas no obtienen su doctorado en biociencias sin planificar con éxito el trabajo, hacer el trabajo y comunicarlo. Y parte de 'hacer el trabajo' significa ensuciarse las manos: los equivalentes mundiales de programación de codificación, depuración y ajuste. Siento que esto es similar a "Hacer las cosas" es el sentido que querías decir. Ahora, cómo comunicar eso en un CV sin parecer pedante, condescendiente o arrogante se me escapa ...
C SD
1
¿Cuál es tu definición de fondo? Me gustaría ganar más de lo que hago ahora, pero mi mayor motivación es que quiero aprender más, más rápido y como parte de un esfuerzo mayor. Actualmente gano ~ 45k como programador de personal no oficial (postoc) y mis perspectivas futuras si me mantengo en esta capacidad no son las mejores, pero ¿no es razonable para mí pensar que el "fondo" no tiene que pagar menos Y ser menos interesante?
C SD
Si ha tenido entrevistas en Google en el pasado, su falta de título de CS probablemente no le impida trabajar allí o, en primer lugar, no lo habrían entrevistado. A diferencia de muchas compañías, Google ofrece "segundas oportunidades" si ha pasado al menos un año. Estamos en una juerga de contratación en este momento.
Uri

Respuestas:

12

¿Cómo debo decir esto? Los programadores tienen una moneda de diez centavos por docena, pero los programadores con experiencia biofísica son probablemente muy raros. Entonces, si yo fuera usted, primero trataría de conseguir un trabajo en su campo, un trabajo donde la programación forma parte de la descripción del trabajo (o hacer que sea parte de la descripción del trabajo). De esa forma, desarrollará habilidades que son mucho más competitivas y únicas que las que tiene el desarrollador promedio, lo que eventualmente le puede dar un gran trabajo.

Cuando planifique su carrera, no solo debe mirar el próximo año más o menos, sino pensar a largo plazo en cinco o diez años. Si la programación es algo que le encanta, pero tal vez no tenga educación formal, entonces necesita aprovechar sus otras habilidades para conseguir el trabajo que desea.

AndersK
fuente
2
Encuentre una empresa que trabaje en biofísica y que también programe.
Alex Feinman
2
Muy de acuerdo. Poder hablar dos campos es básicamente una habilidad rara. Aprovecha esa habilidad para hacer algo increíble.
Paul Nathan
1
Examine
buen consejo. Supongo que lo que me estás diciendo es que no estoy siendo realista. Mi esperanza había sido conseguir trabajo en un gran proyecto público. Cosas como WebKit, StreetView / Earth, Photosynth, LLVM, btrfs, paquetes de edición de fotos: Photoshop, Lightroom, Aperture. El trabajo de biofísica que implica la programación tiende a ser más de lo que ya estoy haciendo, es decir, equipos pequeños, procesos al azar ... pero solo miraré más.
C SD
1
@C SD - No, no podrás saltar a un equipo grande y liderarlo. Ser un doctorado es lo que realmente debería ser tu posición, pero aún no tienes las habilidades necesarias. Y lo que debe hacer es cambiar de un biofísico que realiza la programación a un programador que trabaja en proyectos de biofísica. Si encuentra un programador senior fuerte, vea si lo asesorarán. Utiliza tu título de biofísica para apoyar tu programación en lugar de dejar que te defina.
SoylentGray
2

Primero, aprende a concentrarte. Seriamente. Largas historias de fondo complejas necesitan ser editadas.

No tengo un título de CS.

Tampoco una fracción sustancial de programadores que trabajan. En las grandes tiendas de TI, hay una buena cantidad de títulos asociados.

Tengo un doctorado, pero no está en CS ... He estado debatiendo si debería eliminarlo de mi CV,

No. En la industria, cualquier grado es lo importante. Una vez más, para los trabajos de nivel de entrada donde puede obtener algo de experiencia, es decir, en la tienda de TI de una compañía de seguros, está compitiendo contra niños con títulos de asociado.

Creo que a veces hay fuertes estigmas asociados con los programadores 'autodidactas'.

¿Qué? La mayoría de las personas de TI con las que he trabajado son autodidactas porque sus compañías son demasiado baratas para traer instructores para nuevas tecnologías.

Simplemente solicite cada trabajo de programación que haya. Cuanto más solicites, más entenderás lo que están buscando.

Algunas grandes tiendas de TI en alguna compañía de seguros de salud aleatoria estarán perfectamente felices de tener a alguien que sea razonablemente inteligente y conozca la tecnología, incluso si son autodidactas.

Dado que la mayoría (más de la mitad) de los programadores que trabajan no tienen (a) ningún grado útil, y (b) son autodidactas en una o más de las tecnologías que se espera que usen, sus preocupaciones son totalmente un desperdicio de retorcerse las manos.

Si quieres lucir más profesional, comienza a leer más código. Comience con proyectos de código abierto que le interesen y realice ingeniería inversa en la base del código para que pueda ver cuáles son las mejores prácticas.

Además, dada la opción, a la mayoría de las tiendas de TI se les dice que contraten personas con "conocimiento comercial" en lugar de habilidades tecnológicas. Entonces, si tiene la mayoría de un doctorado en alguna asignatura aleatoria (en serio, su pregunta fue tan larga y divagante ...), entonces concéntrese en esa industria.

S.Lott
fuente
Lo siento, fue demasiado largo. Pensé que pondría los bits más importantes en la parte superior e inferior para ayudar en los escaneos rápidos. Mi experiencia con respecto a los grados ha sido todo lo contrario ... Joel S. incluso tiene una publicación antigua sobre cuán 'sobrevalorados' son los doctorados en CS ... Dudo en juzgar su valoración de los de campos completamente diferentes.
C SD
¿Puedes vincular la publicación de Joel?
Andrea
joelonsoftware.com/articles/GuerrillaInterviewing3.html parte más relevante: las personas que son inteligentes pero no hacen las cosas a menudo tienen doctorados y trabajan en grandes empresas donde nadie los escucha porque son completamente poco prácticos. Prefieren reflexionar sobre algo académico sobre un problema en lugar de enviarlo a tiempo. -------------------- para ponerlo en contexto, sus criterios reales son correctos y no tienen nada que ver con los grados, pero revela un sesgo claro, incluso si es, sin duda, humorístico.
C SD
También agregaré que otras personas (contratantes) me han dicho que tener un grado más alto puede elevarlo o elevarlo, pero también puede poner el listón más alto. Me gustaría enumerar mi título ya que trabajé duro para ello, y creo que muestra algunas buenas cualidades (y no necesariamente educación), pero si alguna persona de Recursos Humanos ve las letras y piensa "tendremos que pagarle a menos cantidad X, y él ni siquiera tiene un grado relevante y toneladas de experiencia? ERRRRRRR "
C SD
@C SD: "si alguna persona de recursos humanos ve las letras y piensa ..." No tiene ninguna evidencia. Puedes dejar de retorcerte las manos ahora. Hasta que alguien realmente te diga esto, considera que es menos que un rumor y más una leyenda urbana.
S.Lott
1

La verdad es que probablemente tendrá que asumir uno de esos trabajos "increíblemente aburridos" para poder poner un pie en la puerta. Pero una vez que tenga 6-12 meses como programador en su CV, debería poder avanzar y avanzar con bastante rapidez.

Craig Schwarze
fuente
0

Creo firmemente que la programación es un arte y proviene de la práctica y no de los grados.
Sí, es bastante desalentador que a menudo las organizaciones especialmente grandes (como Google) subestimen a los programadores autodidactas porque no tienen títulos superiores. Suena como una persona con un fuerte nivel de paciencia y no me considero lo suficientemente calificado como para asesorarlo, pero me gustaría mencionar algunos puntos que podrían ayudarlo:
1. Pruebe en organizaciones pequeñas donde prefieren el talento.
2. Open Source es la plataforma para mostrar su talento, adquirir conocimiento de desarrollo real.
3. Certificaciones: Hay diferentes certificaciones de programación ofrecidas por gigantes como MS, Oracle, etc. Ciertamente, agregarlas en su currículum le dará una ventaja a su lado de programación.
¡Buena suerte! :)

guardabosque
fuente
Gracias por el consejo. Particularmente # 2 se ve bien, ya que uso muchos proyectos de OSS e incluso examino mucho del código en los que uso. Realmente debería contribuir a algunos de estos, pero al final del día, tener que soportar las diversas solicitudes de software de un laboratorio de 15 personas prácticamente solo me deja con poco tiempo para ganar notoriedad a través de la participación. Quizás la respuesta sea intentar el # 1 con la esperanza de poder también hacer el # 2. de vuelta al monstruo ...
C SD
De nada, y buena suerte! :)
Ranger
Las personas autodidactas tienden a haber aprendido de manera no sistemática y, a menudo, tienen grandes lagunas en su conocimiento. Una persona con un título suele ser la opción más segura. Además, un título muestra cierto nivel de determinación y la capacidad de completar algo. Puede que no sea justo para el individuo, pero hay razones para contratar personas con títulos.
David Thornley
Entonces, ¿entiendo que ser autodidacta Y tener el grado equivocado podría ser peor que estar solo?
C SD
@David Thornley, por haber alcanzado el amor a la sabiduría con méritos, no hay mejor prueba de determinación. Prefiero arbitrar sobre lo que alguien ha logrado o puede hacer con su conocimiento, no de dónde o cómo lo obtuvieron. Las cosas importantes sobre cada individuo, como Heinlein lo pondría elise.com/quotes/a/heinlein_-_specialization_is_for_insects.php .
Filip Dupanović
0

También solía trabajar como postdoc. Si puedes, toma algunas clases de CS en tu universidad. Lo más probable es que no pueda tomar las clases oficialmente ya que no es un estudiante que paga, pero puede preguntar al instructor de la clase y a los TA si puede participar en el curso y hacer los proyectos. No obtendrá sus tareas calificadas, pero vaya a las horas de oficina y use los recursos.

Por qué querrías hacer esto? Hay algunas clases que uno no puede aprender por sí solo sin asistir a una buena conferencia y hacer preguntas interactivamente. Sugeriría tomar clases para:

  • algoritmos
  • estructuras de datos (a veces combinadas con una clase de algoritmos; si no, generalmente la segunda clase de programación que ofrece su universidad) *
  • redes (particularmente programación de socket TCP / IP) *
  • bases de datos (uso de SQL, en particular)
  • sistemas operativos *
  • lenguajes de programación (generalmente una encuesta de lenguajes de programación)

El asterisco * indica que, por lo general, se trata de clases con mucha programación, por lo que ayudarán a su capacidad general de programación.

stackoverflowuser2010
fuente
0

¡Aflojar! Nuestros trabajos publicados más populares están escritos en narrativa. No juzgamos en base a los méritos académicos, o la falta de los mismos. Somos el grupo científico más abierto e indiscriminado que existe. Poder contribuir con algo útil es todo lo que importa.

Tome el punto # 2 de @ Ranger. No tiene que involucrarse con un gran proyecto de código abierto si no tiene tiempo. Podrías escribir una pequeña biblioteca. A los empleadores les encanta cuando se acercan a ellos con un repositorio público donde pueden revisar parte de su trabajo: pueden evaluar de inmediato que puede seguir las pautas de estilo comunitario, que puede leer el código de otras personas y que puede escribir código aislado, empacable , distribuido y bajo control de revisión. La mayoría de los estudiantes de posgrado de CS ni siquiera pueden hacer eso, así que habla sobre las lagunas en su conocimiento.

Al final, ya te apasiona la programación. ¿Quién o qué hay para detenerte?

Filip Dupanović
fuente
¿Considero que trabajas en Google? Realmente no esperaba recibir una oferta en la primera entrevista allí, estaba un poco más decepcionado la segunda vez, aunque para ser sincero, no habría aceptado el trabajo ya que ahora estoy muy arraigado. Simplemente decepcionado, ni siquiera he logrado obtener una respuesta de algunas de mis otras aplicaciones, y mucho menos una entrevista. No he presentado muchas solicitudes, pero las elegí con cuidado ya que pensé que serían una buena combinación.
C SD
Todos somos científicos de cohetes en papel, ¿verdad? Mi opinión es que generalmente no están impresionados por sus experiencias laborales pasadas, a menos que les proporcione algo físico para revisar. La mayoría de nosotros no hicimos un trabajo innovador en la NASA o Google. Eso sería creíble, ya que todos pueden relacionarse con el tipo de trabajo que sucede allí. Por lo tanto, debe mostrar sus competencias, no solo hablar de ellas. Ponga un código QR que los aterrice en su página de proyectos. Hacer algo diferente. Haz una distinción en el charco de candidatos de Bill y Jane. No trabajo en Google, pero así es como me postularía.
Filip Dupanović