En entrevistas de trabajo recientes, las empresas quieren ver el código fuente que he escrito en mis proyectos anteriores, para comprobar mis habilidades. Me encantaría hacer esto, pero en la mayoría de los casos, ¡no puedo! O no tengo permitido hacerlo legalmente o ya no tengo acceso al código.
En un entorno corporativo, en la mayoría de los casos es impensable pedir tal permiso. Copiar el código fuente, tomarlo para su cartera y mostrárselo más tarde a otras empresas, va en contra de cualquier estándar de seguridad de cualquier empresa de TI.
Posiblemente podría funcionar si hiciera que la nueva empresa firmara un NDA sólido antes de revisar mi cartera. Pero en una gran empresa es prácticamente inimaginable organizar eso, no es un proceso estándar. (Nunca lo pregunté, simplemente nunca consideré siquiera preguntar si era posible tomar un software de ejemplo de mi empleador).
Asi que:
Extensión: Es Alemania. Las empresas objetivo son en su mayoría empresas asociadas de multinacionales alemanas.
Este es un problema común, y hay una solución común:
Escribe algo.
Inventa una empresa falsa en tu cabeza. Encuentre un problema empresarial que necesite resolver con software y resuélvalo. Muéstrales ese código.
Explique su NDA y la información confidencial.
Nadie está buscando secretos de empresa. Están buscando para ver cómo organizas tus pensamientos en arquitectura, tus prácticas de código, arneses de prueba, comentarios, etc.
Haga un pequeño proyecto de algún tipo y muéstreles ese código. Nadie espera que muestre un código que es propiedad de sus empleadores anteriores, de hecho, me preocuparía mucho si lo hiciera y lo estuviera entrevistando. Algunas personas trabajan en pequeños proyectos de código abierto por esta misma razón.
Les interesa menos el código en sí que la forma en que lo escribes.
No soy un desarrollador profesional, pero no tendría ningún problema para encontrar un par de cientos de líneas de código que he hecho fuera de cualquier compromiso laboral.
Si quieres el trabajo, saltas los aros. Si te pidiera que trajeras algo de código a la entrevista y no lo hicieras, pero lo hizo otra persona con habilidades más o menos equivalentes, ¿adivina a quién contrataría? Te estás vendiendo a un empleador en los términos del empleador, no en lo que te apetezca... cuestionar sus motivaciones para preguntar no es constructivo. Es una competencia, date todas las ventajas que puedas.
Preguntar es ético. Esperar que infrinja un NDA no lo es. Quejarse de que no incumple un NDA es una idiotez y una buena señal de que este no es un lugar donde quiere trabajar.
Preguntarle a tu antiguo jefe si hay cosas que puedes copiar está absolutamente bien. Él entenderá por qué lo preguntas. También entenderá las reglas de su empresa y dirá "sí" o "no". Probablemente "no". Tal vez le dé permiso para copiar cierto código que ha escrito, tal vez no.
Y lo más obvio es escribir algo de código. Escriba la especificación para una pequeña tarea que se pueda resolver en 100 líneas de código y escriba un código realmente pulido que coincida con esa especificación. Así que tienes algo que mostrar.
Esas otras empresas no quieren ver el código fuente de todos sus proyectos anteriores. En realidad, quieren ver el código fuente de sus proyectos personales anteriores o proyectos de los que aún posee los derechos.
Si no tiene al menos un proyecto personal propio, ya sea de un Hackathon o de otra cosa, entonces eso podría ser una señal de alerta para algunos de los empleadores más exigentes.
Presionar a su antiguo empleador para obtener el código es en realidad un enfoque incorrecto. Esto puede reforzar el hecho de que el nuevo empleador no tiene un proyecto personal para mostrarle y/o que no es capaz de escribir uno por su cuenta.
Actualización: No tome esto como que estoy de acuerdo con esa opinión. También odio ese mismo aro por el que algunos empleadores potenciales quieren que pase. Tengo ejemplos de código que escribí y de los que todavía tengo los derechos, pero esos proyectos a menudo son proyectos a medio terminar/a medias que ni siquiera se acercan al tipo de proyectos que hago como empleado de tiempo completo.
Lo importante para un posible empleador es demostrar la capacidad para realizar el trabajo para el que está contratando.
Como han dicho otros, podría entregar un código fuente abierto. El problema con eso es que nadie quedará impresionado con un proyecto trivial que tomó solo unas pocas horas/días para escribir y que resuelve un problema falso. El otro problema con esto es que el empleador potencial realmente no evaluará su proyecto hasta el nivel del código fuente. Eso sería mucho tiempo para invertir. Solo darles un enlace a su repositorio de git no es muy efectivo a menos que sea un proyecto realmente sorprendente y bien documentado.
Si desea demostrar su habilidad, cree algunas diapositivas que brinden una descripción general de una solución que haya creado. No tienes que mostrar líneas de código.
Comienza explicando el problema que resolviste y da una idea de su alcance. Continúe con diagramas arquitectónicos de alto nivel que esbozan su solución. Finalmente, brinde una idea de las decisiones y desafíos técnicos clave de la implementación y detalle las herramientas/bibliotecas particulares que utilizó. Si corresponde, algunas capturas de pantalla que muestran el trabajo en acción también son agradables. Estas diapositivas serán suficientes para demostrar su nivel de sofisticación y generarán preguntas que podrá responder con gran nivel de detalle.
Por supuesto, sería ideal hacer lo anterior con un proyecto de código abierto, PERO si está de acuerdo con el pequeño riesgo, TAMBIÉN puede hacerlo para el trabajo de su empleador anterior. Si crea diapositivas que describen el trabajo de su empleador anterior, simplemente no las distribuya. Debe mantenerlos en su computadora portátil y solo usarlos en vivo. La clave es que no estás entregando el código fuente y solo estás demostrando lo que has hecho. Nunca he tenido un problema con esto y ha sido una excelente presentación que me ha contratado más de un par de veces.
Como desarrollador actual y alguien involucrado en el proceso de contratación (de desarrolladores) en mi trabajo actual, permítanme ofrecer algunos consejos...
En primer lugar, puede esperar que casi cualquier posible empleador le pregunte y le gustaría ver su código. De hecho, no deberías querer trabajar para nadie que no quiera ver esto. Hay una diferencia entre un candidato que puede responder algunas preguntas de informática y un candidato que realmente puede escribir un buen código.
En segundo lugar, la mayoría de las personas que contratan desarrolladores también mantienen a sus propios desarrolladores bajo NDA. No querrían que sus empleados compartan el código fuente que escribieron pero que no poseen con otras empresas, por lo que deben ser comprensivos cuando los nuevos empleados potenciales se encuentren en el mismo aprieto. Si el empleador potencial no comprende su incapacidad para proporcionarles un código protegido por NDA, no querrá trabajar para ellos de todos modos. Ni siquiera eres su empleado todavía y te piden que rompas un contrato con un empleador anterior que te mete en una gran cantidad de problemas personales y profesionales. Piensa en cómo sería trabajar para esa empresa.
En tercer lugar, aliente a su empleador actual a que contribuya, como empresa, a la comunidad de código abierto, o permita que los empleados pasen una cantidad de tiempo contribuyendo a proyectos de código abierto que sean relevantes para el trabajo que realiza. Por ejemplo, aunque mi lugar de trabajo actual tiene montones y montones de proyectos protegidos por NDA en nuestra cuenta de Bitbucket, también tenemos un GitHub público y animamos a nuestros desarrolladores a que contribuyan a eso (y muchas de las bibliotecas alojadas en ellos se utilizan en nuestros proyectos protegidos por NDA). Mientras tanto, para un empleador anterior, tuve que desarrollar esta biblioteca y lo hice con el acuerdo de ese empleador de que sería una biblioteca de código abierto.
Cuarto, cuando estés jugando, hazlo en GitHub. Cuando Apple lanzó un nuevo lenguaje y algunas funciones geniales relacionadas con la interfaz de usuario para Xcode, hice este proyecto como una forma de explorar muchas de estas cosas nuevas. Era un proyecto de aprendizaje, pero es mejor que nada. Pero tampoco espero necesariamente que los candidatos coman, duerman y respiren código, por lo que no tener el tiempo o el interés en trabajar en este tipo de proyectos no me molesta particularmente. Pero dicho esto, si está buscando trabajo, probablemente no sea una mala idea tomarse unos fines de semana para trabajar en este tipo de proyectos y crear una cartera.
... porque eso es justo lo que es esto, una cartera. Cuando los artistas ingresan para conseguir un trabajo en algún lugar, se espera que traigan un portafolio de su trabajo anterior para que el empleador tenga una idea de qué tipo de trabajo puede traer el artista a la mesa. Será muy ventajoso para su carrera como desarrollador si tiene una cartera disponible gratuitamente de su mejor trabajo disponible para que los empleadores potenciales la vean.
Configure una cuenta de github y comience a escribir algo. Casi no importa lo que sea, solo asegúrate de que sea tu mejor esfuerzo. Cuando recibo CV a través de la puerta para trabajos, lo primero que verifico es si tienen una cuenta de GitHub, ¡lo segundo es lo que contribuyeron a ella!
Si no sabe qué escribir (y ese es un problema común), escriba código para resolver los problemas del Proyecto Euler . Demostrará su enfoque para la resolución de problemas, diseño, documentación, etc.
No necesita escribir y mostrarles el código, al menos no para las ofertas de trabajo más respetables. Tienes tu currículum y tus logros, y te recomiendo seguir la "prueba de Joel" y entrevistarte solo en empresas en las que tengas que escribir código en la entrevista . Ahí es donde verificarán tus habilidades de codificación.
Fuente: trabajos que conseguí.
Si has trabajado durante décadas y no tienes nada que mostrar, entenderás el trato que estás recibiendo como creador en nuestra sociedad. Tus creaciones han cambiado de manos por dinero. Ya no tienes derechos (al menos ninguno que te sea útil) sobre ellos.
Si realmente desea que se muestre una cartera, debe tener cuidado de no cambiar todo lo que crea por dinero. Participe en algunos proyectos de software libre (naturalmente, obtenga el permiso de su empleador si sus contratos laborales lo prohíben). Devuelva algo a una gran comunidad de la que probablemente haya obtenido algún beneficio para usted y posiblemente para las empresas para las que trabajó.
Si haces eso, habrá confirmaciones que puedes mostrar. Cosas que mejoraste, cosas que escribiste, encajando en contextos más amplios. Cosas escritas por usted, disponibles públicamente y probablemente suyas, y cumpliendo un propósito, y siendo aceptadas por un gran equipo que probablemente las revise más a fondo que la mayoría de las empresas.
No puedo creer que todos los demás se hayan perdido esto, PERO:
Esta es una PRUEBA de tu carácter. Mira, si compartes las cosas de tu antigua empresa que no deberías, entonces también eres capaz de dar la vuelta y hacerlo con la empresa a la que te postulas.
Esta prueba se utiliza para descartar a las personas con baja integridad. Simplemente recházalo con gracia. Es así de simple.
delgado
Kevin
jane s
oveja gris
Kevin