¿Qué buscan los empleadores en los solicitantes autodidactas? [cerrado]

23

Soy un programador autodidacta a punto de ingresar al mercado laboral. Lo que quiero saber es cuál es la mejor manera de mostrar mi experiencia a los empleadores.

¿Qué quieren saber los empleadores sobre mi experiencia en programación? ¿Los empleadores quieren ver el código que escribí o podrían querer ver el software en acción? ¿O solo les importa cuánto se está utilizando mi software / cuánto ha generado ingresos? ¿Debo escribir sobre mi diseño y estilo de programación?

Mi experiencia: recientemente me gradué de una universidad donde estudié idiomas extranjeros, y fue durante este tiempo cuando descubrí que la programación es lo que realmente quiero hacer. Actualmente soy un programador de garaje, desarrollando un software para un cliente para uso comercial mientras continúo aprendiendo por mí mismo, pero mi objetivo es comenzar un empleo y una carrera "adecuados". Como un giro adicional, vivo en Finlandia en este momento, pero estoy buscando empleo en China o Japón (aprendí ambos idiomas mientras estudiaba en el extranjero).

Ano Päivinen
fuente
Tenga en cuenta que la mayoría de la programación en estos días se realiza en equipos (simplemente para hacerlo) y poder escribir código en la forma esperada por los demás es una habilidad importante. Es posible que desee tomar un curso de programación o dos en su universidad anterior si es posible simplemente para aprender las habilidades básicas.
2
"aprender las habilidades básicas": esto no significaba que no conocías ninguna habilidad básica, sino que hay mucho que aprender y no es seguro que las hayas aprendido solo.
44
Echa un vistazo a lo que todo comandante de CS debe saber . Hace hincapié en la importancia de tener un portafolio de experiencias para mostrar a los empleados, habilidades de Linux / UNIX, varios paradigmas de programación y mucho más. Consulte también la Matriz de competencias del programador y los cursos gratuitos de informática de Coursera .
Anthony
@ AnoPäivinen Por cierto, no subestimes la cantidad de personas autodidactas en el negocio y no te desanimes por lo que podrían parecer enormes brechas que tendrás al principio. Trabajé con algunas personas increíbles que fueron autodidactas.
MrFox

Respuestas:

8

Diría que los empleadores buscan estas cosas en todos los solicitantes de programadores (esto proviene de mi propia experiencia como desarrollador principal que está evaluando a los solicitantes):

  • Capacidad para ser flexible y aprender nuevas tecnologías rápidamente (esto es especialmente importante para los programadores autodidactas)

  • Habilidad para comunicar problemas

  • Capacidad para resolver problemas algorítmicos y logísticos (importante para analistas programadores)

  • Capacidad para cumplir con los estándares y reglas de los negocios locales, es decir. no te quedes demasiado atrapado en tus caminos, asegúrate de seguir las convenciones de nomenclatura de la empresa para la que trabajas.

  • Honesto y trabajador.

En muchos casos, las compañías más grandes le pedirán que proporcione un ejercicio para el solicitante. Estos ejercicios varían en dificultad, pero un ejemplo podría ser codificar un módulo reutilizable que convierte una cantidad en dólares en una cadena de texto legible en inglés que se escribiría en un cheque por esa cantidad, es decir. "$ 999.34" a "Novecientos noventa y nueve dólares y treinta y cuatro centavos".

Es importante tener en cuenta que no es solo el código que verán en estos ejercicios, sino también la documentación que lo acompaña, es decir. doco que explica los problemas, los supuestos y el algoritmo utilizado. También analizarán sus convenciones de nomenclatura (principalmente para verificar la coherencia) y para verificar los comentarios claros del código.

Aaron Murgatroyd
fuente
9

Una pista

En serio, busco algunas cosas en un candidato:

  1. habilidad básica para programar
  2. interés en la programación
  3. comprensión acorde con la educación y la experiencia
  4. habilidad de aprender
  5. amabilidad

Ejemplos: graduado de secundaria autodidacta que ha resuelto 50 problemas de Euler: contratación fácil. MSCS con 4.0 GPA que no puede explicar la diferencia entre TreeMap y HashMap: no contrate.

Kevin Cline
fuente
¿Puedes explicar lo que quieres decir con amabilidad? ¿Es una propiedad de no ser un imbécil?
Ano Päivinen
1
@ AnoPäivinen: Cubre una gama de comportamientos relacionados con el tratamiento de colegas que todos se tienen en cuenta para los demás. "Jerk" se define por no considerar a los demás.
Kevin Cline
Estaba a punto de decir que debería ir a trabajar para usted, según sus requisitos, pero no tengo idea de qué es un mapa de árbol / hash jajaja. Después de tres años de vivir y respirar software / desarrollo web, todavía me critican las entrevistas por cosas de las que nunca he oído hablar. Me hace sentir que no he aprendido nada. A veces juro que todos inventan estas cosas. O eso, o realmente no aprenderé nada hasta que me contraten.
Josh Campbell
@ Josh: obtenga una copia de "Introducción a los algoritmos". Cualquier edicion.
Kevin Cline
1
@ papercuts: si está solicitando pasantías, entonces creo que sería razonable mencionar que ha resuelto n problemas de Euler, donde n> 20. Su objetivo con un currículum es recibir una llamada. La información que muestra cierta capacidad para programar realmente no hará daño.
Kevin Cline
3

Otros ya respondieron su pregunta directa sobre los solicitantes autodidactas. Sin embargo, hay otra consideración que puede ser aún más importante que ser autodidacta o no. Estoy hablando de las culturas de los países en los que planeas trabajar y vivir.

En primer lugar, nunca escriba "empleo en China o Japón" . Suena como "Finlandia o Australia" (sin ofender). Son totalmente diferentes, y tienes que elegir.

Además, el empleo en otro país generalmente significa impuestos más altos para una empresa, varias limitaciones (por ejemplo, contratar a un extranjero, contratar a N nativos), etc. Entonces, para ser contratado en China, debes ser muy bueno en lo que estás haciendo .

De hecho, tienes dos mejores opciones:

  • Graduarse en un país de su futuro. Esto le dará (a) conocimiento de las normas nacionales; (b) contactos comerciales; (c) diploma formal (que puede ser más importante de lo que piensas). Además, del mismo modo en todas partes, las grandes empresas contactan con las universidades para encontrar a los estudiantes más destacados, y usted tiene buenas posibilidades de ser el indicado.
  • Solicite a una empresa multinacional que tenga sucursales en China. Puede hablar con RRHH y aceptar trabajar en un puesto local durante un tiempo determinado y luego mudarse dentro de la misma empresa (menos papeleo). Tener un idioma y antecedentes culturales, sería más fácil para usted. Y, en el momento de la mudanza, ya tendrá experiencia práctica en TI en la empresa.
bytebuster
fuente
Gracias por las ideas! Puede sonar extraño que esté decidiendo entre China (Shanghái) y Japón, son muy diferentes, pero realmente me gustan los dos. Pero aún no puedo decidir cuál es mejor, así que apunto a ambos y veo qué sucede. Me pregunto si eso tiene sentido.
Ano Päivinen
Te pueden gustar los dos. Solo asegúrese de que sus aplicaciones sean específicas para los mercados de trabajo chinos y japoneses. Tal vez, diferentes cartas de presentación también serían útiles, como en esta respuesta .
bytebuster
2

¿Qué quieren saber los empleadores sobre mi experiencia en programación?

Principalmente, que tienes un poco. Ponte en su lugar: si contrataras a alguien, elegirías al tipo que tal vez no sepa qué hacer con un compilador, o al tipo que ha estado en la cuadra varias veces, que aprendió a resolver problemas y puede obtener algunos trabajo útil hecho sin mucha mano?

¿Los empleadores quieren ver el código que escribí o podrían querer ver el software en acción?

Sí. Tener algo de código para mostrar puede ser útil. También puede ser útil tener un producto que mostrar y estar preparado para responder preguntas sobre cómo funciona, por qué lo hizo de esa manera, etc. Diferentes empleadores valorarán estas cosas de manera diferente, pero siempre es mejor tener algo que no tener nada.

Como un giro adicional, vivo en Finlandia en este momento, pero estoy buscando empleo en China o Japón (aprendí ambos idiomas mientras estudiaba en el extranjero).

Hay muchas personas en China y Japón que hablan chino y japonés, respectivamente. Probablemente no tantos que hablan inglés y finlandés con fluidez también. Use esa fortaleza para su ventaja: busque empresas que necesiten esas habilidades lingüísticas.

Caleb
fuente
3
"Ponte en su lugar: si contrataras a alguien, elegirías al tipo que tal vez no sepa qué hacer con un compilador". Para muchas compañías, eso depende completamente de lo barato que sea.
pdr
2

Diría que las habilidades más importantes que los programadores autodidactas pueden carecer sin saberlo son las relacionadas con la ingeniería de software y la arquitectura de software.

Asegúrese de saber más que solo escribir código, asegúrese de saber qué es mantenibilidad y cómo lograrlo; qué es SÓLIDO, por qué se considera bueno y necesario; patrones de diseño, etc.

Además, trate de arreglar cualquier parte mala de su proceso. Por ejemplo: pruebas automatizadas (¡algo que todos deberían hacer!), Seguimiento de errores, control de revisión de fuente (también obligatorio). Esta lista no pretende incluir todo, es solo un ejemplo.

K.Steff
fuente
2
¡Eso es lo que normalmente encuentro perdido en los graduados de CS! Capacidad para recitar el O (n) para diferentes contenedores pero nunca haber usado un depurador.
Martin Beckett
2

¿Qué quieren saber los empleadores sobre mi experiencia en programación? ¿Los empleadores quieren ver el código que escribí o podrían querer ver el software en acción?

Sí, estas son las mejores opciones. Las calificaciones no son un indicador particularmente bueno para la capacidad de escribir código. Lo mismo se aplica a empleadores anteriores: muchas personas pueden sobrevivir en un trabajo para el que no son aptos. Quiero ver qué tipo de código escribes y un historial de seguimiento de poder construir cosas que se han puesto en producción.

¿O solo les importa cuánto se está utilizando mi software / cuánto ha generado ingresos?

Eso está fuera de su área de responsabilidades, no me importan esas cosas a menos que vaya a un puesto de gerente de proyecto o superior.

¿Debo escribir sobre mi diseño y estilo de programación?

No demasiado, pero tal vez las viñetas que muestran áreas de interés con sus ejemplos de código serían útiles.

Jim
fuente
OK, me importa menos cómo termina mi software como en manos del cliente y consiento en escribirlo bien.
Ano Päivinen
2

Habilidades de autoaprendizaje

Sí, el autoaprendizaje es su habilidad competitiva de vanguardia que debe enfatizar y presentar con orgullo. Además, debe mostrar su pasión por la programación y su deseo de superación personal.

¿Qué quieren saber los empleadores sobre mi experiencia en programación? ¿Los empleadores quieren ver el código que escribí o podrían querer ver el software en acción?

Quieren ver tus logros y tus habilidades de razonamiento analítico. Quieren ver: qué hiciste que benefició al proyecto, qué papel (s) has desempeñado en la realización de un proyecto si trabajaste en un equipo. Cómo solucionar los problemas y superar los problemas técnicos. Cómo trabajó con las universidades, cómo manejó la presión laboral.

Algunos otros puntos que pueden ser muy importantes para los empleadores:

  1. Buena actitud
  2. Pasión por la programación.
  3. Experiencia informática: para ver que comprende los conceptos básicos de cómo funcionan las computadoras y el software
  4. Ética laboral y habilidades sociales
  5. Capacidad de aprendizaje y superación personal.
  6. Historia educacional
  7. Experiencia laboral previa
  8. Falta de nociones preconcebidas
  9. Capacidad para hacer preguntas: sí, hacer preguntas en lugar de hacer suposiciones.
EL Yusubov
fuente
1

Además de las otras respuestas, enumere las herramientas que aprendió mientras enseñaba.

He capacitado a graduados de escuelas de renombre con títulos de renombre que insistieron en escribir código Java en el bloc de notas de Windows y usar el compilador de línea de comandos ('es mejor así', para un programa de una clase). La mayoría de los lugares de trabajo utilizan IDEs y otras herramientas de programación. Y enseñarles cómo usar Eclipse fue más fácil que tratar de enseñarles SVN.

Al enumerar uno o más entornos IDE o (más importante) una o más herramientas de repositorio de código, demostrará que está listo para trabajar con un equipo.

Respuesta B: si puede llegar, pruebe la feria CEBIT en Hannover, Alemania. Solíamos hacer que la gente visitara nuestro stand pidiendo trabajo en nuestro país. La probabilidad es baja de que pueda conocer a la persona adecuada que pueda ayudarlo. O pregúnteles si necesitan una persona local / europea para ayudarlos.

jqa
fuente
Buen punto para aprender diferentes IDEs. Mi actitud hasta ahora ha sido "whadev, los aprenderé cuando sea necesario".
Ano Päivinen
1
¡Veo su punto sobre IDEs, pero tomaría a alguien con solo experiencia de Java de línea de comando sobre un desarrollador de BlueJ cualquier día!
Michael K
0

Una vez que pueda demostrar que ha escrito un código de calidad, es menos importante cómo y dónde aprendió a programar. Creó toda la aplicación, por lo que debería poder explicar el diseño, los problemas que enfrentó y por qué eligió esas soluciones.

Si su aplicación no es conocida, tendrá que dar más explicaciones en su CV y ​​cartas de presentación. Tener un gran número de usuarios es un beneficio porque muestra que puede manejar la escala, los ingresos generados serán difíciles de agregar. Alguien podría contratar a un programador para crear una aplicación utilizando horóscopos para ayudar a los cirujanos cerebrales. No estoy seguro de responsabilizar al programador por este producto inútil. Tal vez una startup preferiría un desarrollador con algo de sentido del producto, pero no puede mantenerlo en su contra porque necesita pagar sus facturas.

JeffO
fuente
0

Lo que quiero saber es cuál es la mejor manera de mostrar mi experiencia a los empleadores.

Si no hay títulos disponibles, las certificaciones conocidas son una ventaja. Algunas certificaciones no requieren un curso, solo puede tomar el examen.

¿Qué quieren saber los empleadores sobre mi experiencia en programación?

Su experiencia en programación consiste en proyectos. En tu CV escribes tus habilidades. En la entrevista, se le preguntará sobre los proyectos en los que ha trabajado. Luego, hablará sobre lo que hizo, los problemas que encontró, las soluciones que encontró, etc.

¿Los empleadores quieren ver el código que escribí o podrían querer ver el software en acción?

Tal vez. Personalmente, no escuché que los empleadores pidieran ver el código (además del código que escribiste durante la entrevista técnica, como prueba). Si usted es diseñador web o diseñador de interfaz de usuario, en la mayoría de los casos querrán ver algunos sitios web que creó o diseñó.

¿O solo les importa cuánto se está utilizando mi software / cuánto ha generado ingresos? ¿Debo escribir sobre mi diseño y estilo de programación?

La mayoría de los empleadores estarán interesados ​​en los lenguajes de programación que codifica con fluidez, el conocimiento que tiene y las habilidades que adquirió. La cantidad de software utilizado y los ingresos generados son cosas de marketing, no cosas de programación. La mayoría de las empresas tienen su propio diseño y estilo de programación. Esperarían que un empleado esté familiarizado con técnicas como Agile, Scrum, Extreme dependiendo de lo que use.

Coral Doe
fuente