Estoy de acuerdo con las otras respuestas re. No sé por qué dices que no estás hecho para ser un desarrollador de software.
Te contaré una historia, ya que lo que dices te suena un poco familiar. Cuando obtuve mi título de CS a principios de la década de 1990, tomé un curso de nivel superior de 2 semestres en ingeniería de software, donde nos unimos en equipos y trabajamos en proyectos de software del mundo real para empleadores reales. No nos pagaron (de hecho, pagamos la matrícula por todo). La idea era tener algo de experiencia en el mundo real en nuestro haber. Desafié mi calificación de segundo semestre en ese curso, porque era más baja de lo que esperaba. Lo que me importaba en ese momento era que el esfuerzo que había puesto en el proyecto debería ser más pesado para mi calificación. Mi madre y yo fuimos a reunirnos con mi profesor de SE para hablar sobre eso, y en un momento de la conversación, mi profesor dijo: “Bueno, tal vez no está preparado para ser un desarrollador de software”. Mi madre estaba a punto de exprimirlo. cuello para ese comentario! Fue entrenada como educadora y dijo que nunca usaría ese lenguaje cerca de un estudiante. Finalmente me reuní con el decano del departamento para defender mi caso, y me dieron una lección de que el esfuerzo no es realmente lo que cuenta, sino los resultados. Era una píldora amarga, pero necesitaba escuchar eso. Tomé las críticas en serio, pero no me di por vencido en mi objetivo.
Una vez que me gradué con mi BSCS, envié unos cientos de currículums en el transcurso de aproximadamente un año, solo buscando trabajos que estuvieran en mi área. Algunos de ellos no estaban relacionados con la computadora, pero la mayoría sí. Tenía el objetivo de entrar en el desarrollo de aplicaciones. Finalmente conseguí un trabajo de nivel de entrada con una pequeña empresa local de procesamiento de datos, lo que me dio la oportunidad de hacer un poco de programación, pero principalmente hice soporte técnico, pruebas de software y trabajé en el procesamiento de datos. No me pagaron mucho por ello, pero la razón por la que tomé el trabajo era porque quería la experiencia. El mayor desafío para comenzar una carrera es conseguir tu primer trabajo. Una vez que tiene un trabajo, tiene algo que poner en su currículum, y es un poco más fácil lograr que los empleadores lo tomen en serio. Me despidieron de ese trabajo después de un par de meses, y seguí buscando. Cuatro meses después, conseguí un contrato de trabajo local con alguien que manejaba un pequeño negocio de software fuera de su condominio. Trabajaba desde casa por horas. Estaba tan impresionado con mi trabajo que me reveló que era el vicepresidente de ingeniería de una compañía de software local que creó sistemas de facturación cliente / servidor para las compañías Fortune 500. Resultó que estaba trabajando en un negocio secundario que había comenzado mucho antes de llegar a su puesto actual. Me preguntó si estaba interesado en trabajar con este otro lugar. Le dije que sí, y me convertí en un contratista con ellos, y finalmente me convertí en un empleado a tiempo completo. Hice algunos trabajos del lado del cliente en MS-DOS y Windows durante varios meses, pero durante la mayor parte de mi tiempo allí hice programación del lado del servidor en Unix, todo en C. Durante el transcurso de 4 años, desarrollé un software que se utilizó por decenas de miles de personas. Después de eso, pasé a otro trabajo, convirtiéndome en un desarrollador de Windows del lado del cliente durante un año. Fui despedido de ese trabajo y estuve durante unos años sin poder encontrar nada en mi campo (esto fue después del accidente de punto com). Terminé haciendo trabajos secundarios (no relacionados con la computadora) para ganar algo de dinero. En 2004, volví a ser contratista como desarrollador web, y lo hice por un tiempo. Una cosa clave que hice mientras estaba sin trabajo fue pasar un tiempo investigando sobre el mercado de TI, e invertí algo de mi tiempo aprendiendo sobre las tecnologías que quería usar en esa tendencia. No acabo de entrar en el desarrollo web en frío.
- ¿Cómo es obtener una maestría en ciencias de la computación del Instituto de Tecnología de Rochester?
- ¿Cómo puede la informática ayudar a los astrónomos?
- ¿Debo tomar un curso de informática en mi universidad o estoy aprendiendo en línea lo suficiente?
- ¿Cuál es el mejor área de informática para entrar ahora?
- ¿Por qué la mayoría de los programadores nuevos parecen obtener trabajos con Java o C #?
Lo que me hizo desvelar el momento en que no pude encontrar trabajo fue que sabía que quería ser desarrollador de software. Solo tenía que esperar a que el mercado fuera el adecuado para mí.
El hecho es que, de hecho, me convertí en desarrollador de software, a pesar de que mi profesor de SE me dijo que “tal vez” no estaba hecho para eso. A veces recordaba mi experiencia en el curso de SE, ya que estaba haciendo mi trabajo de desarrollo de software, y lo vi como un momento en que cometí muchos de mis errores. Me dio la oportunidad de aprender de ellos para no cometer esos errores en el mundo real del trabajo. Todavía cometí errores en el mundo laboral, pero no tantos, ni tan atroces. Tener buenos gerentes ayudados (eso hace una gran diferencia, ya que pueden proporcionar orientación que lo ayuda a evitar algunos errores que de otro modo cometería).
No sé de qué nivel de habilidad estamos hablando contigo, ya que no lo revelaste en tu pregunta, pero la mayor parte de lo que hice en mi trabajo fue más grande que cualquier cosa que haya hecho en mi propio tiempo, y en el colegio. Ninguno de los trabajos que obtuve exigía que ya hubiera trabajado en los mismos tipos de sistemas que estaban desarrollando. Antes de obtener mi tercer y cuarto trabajo, el programa más grande que había desarrollado tenía cerca de 1,000 líneas de código, y eso fue en la escuela secundaria. La mayoría de mis proyectos en la universidad fueron más pequeños que eso. La mayoría de los proyectos en los que trabajé en el mundo laboral fueron 10 veces más, a menudo más pequeños. Creo que si puede escribir programas que funcionen, el único que decide si se convierte en desarrollador de software o no es usted. Es posible que necesite mejorar su habilidad. Al mismo tiempo, es posible que esté poniendo la mira demasiado alta. a quién se aplica, en relación con lo que quieren. Es posible que deba adquirir experiencia en otros tipos de puestos (de desarrollo de software) antes de llegar a donde desea ir. O puede encontrar, a medida que gana experiencia en otras posiciones, que en realidad es más fuerte en una capacidad diferente que no sabía que tenía. No lo sabrá hasta que pruebe algunas cosas diferentes. Lo que hice cuando estaba tratando de obtener mi primer puesto de desarrollo de software fue poner la tarea de decidir qué haría en manos del empleador. Tenía pocas opciones en el asunto, de todos modos. Los mendigos no pueden ser elegidos. Solo consigue algo para un trabajo, uno que al menos te haga hacer un poco de programación, y tómalo desde allí. Vea cómo le gusta y siga buscando, incluso después de encontrar trabajo. Scott Adams, creo, tiene algunos buenos consejos de que si tienes un trabajo, “Tu trabajo es encontrar un mejor trabajo”. En otras palabras, haz bien tu trabajo actual, pero siempre busca algo mejor, ya sea con su empleador actual, haciendo la transición a un puesto que se adapte mejor a lo que desea, o en otro lugar, si eso le conviene mejor.