En ocasiones me he encontrado con empresas que necesitaban de los servicios de un programador web cuando, para mi sorpresa, después se pedía un programador que supiera hacer tanto páginas web como aplicaciones para Android, iPhone, iPad y aplicaciones de escritorio para Windows. Aparte de saber manejar lenguajes tipo C, C++, VB.net, Java, PHP, ASP y más.
Yo he aprendido esos lenguajes de programación y otros tantos, pero decidí especializarme en la realización de páginas web con tecnologías como HTML, CSS, JavaScript, PHP y MySQL para dejar de lado las aplicaciones de sistemas operativos y, a estas alturas, después de tanto tiempo, solo tengo nociones básicas de esos otros lenguajes de programación que en su momento aprendí… y la pregunta es:
¿Por qué habiendo aprendido todos esos lenguajes de programación no haces también aplicaciones que no sean en base web?
Por mi experiencia he aprendido que “el que mucho abarca, poco aprieta”. Es decir, si sabes de todo, no puedes ser muy bueno en nada, salvo en raras excepciones. Por lo que decidí especializarme en lo que más me gustaba y mejor se me daba, la creación de páginas web.
Hoy en día, las empresas pretenden tener un “todo en uno”. Si tú eres programador, entonces, debes saber programar en todos los lenguajes de programación habidos y por haber ¿verdad? Pues no.
Lamento decirles a los encargados de RRHH que si la intención es esa, van por muy mal camino, claro que quizá sea la gente de arriba la que pide recursos de manera errónea por desconocimiento de lo que se está pidiendo.
¿Por qué existe un odontólogo, cardiólogo, neurólogo, pediatra, etc.? ¿Por qué existen las especializaciones en diversos ámbitos de trabajo? Sencillamente, porque es mejor.
Alguien especializado en una materia concreta, sabrá realizar un trabajo de mejor calidad que alguien que intenta abarcar todo, puesto que este último tendrá nociones de muchas cosas pero no en profundidad y al final, el trabajo realizado puede resultar poco funcional o incluso nefasto según el caso.
Sin ir más lejos, para la realización de una página web en grandes equipos y empresas suele haber:
- Un equipo de diseño, quienes diseñan la página web.
- Un equipo de maquetación, quienes pasan el diseño a formato HTML, SEO, accesibilidad, etc.
- Un equipo de programación, quienes implementan funcionalidades con bases de datos, formularios de contacto, partes administrativas de una web, etc.
- Un equipo de sistemas, quienes suben la web al servidor y lo ponen a punto para su funcionamiento.
Y estamos hablando que en cada área es un equipo, es decir, un grupo de personas, no una única persona.
En mi caso, aúno todos los puntos anteriores, los necesarios para la realización de una página web pero no puedo abarcar más, el mundo de la informática es extremadamente extenso y uno no puede ser experto en todo, experto en HTML, CSS, JavaScript, Java, PHP, ASP, MySQL, C, C++, VB.net, Android, iPhone, Oscommerce, PrestaShop, Joomla, WordPress, Drupal, diseño, maquetación, servidores…
Se podrán tener conocimientos y nociones de ello, pero… ¿ser realmente experto? ¿Programar cualquier cosa, en cualquier lenguaje, para cualquier sistema? No hay persona humana que lo pueda hacer, al igual que un oftalmólogo no puede operar de corazón como un cardiólogo, a pesar de ser ambos médicos.
Por ello, animo a los encargados de RRHH que busquen a personas especializadas en aquello que la empresa requiera sin abarcar imposibles, ya que contratando personal experto en su materia, se realizarán proyectos de mayor calidad y con menos problemas en el desarrollo, porque a pesar de la crisis, el pretender ahorrar y recortar en el equipo que al final saca los proyectos y saca a la empresa adelante, a la larga puede salir más caro el remedio que la enfermedad.
Que gran verdad, hay que saber de todo, y encima tener mucha experiencia con todo.
Yo creo que lo que realmente quieren es al genio de la lámpara.
Hola Juan, estoy de acuerdo con muchas palabras de lo que comentas, pero con otras difiero.
Muchas empresas tienen reclutadores que buscan como tener un “combo” o un comodín, según con la limitación de un bajo presupuesto y que hojalá pueda hacer de todo, de ahi que solicitan todos esos roles.
cuando se trabaja como Freelance y sobrevivir en ese mercado y mantenerse posicionado es importante conocer lo fundamental una necesidad y no tener límites de conocimiento tecnológico.
Comparar la carrera de Medicina con la de un Ingeniero en informática es complicado porque en ambas partes hay muchas variables de profesión.
Por otra parte una persona que ha trabajado en diferentes tecnologías por más de 20 años puede tener un background muy bueno así como la calidad de su trabajo.
Hay una Ventaja y Desventajaa en cuanto a ser un especialista:
D:Entre más te dediques a conocer solo de alguna especialidad y cuando el nicho se satura caes en una “zona de confort”, la tecnología es cambiante y a veces con cambios radicales, en el caso de un doctor una patología es siempre será la misma con menor o mayor impacto.
V:Puedes tener mucho trabajo hasta tanto no existan otros especialistas en tu área que tengan o hayan adquirido no solo conocimiento en la herramienta, sino que también tengan conocimiento sobre reglas del negocio y puedan sacar un mejor provecho.
“Los que estudian ingeniería en cualquier area es porque están decididos a cambiar algo en el entorno para beneficio de usuarios”
No puedo estar más de acuerdo en lo que comentas en tu artículo. Todos estamos cansados de ver ofertas de empleo que quieren al HiperMegaSupermán que sepa todas las tecnologías pero no sólo de programación, sino de diseño y maquetación también. En fin, que sería para partirse de la risa si la situación no fuese tan dramática para la mayoría de los desempleados, que no parados, de este país.
El problema radica en el desconocimiento profundo de los procesos que abarcan el desarrollo de una web o software.
Muchas empresas piden “Superman Code” para empezar, porque no les importa la calidad, sino que funcione y por un sueldo mísero, tienen a uno haciendo el trabajo de cuatro o cinco.
No es malo que por ej. en una oferta de programador de servidor web, pongan que “valoran conocimientos en js, por ej.” pues no viene mal conocer otras áreas, pero de ahí a buscar expertos en diversas áreas y lenguajes viene a ser un síntoma de fracaso.
Lo sigo viendo a día de hoy, donde trabajo buscan un “Experto en BackEnd” que encima sea experto en diseño y frontEnd, flash y appsmóvil. ¿Resultado? no encuentran ningún candidato y cuando lo hacen no dan la talla en la entrevista.
Y de hecho, en la empresa no hay nadie de este perfil, todos están especializados y dedicados a un área(PHP, bases de datos, JS, maquetación,etc.) y en verdad que nos va bien por los tiempos de entrega.
De todos modos las empresas empiezan a tomar consciencia de esto, y cada vez hay más ofertas buscando especialistas. Y es necesario, debido a la complejidad de las aplicaciones de hoy en día.
Estoy completamente de acuerdo contigo. Y debo añadir que ya no sólo piden que domines todos los lenguajes de programación y bases de datos. ¿Os habéis fijado en el número creciente que además esperan que seas un Community Manager y manejes a la perfección las redes sociales?
Puedo compartir el fondo del asunto, pero no comparto la forma. El artículo mezcla de forma consciente a mi parecer los conceptos “programación” y “lenguajes de programación” como si fueran la misma cosa, cuando un lenguaje de programación es tan sólo una herramienta para programar.
Probablemente un empresario que busca un perfil multidisciplinar se esté equivocando en la forma de orientar su empresa, pero un programador es lo que es, un programador, y teniendo acceso a la documentación adecuada debería ser meridianamente capaz de resolver la mayoría de problemas que se le puedan presentar, sean éstos de web, de aplicación de escritorio o de cualquier otra disciplina. Lo que sí es cierto es, por un lado, que de forma general uno quiere desarrollarse profesionalmente en lo que le interesa y/o se le da bien, y por ello podemos encontrar programadores web, programadores de 3D, etc., pero ello no implica que no sepan hacer otra cosa, sino que simplemente no les ha sido necesario hacerla para poder comer. Y por otro lado, ciertamente muchos programadores web no sabrían hacer otra cosa pero ahí también entra en juego que la programación web, a diferencia de otras disciplinas de la ingeniería informática, tiene un umbral de acceso mucho más bajo que permite a perfiles menos preparados acceder a la profesión.
Tú mismo lo has dicho: para hacer trabajos de calidad.
Pero las charcuteras no buscan calidad, buscan venderte al peso. Y las demás empresas, les da igual la calidad, quieren cualquier espanto y lo quieren ya. Por eso no hay software que sobresalga en España (mira todos los juegos que salen de los pequeños paises nórdicos, donde el perfeccionismo es casi una enfermedad)
Estoy de acuerdo con david. Yo por ejemplo no soy ingeniero, pero soy técnico en desarrollo de aplicaciones … mis conocimientos de programación y lenguajes de programación no son tan extensos cómo los de un ingeniero pero eso no significa que no sea capaz de aprender cosas nuevas, adaptarme o realizar una tarea simplemente porque no haya tocado determinado lenguaje en los módulos de formación, nada me ha impedido conectar mi cámara kinect a mi portátil y controlarla adaptando ejemplos en C# a VB (y eso por simple curiosidad); con un mínimo de información se puede empezar a andar; sentarse en el campo que uno está más cómodo puede dejarte un poco fuera de lugar con la velocidad a la que cambian las nuevas tecnologias. También hay que decir que las empresas a la hora de pedir, piden la luna y eso no es nada acertado… eso del “chico para todo” puede ser problemático a la larga.