En toda empresa que se precie lo primero que te enseñaran sera todas las certificaciones, de calidad que dispone, tambien es muy corriente ver esas frases de motivacion, como:
“La calidad nunca es un accidente; siempre es el resultado de un esfuerzo de la inteligencia. “
John Ruskin
… y luego van bajando el liston hasta: “La calidad nuestra razon de ser”, y patrañas por el estilo, parace que sale mas rentable el invertir en un sello de calidad que realmente el tenerla. Pero a poco que te hayas movido por empresas del sector, la impresion no suele ser buena, es raro encontrar empresas que cumplan los requisitos minimos para desarrollar un proyecto mas o menos sostenible, con sostenible quiero decir que cumpla como minimo la mejora continua, que tanto grita los protocolos de calidad ISO.
Por mi experiencia la figura principal de cualquier proyecto recae en el jefe del proyecto y el programdor senior, El jefe de proyecto viene a hacer las funciones de interlocutor, entre el cliente y el equipo de desarrollo, o mejor el equipo de I+D+I, un jefe de proyecto, no tiene necesariamente que conocer la tecnologia que se va a aplicar seria el equivalente a pensar que un aparejador debe saber de soldar una cañeria, ademas de la toma de requerimientos, y desarrolla un planning que viene a incluir el clasico diagrama de Gant y calculos estimativos como PERT, ademas de esto suele generarse un libro con las temas de los requerimientos, detalles de la aplicación, etc. esto permite el tener una estimacion del tiempo que se va a emplear, tiempo de entregra, formacion, etc. A parte de esto el jefe de proyecto puede deficir cual sera la mejor metodologia,
Otra figura importante viene a ser el programador senior, este tiene profundos conocimientos no solomante del lenguaje, sino de la plataforma asi como de los recursos que pueda requierir el proyecto, dependiendo de lo amplio que sea el proyecto es posible que exista mas de un programador senior, ademas del lenguaje tendra conocimientos avanzados sobre la plataforma que se implementara, este tipo de figuras suelen estar muy involucrados en la tecnologia que utilizan.
El programador senior esta implicado en el diseño del interface, informes, etc e implemntan las partes mas bajas del sistemas, drivers, dll, conexiones, etc., ademas dirige a los programadores junior que tiene a su cargo.
La siguiente figura, viene a ser el programdor juior este, tiene conocimientos avanzados sobre el lengua, similar al senior, pero sus tareas estas mas orientadas al trabajo en equipo, el codigo debe serguir la forma establecida por el libro de estilo, correctamente documentado, y revisado. Erroneamente se entiende que un programador junior es un ayudante o un aprendiz, esto es totalmente falso, yo no dejaria jamas implementar codigo a un aprendiz, la calidad del codigo es tan importante como el proyecto en si, de hecho la viabilidad de todo lo documentado y programdo esta en que el codigo se ejecute correctamente, y no solamente eso sino que este desarrollado de una forma limpia y siguiendo los protocolos establecidos por el equipo.
Hasta aquí lo que deberia de ser, pero la realidad es miu distinta; generalmente el jefe de proyecto viene a ser el propio dueño, o el mas veterano, o el mas pelota del equipo, que viene a confirmar el principio de peter, con unos escasos conocimiento el siguiente paso es contratar a alguien que haga lo que se ha prometido al cliente, como norma, el beneficio esta entre el precio de venta y el coste, asi que si si contratas lo mas barato que puedas obtendras un gran beneficio.
“Ningun proyecto es una tonteria”
Asi que con esta premisa, la busqueda se centra en el programador mas barato, por el precio de un programador senior consigo dos junior, Bien esto da la siguiente norman
“En programacion muchos malos no hacen uno bueno”
Los programadores noveles, que no los junior, vienen a hacer software explosivo, generalmente desarrollan muy rapido, para tarde o temprano perdese en su propio código, el código ha crecido de una forma descontrolada y si el proyecto probablemente quede inacabado, y en el mejor de los casos sin posibilidades de continuación. Esto se suele percibir en cuanto el proyecto no avanza o una modificacion hace saltar errores que ya estaban “teoricamente corregidos”, en este punto lo mas habitual, suele ser incorporar mas personal, como si de hacer churros se tratase, el resultado suele ser un empeoramiento del problema.
Si eres un buen comercial es posible que llegados a este punto, salves el problema, comiendo con el jefazo de turno, y vendiendo la moto al cliente final.
Otra impresion generalizado suele ser el “super-lenguaje”, los “jefes de proyecto”, ven en otros proyecto que se desarrollan correctamente y se fijan en el lenguaje, esto hace que la demanda de programadores “baile” dependiendo de modas, realmente en los lenguajes que conozco no sabria decir cual es mejor que cual, el cambiar todo un desarrollo por ejemplo de delphi a java, asi por el mero hecho de que java es lo mas “in” me pareceria una perdida de tiempo y probablemente de dinero. Asi si entre los nuevos requisitos estan explorar el mercado Linux, y Mac quizas si mereciese la penam en mi proyecto no seria muy costoso, por que el codigo suficientemente documentado.
Las demandas de lenguajes en la actualidad son las siguientes; esto lo extraje de tecnoempleo.com, un portal especializado en la busqueda de empleo relacionado con la informatica.
-
tecnoempleo.com
Java
2164
php
777
C++
749
Visual Basic
672
C#
550
Delphi
110
De toda la oferta solamente el 1,5% de esta oferta esta dirigida a profesionales con experiencia, en numeros mas claros por cada 98 programadores sin experiencia entran 2 sin experiencia. Ironicamente las empresas en lugar de comprar experiencia prefieren titulaciones. Algo totalmente absurdo al menos para llevar a cabo un proyecto.
-
trabotecnico.com
Java
39
C++
14
php
9
C#
8
Visual Basic
5
Delphi
2
Haciendo una busqueda un poco mas avanzada, el resultado mas pintoresco viene de Visual Basic, de todas las ofertas las que menos experiencia solicitan son las de Visual Basic, por otro lado este lenguaje sule ser el usado por los principiantes
-
Madrid
barcelona
Resto
Java
29/1286
6/348
5/533
Visual Basic
2/421
1/114
2/136
Delphi
0/43
1/19
1/48
C++
8/392
0/98
6/259
C#
2/289
1/78
5/184
php
5/328
2/207
2/243
La calidad tambien afecta a las provincias, la peor calidad es la encontrada en las provincias, de hecho muchos anuncios ni siquiera saben lo que quieren, por ejemplo es normal el ver “Se necesita programador .NET”, en .NET no es un lenguaje es un framework, la plataforma .net, y ahi esta la importancia, puede programarse en cualquier lenguaje, mas o menos, desde basic hasta c++, pasando por cobol, lisp, fortran , lo que sea que genere codigo objeto .net. Y no solo eso sino que ademas puede desarrollarse con herramientas borland. Microsoft, o cualquier otra, y no solo eso sino que ademas puede hacerse para windows, linux. El caso es que cada plataforma es un mundo, y cada lenguaje otro, asi que realmente lo que piden piden es “programador barato”. Esto tambien suele pasar con java, en la mayoria de los casos lo que se requiere en j2ee, con conexión a bases de datos, pero a alguien le sono java.
Como final dejare aquí el video de Vicente Alciturri, genrente de Ascentic, la mayor asociacion de empresas de tecnologia de cantabria.