Se le puede llamar lo que quiera y saber tanto o tan poco como quiera, MIENTRAS QUE no se llame a sí mismo algo sobre lo que hay leyes. Puedes llamarte la Emperatriz Más Exaltada del Universo para lo que a la mayoría de las personas les importará. En algunos países, y en algunos estados de EE. UU., Existen leyes sobre quién puede llamarse a sí mismo cualquier tipo de “ingeniero”, que generalmente requiere que aprueben algún tipo de examen de Ingeniero Profesional sobre su especialidad. Aparte de eso, hasta donde yo sé, todo vale, especialmente en la industria de desarrollo de software, donde comúnmente hay anuncios de ayuda para un “senior”, lo que exige una gran cantidad de dos años de experiencia.
Dicho esto, profundizaría más. Es poco probable, pero aún plausible , que alguien que solo conoce un idioma (Ruby) y solo un marco en ese idioma (Rails), sepa lo suficiente sobre cómo construir un software correcto, confiable, eficiente y mantenible, de manera eficiente y repetible, acercarse realmente a merecer el título de “ingeniero”.
Si quieres que te tomen en serio con un título de SE, te recomiendo que aprendas más que solo Rails. Aprenda otro marco web de Ruby, como Sinatra o Roda o Hanami. Aprenda a usar Ruby sin un marco de aplicación web. Aprenda otros pocos idiomas, preferiblemente muy diferentes de Ruby, como C o Clojure, en lugar de algo bastante parecido a Python. (Tal vez incluso incursione un poco en lenguajes de “broma” como Moo o Whitespace o Brainfuck, solo para estirar su mente). Compárelos con Ruby; Vea lo que es común entre muchos idiomas, lo que casi siempre difiere y lo que tiende a agruparse. Vea qué agrupaciones puede descubrir , en comparación con categorías bien definidas. Aprende a hacer aplicaciones web en esos idiomas y compara los marcos (o lo que sea que se te ocurra para hacerlo sin un marco) con Rails (y Sinatra, etc.). Aprenda sobre las estructuras de datos y los algoritmos, no solo cuáles existen, cómo codificarlos, cuándo cada uno es bueno, sino también cómo analizar los algoritmos en general y por qué eso es importante. Aprenda a escribir código que se pueda mantener: aunque está garantizado, la comunidad de Ruby pone mucho énfasis en esto, por lo que puede tener una ventaja al respecto. Aprenda sobre el lado operativo del mantenimiento de una aplicación: cómo ingresa al servidor, cómo se actualiza, cómo funciona bien con otras cosas allí, cómo le hace saber a alguien cuando algo está mal, etc. Aprenda sobre los procesos de SE, como Waterfall, Scrum, XP, Lean, etc. Aprenda sobre las pruebas , tanto manuales como automatizadas. Mientras tanto, puede conformarse con “Rails Developer”; no hay estigma, y hay suficientes compañías que buscan exactamente eso , que aún puede obtener toneladas de buenas ofertas de trabajo.
- ¿Los ingenieros de software de nivel básico generalmente realizan poco trabajo, que en su mayoría son correcciones de errores y agregan una pequeña funcionalidad?
- Ingenieros de software: ¿Qué tipo de habilidades de gestión debe poseer un profesional de TI (con experiencia de 3 años)?
- Para un currículum interno de ingeniero de software, ¿cómo describiría que sabe cómo usar Linux y la línea de comandos?
- ¿Algún ingeniero de software aquí tiene historias de éxito de visas H1-B?
- ¿India necesita un mayor número de ingenieros?
Dicho eso, sin embargo, aún te sugiero que aprendas tanto como puedas razonablemente por tu cuenta. Aprenda al menos un nuevo idioma, o marco o técnica principal, cada año. Cuando se encuentre asesorando a aspirantes a desarrolladores, en una amplia variedad de lenguajes y técnicas, parafraseando a Kipling, el suyo es el sistema y todo lo que contiene, y, lo que es más, ¡será un ingeniero de software, hijo mío!