PDA

Ver la versión completa : Analista, programador, junior, senior...



Puck2099
05/04/2009, 13:04
Buenas,

Mirando ofertas de empleo me encuentro con denominaciones como éstas, pero con poca unanimidad de criterio en cuanto a experiencia o funciones para los mismos cargos...

Yo entré como programador junior, asumiendo que es un programador sin experiencia "constatable" (que ya sabemos que lo que programes en tu casa no sirve de nada), pero los otros términos no los tengo muy claros...

¿Cuándo deja un programador de ser junior? ¿y cuando se convierte en senior?

¿Qué diferencia hay entre un analista, un programador y un analista-programador?

Gracias por la información :brindis:

phenix
05/04/2009, 13:16
trabaje un año y medio gestionando esas "cosillas", pero mas o menos te explico como funciona

un PJ (programador Junior) es un programador con menos de un año de experiencia

un PS (programador Senior) es un programador con mas de un año de experiencia y que no ha realizado o ha realizado muy poca funcion de analisis

un AP (analista programador, o analista) es un programador que realiza funciones de analisis y tiene de 2 a 3 años de experiencia en la tecnologia que trabaja.

espero que esto te ayude

PD: te repito que si me pasas tu CV, te lo envio a mis antiguos contactos del curro.

saludos

Puck2099
05/04/2009, 13:22
trabaje un año y medio gestionando esas "cosillas", pero mas o menos te explico como funciona

un PJ (programador Junior) es un programador con menos de un año de experiencia

un PS (programador Senior) es un programador con mas de un año de experiencia y que no ha realizado o ha realizado muy poca funcion de analisis

un AP (analista programador, o analista) es un programador que realiza funciones de analisis y tiene de 2 a 3 años de experiencia en la tecnologia que trabaja.

espero que esto te ayude

Muchas gracias por la información, más o menos sí me sirve, pero tengo una duda respecto a lo que dices... ¿de programador junior se pasa a senior sin "programador a secas"?

¿Y si llevas un año con Java y pasas a C vuelves a ser junior?

Otra cosilla, ¿con funciones de análisis a qué te refieres?


PD: te repito que si me pasas tu CV, te lo envio a mis antiguos contactos del curro.

Ups, no me he fijado cuando me lo dijiste por primera vez, ¿a qué dirección te lo mando?

Muchas gracias :brindis:

DarkDijkstra
05/04/2009, 14:29
Más o menos la diferencia entre "programador" y "analista programador" está en si haces o no análisis y diseño...

Es decir, a un programador, suele llegar el jefe de proyecto y le dice "oye, necesito que me hagas una clase que almacene este listado de clientes y pueda ordenarlos y clasificarlos según tal criterio, y que tenga un método que se llame 'get_tree' que acepte tal parámetro y devuelva tal cosa... y deberías tenerlo listo para dentro de 2 días" Y el programador llega y lo hace

A un AP llegaría el jefe de proyecto (o el mismo jefe, si la empresa es pequeña... un AP puede ser el jefe de un proyecto no muy grande) y le dice "oye, que quiero que añadais a la aplicación la funcionalidad de que se muestren los clientes de tal manera" y al AP le toca ver que es lo que se necesita, pensar como estructurarlo, que clases se necesitarían, estimar el tiempo...

Es decir, tiene que analizar el problema e intentar diseñar una solución.

Al menos es más o menos como funciona en empresas "pequeñas" o con proyectos "pequeños", si es para una megamultinacional con un proyecto enorme, hay ya más niveles y más quisquillosidad y tontería ; )

Puck2099
05/04/2009, 14:32
A un AP llegaría el jefe de proyecto (o el mismo jefe, si la empresa es pequeña... un AP puede ser el jefe de un proyecto no muy grande) y le dice "oye, que quiero que añadais a la aplicación la funcionalidad de que se muestren los clientes de tal manera" y al AP le toca ver que es lo que se necesita, pensar como estructurarlo, que clases se necesitarían, estimar el tiempo...

Joe, entonces he sido AP casi desde el día que entré, pues a mi me decían, hay que meter estas nuevas funcionalidades para tal día y yo me tenía que buscar la vida... :confused:

Estopero
05/04/2009, 15:27
No estoy nada de acuerdo con los tiempos que decís XD

Está claro que es algo difuso todo esto, pero un programador con 3 años de experiencia no es un analista, y en muchos casos dudo que sea un programador Senior, aunque puede haber excepciones. En teoría una persona que sale de una Ingenieria Informática, sobretodo si es la superior, debería salir siendo analista, pero en la práctica y por lo poco "práctico" que nos enseñan en la universidad yo diría que salimos siendo junior igual que cualquier otro programador que empieza, porque básicamente la mayoría todavía no ha tocado ni siquiera un lenguaje que se use en el mundo real

Yo diría que un programador es Junior en un cierto lenguaje, si mientras es parte de un proyecto necesita la supervisión de otro alguien porque es propicio a cometer ciertos errores o porque no tiene suficiente experiencia y hay un número considerable de problemas que no puede resolver con fluidez sin ayuda, ya sea esta ayuda ofrecida por otra persona o por libros, internet etc...

En dos tres años alguien puede convertirse en Programador Senior en un lenguaje si ha tenido una intensidad de trabajo medianamente grande sobre él y ha sabido aprovecharlo, y sin embargo seguir siendo Junior en otros lenguajes. Yo por ejemplo aún me considero un programador Junior de Flash, y eso que llevo ya 4 o 5 años programando en ello, simplemente porque no han sido 4 o 5 años trabajando en una empresa programando flash dia y noche, sino que ha sido una programación por "épocas" resolviendo muchas veces problemas parecidos, con bastantes retos, pero que aún me falta mucho para cubrir todo el espectro de posibilidades que da Flash.

Un Senior para mí, es alguien que ha dado un paso adelante, que no suele necesitar ayuda a menudo para resolver un problema, y que además los resuelve con fluidez. Cualquiera puede coger un libro o pedir ayuda, pero en teoría un Senior necesitará de media mucho menos tiempo que un Junior para "estudiarse" algo que no sabe y además tendrá menos errores a lo largo de un proyecto, por lo tanto se perderá menos tiempo en el desarrollo del mismo, y todos serán más felices XD, ¿Contras? que cobran más, y a veces un proyecto no es lo suficientemente complejo como para que compense la diferencia de sueldos a las empresas (cada uno que valore eso como quiera)

Los analistas, no solo han hecho cierto labor de análisis para un proyecto, cualquier programador que empiece, siempre, por como funcionamos aquí, se va a tener que enfrentar a estas cosas, porque a pesar de que no es (teóricamente) su trabajo, se lo exigirán o hará falta para avanzar en algún momento, que lo solucione de mejor o peor manera... o que pueda dar el mismo resultado en un proyecto de gran embergadura.... es otra cosa :). El analista será capaz de dar la mejor solución a un problema de gran embergadura, y además sabrá ofrecer con garantías que esa solución se va a encontrar con la menor cantidad de problemas posibles al acabarlo. ¿Eres realmente tú capaz de ofrecer esto con garantías?. Puede que yo haya hecho un porrón de webs, ¿pero sería capaz de hacer un diseño de una web que mueva grandes y delicados datos de información privada garantizando la seguridad de la misma? incluso estudiándome todos los requisitos y técnicas que suelen necesitar estas webs durante un mes entero, ¿podría garantizar ahora que mi solución para la empresa será lo suficientemente óptima, y que la información que contiene la web está a buen recaudo? Un analista debería ser capaz.

¿En tiempos? yo diría que un Programador Junior trabajando a nivel profesional puede dejar de ser Junior para ser Senior de un lenguaje en 1-3 años, pero seguir siendo Junior en otros claro. Y que un buen programador con buena visión global podría ser analista en 5-10 años, según la persona, o directamente no llegar a serlo nunca, no todo el mundo tiene la capacidad necesaria. Cada persona es un mundo y tiene unos conocimientos y unas habilidades, puede haber alguien que realmente sea un hacha y una capacidad de aprendizaje buenísima, yq ue salga de la carrera siendo prácticamente analista, y hay quien no valdrá para esto y no pase del nivel de un Junior nunca...

Si no tienes quien te lo valore, valóratelo tú mismo, pero claro, se realista porque lo que tú opinas que sabes es lo que te van a exigir luego (generalmente un poco más incluso XD) . Esta es mi opinión según lo que he visto por donde he estado, y por lo que veo en mis compañeros ahora, pero habrá quien no esté en absoluto de acuerdo claro XD, tendrás que sacar conclusiones propias de todo lo que veas y que te digan :)

hardyx
05/04/2009, 16:27
Estoy de acuerdo con lo que dice Estopero (vaya tocho!), un programador senior es lo que se llama un experto en la tecnología en cuestión, y un analista programador es alguien que además sabe diseñar un sistema a partir de los requisitos. Y un analista a secas, es un analista-programador al que no le gusta mucho programar. je, je

Uncanny
05/04/2009, 18:51
Pues si, coincido bastante con Estopero, las clasficaciones que hacen las empresas para diferencias un perfil de "Programador Junior" de un "Programador Senior" se basa en la experiencia concreta en un lenguaje o en una tecnología especifica, como si dominara un conjunto de lenguajes, metodologías, y/o frameworks, además de un entorno de desarrollo determinado (que va desde un IDE o a un IDE-RAD como MS Visual Studio, Eclipse o NEtBeans por ejemplo, pasando a entornos con diferentes herramientas tipo LAMP -> Linux Apache MySQL y PHP).

En España muchas empresas consideran como Programador Senior a quien lleva como mínimo 1 a 2 años como mínimo y de forma casi intensiva, trabajando con un determinado lenguaje o tecnología de forma profesional y demostrable pero se le puede considerar un Junior si decide trabajar en otras areas en las que no tiene dicha experiencia laboral demostrable (otra cosa es que particularmente ya sea de forma autodidacta o por estudios la tengas, pero eso no lo valoran tanto a veces si no puedes demostrarlo en tu CV).

Llega el tercero en discordia, el dichoso "Analista-Programador". Bien, esto dependerá de la experiencia de cada uno, la mia y la de muchos colegas y compañeros de trabajo en diferentes empresas es que, si eres como mínimo Senior, te usan como Analista... bueno, y hacer las veces de pseudo-consultor de seguridad de sistemas y redes, administrador de sistemas y redes, DBA y lo que se tercie, lo que se denomina "multidisciplinar" (palabra que puedes llegar a odiar xD).

Digamos que, desde mi punto de vista, el Analista real es una persona que tiene una responsabilidad elevada, es quien coge los requisitos del proyecto, estudia, analiza y descompone los "problemas" y crea el esqueleto de "soluciones" tanto desde el punto de vista funcional como técnico, por lo que tiene que ser un experto en ingeniería de software, en modelado (el uso de lenguajes de modelado como UML especialmente en OO es imperativo), tener una mente analítica, disciplinada y abierta con una gran capacidad en la abstracción de conceptos, saber manejarse con herramientas CASE para expresar conceptual y gráficamente los algoritmos al realizar la documentación que los programadores leeran y seguiran a pies juntillas, para lo que le es util tener un bagage importante en programación con lenguajes de diferentes paradigmas, lo importante es que sea en metodología general de programación más que en picar código, pero conocer y haber trabajado un tiempo respetable con lenguajes de multiples paradigmas, especialmente estrructural/procedural, OO, y genérica, le da una visión bastante buena y le ayuda más facilmente a ponerse en la piel de los programadores que van a realizar la implementación al lenguaje o lenguajes con los que se está trabajando.

Para ser analista no creo que haga falta tener experiencia, si tienes esa capacidad innata, la has entrenado y adquieres conocimientos tanto propios como por estudios, puedes ser un analista, aunque otra cosa es que una empresa te dejer serlo "de primeras".

La realidad es que a casi todos los programadores, especialmente los Seniors son programadores y todo lo que haga falta, al menos en España y empresas pequeñas, cutres y con un director técnico trepa o bien un jefe de proyecto inutil, el tipico conocido-de-tal, coleguilla de jefes o enchufado de turno, si no hay un Analista o el llamado Arquitecto de Software, a todos les toca ser un poco analistas en un proyecto, no tienen porque decirtelo aunque empieza a temblar si en tu contrato, que crees de Junior o Senior, te ponen la coletilla de "Analista-Programador" [wei]

swapd0
05/04/2009, 18:51
La verdad es que no entiendo porque ponen eso de analista y esas chorradas, cuando casi todo te lo piden es para ayer y prima la des-ingenieria del software...

Uncanny
05/04/2009, 19:04
La verdad es que no entiendo porque ponen eso de analista y esas chorradas, cuando casi todo te lo piden es para ayer y prima la des-ingenieria del software...Ahí le has dado, porque es la pura realidad, todas las empresas quieren algo de calidad, pero muchas no dan ni tiempo y ni a veces los medios, tanto humanos como técnicos, necesarios para realizarlo en los plazos que les aseguran al cliente (mucha culpa de esto la tienen los gerentes) y mucho menos tiempo, se saltan el dichoso "ciclo de vida del software" como les da la gana (eso de que el cliente meta la zarpa cada 2x3 para cambiar requisitos algo en medio de la etapa de implementación e incluso al final...), sin respetar ni tiempos ni nada, y es tanto el analista como el picacódigo (eso si el picacódigo no hace las veces de analista) quienes se parten los cuernos para que todo salga adelante [Ahhh]

Pero eso si, que bien queda eso para los gerentes y jefes de proyecto para venderles la moto a los clientes diciendoles que tienen un gran equipo experiementado de "Analistas y Programadores Seniors" capaz de hacer lo que deseen aunque tengan que echar todas las horas extras (sin pagar...) que haga falta :loco:

TRaFuGa
05/04/2009, 19:43
¿Y si llevas un año con Java y pasas a C vuelves a ser junior??

Una cosa es la categoria, y otra lo que cobres xD y depende de si es en la misma empresa o no. Yo opino, que depende mucho de la tecnologia en la que programes, Java y C van de la mano, pero por ejemplo, en mi caso estoy con Cobol, cuando llegue a ser programador senior en Cobol, si me paso a Java, pasaria a ser Junior de Java, otra cosa sería el sueldo....que por otra parte, según mi empresa, hay unos límites según la categoría...
PD-Con un año en Java, sigues siendo Jr :P ya que (todo segun mi empresa), es:
-Con menos de 2 años de experiencia: Jr
-De 2 a 4: Sr
-De 4 a 6: AP
-Más de 6: A
Peeero, te pueden hacer senior teniendo solamente un año de experiencia (como a mi compañera, que no tiene ni idea, le tengo que sacar muchas veces las castañas del fuego y ella es Sr y yo Jr...)

Uncanny
05/04/2009, 20:45
Una cosa es la categoria, y otra lo que cobres xD y depende de si es en la misma empresa o no.A veces, en la misma empresa, curreles con el mismo puesto de responsabilidad, incluso con la misma categoría en contrato, cobran más o menos que otros de sus compañeros, por eso en muchas empresas tus propios colegas de departamento y/o de proyecto pueden ser reacios y celosos en hablar de cuanto cobran, no solo porque sea algo personal sino porque puede crear tensiones innecesarias cuando otros ven que la diferencia es importante en comparación con lo que cobran, ya sea a la alta o a la baja y es que, sobre todo para los Seniors y Analistas, que su sueldo varia en función a como lo han negociado con la empresa.


en mi caso estoy con Cobol, cuando llegue a ser programador senior en Cobol, si me paso a Java, pasaria a ser Junior de Java, otra cosa sería el sueldo....que por otra parte, según mi empresa, hay unos límites según la categoría...
PD-Con un año en Java, sigues siendo Jr :P ya que (todo segun mi empresa), es:
-Con menos de 2 años de experiencia: Jr
-De 2 a 4: Sr
-De 4 a 6: AP
-Más de 6: A

Pues si, siempre depende de la empresa, aunque no siempre dicen toda la verdad, solo lo que les conviene que debes saber para que no pidas mucho más y es que, dependiendo de la empresa y de varios factores, el sueldo que cobre una u otra persona, en la misma categoría por contrato, también depende de si es interno o externo, es decir, si es interno es la empresa final y el trabajador quien negocia su contrato, y con ello sus condiciones laborales y sueldo, mientras que siendo externo implica que viene de una consultoría o es un freelance. Lo de las consultorías es un cachondeo, cada consultoría les vende mejor o peor a uno de sus "recursos humanos" a las empresas, así te puedes encontrar que un externo, en la misma categoría, cobra más que un interno o que haya diferencias importantes de sueldo entre personal que proviene de diferentes consultorias.

Es una cuestión de negociación de los gerentes de las mismas con determinadas empresas para las cuales les proveen "outsourcing (http://es.wikipedia.org/wiki/Subcontrataci%C3%B3n)" (que por muy bien que suene cuando te lo sueltan solo significa subcontratar a personal), es más, muchas consultorías se sacan más del doble del sueldo que cobra su "recurso desplazado" en la empresa, por eso cuando negocian el sueldo contigo son bastante reacios a necociar contigo más a allá de lo que pretenden pagarte, ya que una subida del sueldo de lo que te proponen les hace bajar el margen de beneficio que pueden obtener ti estando contratado en una categoría concreta para en una determinada empresa, así te encuentras de todo, desde que un recurso externo cobre bastante bien y que la consultoría no se lleve casi el doble de lo que le pagan a ver que cobra lo mínimo posible pero que su consultoría se lleva una pasta como recurso desplazado, detalle de los cuales la persona no tiene conocimiento directo claro...


Peeero, te pueden hacer senior teniendo solamente un año de experiencia (como a mi compañera, que no tiene ni idea, le tengo que sacar muchas veces las castañas del fuego y ella es Sr y yo Jr...)

Te puedo decir que a veces que te pongan en la categoría de Senior o Junior es como si fuera una lotería, o que ponerte en una categoría sea "la norma de la casa", se de una empresa que contrataba a todo sus programadores del departamento como Seniors, no había ni un Junior (salvo que fuera un recurso externo) tuvieran más, menos o ninguna experiencia laboral en la tecnología en cuestión y el sueldo variaba enormemente entre cada uno, y no es que dependiera de sus conocimientos, es más, había gente que llevaba años en la empresa y cobraba menos que alguien nuevo al que contratasen, sin necesidad de conocimientos o experiencia demostrable por CV.

Por supuesto, en empresas más serias, otro factor a parte de la experiencia del que puede depender el sueldo, aunque no lleves trabajando años en una determinada tecnología, es el que tengas un certificado oficial, por ejemplo, tener un certificado de Sun en Java puede ayudar a esa negociación de sueldo y categoría a pesar de no tener una basta experiencia demostrable laboralmente, ya que no pueden pretender pagarle lo mismo con un SCJP, que sería más como un Junior, con un SCJD, que sería como un Senior o tener un nivel de arquitecto de software y/o analista con un SCEA.

Topochan
05/04/2009, 21:42
En conclusión:
Pasa de las consultoras, y busca te algo distinto, estarás más tiempo en el paro pero cuando encuentres seguramente sera mejor :P

Puck2099
05/04/2009, 21:45
En conclusión:
Pasa de las consultoras, y busca te algo distinto, estarás más tiempo en el paro pero cuando encuentres seguramente sera mejor :P

Sí, el problema es que todos te valoran por tu experiencia y el tiempo que estés en el paro es tiempo sin experiencia :(

Uncanny
05/04/2009, 22:12
Sí, el problema es que todos te valoran por tu experiencia y el tiempo que estés en el paro es tiempo sin experiencia :(A menos que "maquilles" tu CV (por ejemplo, si has hecho pequeños proyectos pero no puedes demostrarlo poner que has trabajado por libre como freelance en proyectos propios para pequeñas empresas y particulares) o te pongas a trabajar como Junior en algo que tengas experiencia, aunque no sea laboral y se te de bien, no hay otra forma de tener experiencia curricular.

Lo malo es que hay más ofertas para trabajar por consultoras que de las empresas finales propiamente dichas, yo creo que para acumular experiencia siempre puedes encontrar algo aunque sea trabajando para una consultora (hay algunas buenas y otras malas, aunque en general casi todas tiendan a ser de las segundas), a ser posible de algo que se te de bien y tengas experiencia personal, aunque sea para Junior, eso te facilitará el trabajo ya que no te pueden pedir mucho (otra cosa es que lo intenten) ni tendrás tanta responsabilidad (por mucho que se empeñen en dartela), aunquen claro, que va a juego con el sueldo claro, pero al menos obtienes experiencia :)

Eso si, si decides ver las ofertas de consultoras, ten especial cuidado con las que te sugieran modificar tu CV para que el cliente final "crea" que tienes conocimientos y experiencia demostrables en un area que a lo no dominas demasiado, porque luego los marrones dentro de la empresa final son para ti, ellos se lavan las manos, este consejo no te lo digo porque si, ya me ha pasado en un par de ocasiones que despues de ver mi CV me han "sugerido" que yo realizara ciertas modificaciones de cara a presentarselo al cliente final, cosa que no es nada recomendable para ti como profesional, es para flipar pero si, así es... :loco: