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.
fuente
Respuestas:
¿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.
fuente
Primero, aprende a concentrarte. Seriamente. Largas historias de fondo complejas necesitan ser editadas.
Tampoco una fracción sustancial de programadores que trabajan. En las grandes tiendas de TI, hay una buena cantidad de títulos asociados.
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.
¿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.
fuente
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.
fuente
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! :)
fuente
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:
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.
fuente
¡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?
fuente