La forma más lucrativa sería buscar un trabajo para el que creas que no estás calificado y desafiarte a ti mismo. Hay tantos puestos vacantes en el desarrollo de software que no debería tener problemas para encontrar a alguien listo para dar un salto de fe para un puesto junior (suponiendo que tenga poca experiencia laboral).
También soy autodidacta y comencé mi carrera construyendo sitios web pequeños y aplicaciones web simples, pensando que no tenía los requisitos necesarios para trabajar como ingeniero de software en grandes proyectos.
Entonces, un amigo de un amigo tuvo una oportunidad en su equipo de ingenieros. Fue el verdadero negocio: estructura de datos compleja, big data, últimas tecnologías, etc. Habíamos trabajado juntos en un proyecto más pequeño y él pensó que tenía las habilidades para hacerlo, así que me avaló y obtuve el puesto.
- ¿Cuál es el problema más interesante que ha encontrado y que utiliza la recursividad?
- ¿Cuáles son algunos compromisos fundamentales en informática?
- Cómo resolver este problema matemático discreto
- ¿Cuál es el significado del teorema de Barrington?
- ¿Cuál es la diferencia entre funciones y acciones en QTP?
Por mí mismo, nunca hubiera pensado por un segundo que podría solicitar este tipo de trabajo; Me sentí como un fraude ya que nunca tomé un solo curso de informática (me especialicé en filosofía). Pero adivina que ? ¡No tuve absolutamente ningún problema para hacer el trabajo y me puse a toda velocidad increíblemente rápido! Los primeros meses fueron difíciles y tuve que dedicar horas adicionales, pero pude manejar todo lo que me arrojaron sin ningún problema real.
Esa experiencia cambió mi vida: me enseñó que ya era ingeniero de software y que era bueno. No porque pueda crear una consulta de base de datos sin la ayuda de google. No porque pueda escribir una función iterativa para calcular la secuencia de Fibonacci. No porque sepa lo que está haciendo la máquina en un nivel inferior. Y no porque conozca todos los comandos de UNIX. Esas son todas las cosas que puedes APRENDER.
En mi opinión, las dos únicas cosas que debe tener un buen ingeniero de software son la pasión por la codificación y la sed por aprender. Si los tiene, probablemente ya tenga una base sólida y solo necesite oportunidades para expresar su talento.