Esta pregunta ya tiene respuestas aquí :
Comentarios
Responder
Puedes llamarte a ti mismo Senior cuando:
- Puede manejar todo el ciclo de vida del desarrollo de software, de principio a fin
- Dirige a otros, o los demás buscan su guía.
- Puede autogestionar sus proyectos
El desarrollo de software es una criatura curiosa a diferencia de otros campos.
A veces, un punk recién salido de la universidad puede dar vueltas en torno a veteranos que tienen más de 20 años de «experiencia». La programación es un mundo extraño donde el código es el rey .
Algunos logran lo anterior en 2 años o menos, otros tardan 10 años.
Comentarios
- Yo agregaría que al menos un proyecto ha fallado bajo su liderazgo …
- No estoy de acuerdo con el segundo punto. La capacidad de liderar a otros no define a " senior ". Define la " lead " parte de un título. Conozco desarrolladores senior a quienes ' prefiero empujarlos por un precipicio que seguirlos. Sin embargo, me encantan tus otras 2 definiciones. +1
- @the fresco punk, sin embargo: puedes ser un codificador talentoso, un brillante inventor de algoritmos y aún así tener problemas simplemente porque ' s problemas con los que ' no se ha encontrado antes. Yo ' todavía soy más engreído de lo que debería ser, pero incluso yo me di cuenta de eso.
- También agregaría, después de 10,000 horas de programación real (no solo sentado frente a una computadora).
- algunos toman menos de 2, otros toman 10 – muchos ganaron ' t nunca ( Conocí a varios de ellos …)
Responder
Cuando escucho «Desarrollador sénior», piense en alguien que haya dominado la programación. Pienso en una persona que puede diseñar, codificar y probar un sistema. Pueden hablar con la arquitectura del sistema o el diseño de componentes. Entienden y usan patrones de diseño. Esta persona puede anticipar los cuellos de botella de rendimiento, pero sabe que no debe optimizar previamente. Esta persona aprovechará la programación asincrónica, las colas, el almacenamiento en caché, el registro, la seguridad y la persistencia cuando sea apropiado. Cuando se les pregunta, pueden dar una explicación detallada de su elección y los pros y los contras. En la mayoría de los casos han dominado la programación y el diseño orientado a objetos, esto no es un absoluto, otros lenguajes como Javascript, F #, Scheme son poderosos y no están orientados a objetos. Son expertos en la gestión de riesgos y, lo más importante de todo, pueden comunicar lo antes mencionado a sus compañeros.
¿Qué es el dominio? Existe una idea generalmente aceptada, que para dominar CUALQUIER habilidad se necesitan 10,000 horas de repetición para que el cuerpo y la mente humanos capten e interioricen una habilidad. Esto está escrito extensamente en el libro de Malcolm GladWell Outliers . Cuando el autor original habló sobre dominar un campo, se refería a que llegar a la cima de un campo altamente competitivo tomaría 10,000 horas.
Algunos ejemplos de los valores atípicos de Malcolm GladWell son:
Mozart su primer Concierto a la temprana edad de 21 años. Que al principio parece joven, pero ha estado escribiendo música desde que tenía 11 años.
Los Beatles fueron inicialmente rechazados. Se les dijo que no tenían mostaza y que deberían considerar una línea de trabajo diferente. Pasan 3 años en Alemania tocando unas 1200 veces en diferentes lugares, cada vez con una duración de entre 5 y 8 horas. Resurgieron como los Beatles que conocemos y amamos hoy.
Y por último, Bill Gates en 20 años abandonó Harvard para fundar Microsoft. Para algunos, esto puede parecer una tontería, pero a los 20 años, había pasado casi la mitad de su juventud programando. En 1975, solo unas 50 personas en el mundo tuvieron la experiencia que él tuvo. Su experiencia le dio la previsión de ver el futuro en Microsoft.
Peter Norvig también analiza la regla de las 10,000 horas en su ensayo “ Aprenda a programar usted mismo en diez años ”.
En el libro Mastery de George Leonard, se dan grandes detalles sobre cómo dominar una habilidad. Uno debe practicar la habilidad una y otra vez. Cuanto mayor sea la repetición, más consciente será de las diferencias en cada repetición. Solo con esta información puede mejorar.
Los títulos de la industria del software (Junior, Mid-Level y Seniors) son engañosos e inconsistentes de una organización a otra. He trabajado con empresas que definen a un desarrollador sénior como alguien con 5 años o más de experiencia. No se menciona la calidad de la experiencia, solo que se sentaron frente a una computadora durante 5 años. Al trabajar con estas personas, muchos de ellos aún no habían comprendido la programación orientada a objetos; sin embargo, se les consideraba desarrolladores senior.
Debe haber una forma mejor y más objetiva de medir el conjunto de habilidades de un ingeniero de software. John Haugeland publicó una matriz de habilidades de programador de computadoras. Es una forma objetiva de medir el nivel de habilidad de un programador , que de lo contrario se deja a la intuición.
Al mirar a los ingenieros de software, veo 4 niveles de habilidades: Luminary, Senior, Mid-Level y Junior.
Luminary (10+ años) es alguien que ha dominado una habilidad y se ha propuesto mejorar su respectiva disciplina. Algunos ejemplos incluyen: Ted Neward , tío Bob Martin , Donald Knuth, Oren Eini , Peter Norvig , Linus Torvalds. Las luminarias cambian según su conjunto de habilidades.
Senior (de 7 a 10 años o más, nivel 3) es alguien que ha pasado las últimas 10,000 horas programando en un género específico. Existe una sólida comprensión de los patrones de diseño. Aprovechan la programación asincrónica, las colas, el almacenamiento en caché, el registro, la seguridad y la persistencia cuando corresponde.
Es muy posible que una persona mayor nunca llegue a Luminary. Las luminarias se encuentran a menudo hablando y escribiendo. Intentan activamente influir en su disciplina.
Nivel medio (4 a 6 años, nivel 2) es alguien que entiende la programación del día a día. Trabajan de forma independiente y crean soluciones sólidas. Sin embargo, todavía tienen que experimentar la creación o el mantenimiento de sistemas grandes o complejos. En general, los desarrolladores de nivel medio son excelentes con el desarrollo a nivel de componentes.
Junior (1 a 3 años, nivel 1) es alguien que comprende los conceptos básicos de la programación. Tienen un título en ingeniería de software o informática o son autodidactas. Su código se revisa continuamente. Se proporciona orientación con respecto a los algoritmos, la capacidad de mantenimiento y la estructura.
Comentarios
Responder
«¿Cuándo debería llamarse desarrollador senior?» – Cuando comencé a ser mentor de desarrolladores junior.
Comentarios
Responder
usted «está Perder el punto.
Senior no significa nada. Junior no significa nada. Los títulos no significan nada. Mi título: Director Asociado de Sistemas de Negocios. Mis responsabilidades: administrar todo lo relacionado con TI, desde el desarrollo de software interno hasta la infraestructura, pasando por la seguridad, a los sitios web de los clientes. Mi experiencia en el desarrollo de software – autodidacta. Mi experiencia en la red – autodidacta. Mis capacidades generales en el campo de TI – peor que la suya.
Mi capacidad para administrar y dirigir – debatible, pero mi carácter y mi personalidad me consiguieron el trabajo y me hacen tener éxito en él.
Los títulos no significan nada, la habilidad y el esfuerzo lo son todo. No soy el mejor, y creerlo sería arrogante.
¡Olvídese de sus complejos sobre títulos y demuestre su valía!
Comentarios
Responder
He notado la misma tendencia. Una de las preguntas del otro día fue sobre un desarrollador senior con 2-3 años de experiencia en el ascenso a arquitecto.
Puedes llamar árbol a una bellota, pero eso no cambia lo que es.
El La única conclusión lógica es que «senior» significa otra cosa:
- rango relativo, como en «senior para el chico que acaba de terminar la universidad»
- los deletreos de español deficientes, es decir, destinado a decir señor
- ortografía sureña, como en «sénior, súbete los pantalones»
En estos días, es solo un trabajo title , y puede o no decir nada sobre la experiencia relativa en la industria.
Comentarios
Responder
Creo que la mejor respuesta la dio Darknight .
Siento la necesidad para señalar lo siguiente.
2-3 años de experiencia en programación (trabajo + personal juntos) no es suficiente para una t o haber visto un número suficiente de proyectos y haber resuelto una cantidad suficiente de problemas. Simplemente no funcionará. Necesita tiempo para dejar que las cosas pasen por su cabeza, para reflexionar sobre su experiencia y para moverse mentalmente a un nivel superior de pensamiento. No sucede de la noche a la mañana.
Yo diría que con 5-7 años de práctica (de nuevo trabajando + personal juntos) no se puede esperar un milagro. Uno puede obtener mucha experiencia con ciertos lenguajes y marcos, pero aún no saltar a un nuevo nivel de pensamiento.
La otra cosa es la madurez general de un individuo. En mi opinión, primero se acerca a los 30 años. Antes de eso, nuestro cerebro puede estar trabajando a una frecuencia de reloj más alta, pero estaría procesando basura, porque carece de datos suficientes en la memoria para ver una imagen más amplia. Nuestra experiencia de vida en general agrega algo sutil pero real a la forma en que pensamos y trabajamos, así que a la programación como otro tipo de trabajo también.
Mi aceptación personal de un senior: alguien de al menos 27 años con al menos 7 años de práctica . Antes de eso, yo personalmente sería escéptico (pero aún con la mente abierta, solo necesitaré más pruebas para mí).
Comentarios
Respuesta
Recientemente, Martin Fowler publicó una buena publicación en el blog. Las cosas que me llevé de él son:
-
No tiene nada que ver con cuánto tiempo has estado trabajando para alguien. Trabajas durante tres años y te conviertes en desarrollador senior. ¿Qué sucede después de seis años? ¿Se convierte en un desarrollador senior senior?
-
Los desarrolladores senior no lo miran con desprecio ni piensan que son mejores que usted. Eso es muy importante. Una vez que dejas que tu ego se interponga en tu camino, estás en problemas.
-
Los desarrolladores senior no pasan la culpa. Se anticipan a los problemas y los abordan de manera positiva.
-
La gente quiere trabajar con desarrolladores senior. Esta es una clave para mí. Quiero que la gente trabaje conmigo y quiero que disfruten trabajando conmigo.
-
Los desarrolladores senior no son los ingenieros más inteligentes. No trabajan en los problemas más complejos. Su conjunto de habilidades no se trata solo de programación. Sus habilidades de comunicación juegan un papel igualmente importante.
-
Los desarrolladores senior son buenos para realizar estimaciones.
-
Los desarrolladores senior siempre se preocupan por lo que hacen. Entienden que las tareas aburridas deben completarse con la misma calidad que cualquier otra tarea potencialmente más interesante.
Solo para aclarar
Las habilidades que he enumerado anteriormente son las que creo que un buen ingeniero de software senior debe tener además de las habilidades y prácticas fundamentales de ingeniería de software.
Comentarios
Respuesta
Cuando haya sido mentor de muchos, y la mayoría le haya agradecido años más tarde después de no estar de acuerdo con usted al principio, no dude en agregar «Senior» a cualquier título que pueda tener.
Hasta entonces, «líder» es probablemente un término más descriptivo.
Para mí, el término «senior» denota una culminación de experiencia práctica Y sabiduría al tratar con personas y sus expectativas arbitrarias . Tenga en cuenta este escenario:
16 programadores en un equipo, cada uno con exactamente 1 año más de experiencia que el resto. Esto significa que el programador número 16 tiene más de 16 años de experiencia. Ocho de los miembros más experimentados mueren trágicamente cuando un autobús choca contra una tienda. ¿El tipo con la mitad de la experiencia ahora sería considerado un desarrollador senior? Espero no, espero que la empresa reemplace rápidamente los vacíos con personas de igual o más calibre del que acaban de perder.
Odio usar el término « Journeyman «en programación, pero parte de esto se aplica. El término» senior «no es algo que le dé a nadie con menos de 15 años de experiencia, porque va mucho más allá del conocimiento técnico.
Comentarios
Respuesta
Encuentro este título «Desarrollador junior / senior» incorrecto y engañoso porque No existe una unidad de medida real para esto. Todos somos desarrolladores de software con menos o más experiencia práctica. No intente crear una jerarquía para los desarrolladores de software, no tiene sentido y puede dañar el punto de enfoque principal: un gran equipo de desarrollo de software.
Comentarios
- +1 Estoy de acuerdo con su comentario. Creo que aquí no existe una solución milagrosa, creo que las habilidades técnicas y con las personas son importantes.
- Creo que en muchos casos el título se ha vuelto más una definición de grado de pago que nivel de habilidad y experiencia. Lo que a menudo viene determinado por la capacidad de negociación. Si un desarrollador de nivel medio se entrevista para un puesto de alto nivel y obtiene el trabajo, en realidad no define que sea más calificado o experimentado. Simplemente pudieron negociar por sí mismos en una posición mejor remunerada. Por lo tanto estoy de acuerdo contigo que los títulos pueden ser incorrectos y engañosos.
- Creo que tu respuesta es la mejor aquí, pero en realidad las empresas de todo el mundo usan esta terminología en todos los títulos de trabajo, por lo que no podemos evitarlo.
Responder
Cuando miras hacia atrás en tu trabajo anterior y te das cuenta de la porquería que era. Y comprende que ha mejorado, pero quedan kilómetros por recorrer y que el aprendizaje es para siempre.
Comentarios
Respuesta
A veces miro otras profesiones y Me pregunto por qué la programación de software no se estandariza por sí misma. Esta pregunta no serviría de nada porque habría un estándar aceptado para obtener ciertos niveles. Entonces me di cuenta de que «¿Quién murió y los dejó como rey?»
Todos sabemos que la experiencia, la educación, las certificaciones y los títulos son para que todos los demás obtengan una idea básica de la capacidad de un programador. O sabes lo que estás haciendo o no. Puedes oler tu propio amable o no puede «t.
Responder
» ¡¡¡QUÉ …. PRUEBA DE UNIDAD !!!! Yo «soy senior programador … ya no necesito probar mi código «
Escuché eso antes … Así que deja que los» Juniors «corrijan sus errores y lo prueben.
«Vamos a contratar a un arquitecto … no, no al Sr. X, queremos a alguien que sea mucho más senior, alguien que ya no codifique»
más adelante en la entrevista :
-
entonces, ¿con qué lenguajes de programación estás familiarizado?
-
ejem … He usado COBOL y FORTRAN pero ahora principalmente es Word, Excel y Powerpoint.
-
Excelente … ¿cuándo puedes empezar?
Realmente senior es solo una cuestión de perspectiva, un título como diría Steven. Sin embargo, me gustaría poder decir que al final es el código que escribes el importa, pero desafortunadamente en muchos casos el traje y la corbata tienen un mayor impacto, especialmente cuando ya no te miden por logros concretos (código) sino por lo bien que convences a las jerarquías de tu esencialidad.
Comentarios
Respuesta
Podría tener algo que ver con el dinero.
Algunas empresas siguen un plan salarial establecido. No pueden ponerte en el medio de la escalera de «Desarrollador» debido a algunas reglas dadas. Pero pueden ponerte en la parte inferior de la escalera de «Desarrollador sénior».
Personalmente, yo me parece extraño que a una persona se le otorgue un título senior justo al salir de la universidad, pero por otro lado, ¿a quién le importa? He sido un «desarrollador» durante unos diez años, y aunque obtengo un título «senior» cuando cambiar de lugar de trabajo ahora, no significa nada. Seguiré siendo un estudiante de primer año en el nuevo dominio, al menos por un tiempo …
Responder
Cuando otros te llamen desarrollador Senior. No existe una definición única. Sus cambios de empresa en empresa. En una empresa bien establecida, a los novatos se les da menos trabajo y su curva de aprendizaje es lenta. En la empresa de nueva creación, un recién llegado puede asumir muchas responsabilidades y aprender muchas cosas en menos tiempo. He experimentado esto de primera mano. Desafortunadamente, solo las otras personas experimentadas pueden calcular la profundidad de su conocimiento, al observar la calidad de su código o trabajo. Y estoy seguro de que todos obtienen su título cuando se acaba el tiempo.
Y si usted no cambies de empresa. 🙂
Respuesta
Es un título como muchos otros títulos. Estos «adolescentes» aquí pueden incluso tener un doctorado , eso no significa necesariamente nada. Pero claramente les dará un salario más alto. Lo mismo se aplica al desarrollador sénior o al arquitecto sénior. O el Gerente Senior de Proyectos, etc.
Teniendo en cuenta ese hecho, es mejor que sus compañeros de trabajo lo llamen «Nuestro Desarrollador Senior», en lugar de agregar ese título a su propia tarjeta después de muchos años de experiencia – lo que hice cuando tuve la oportunidad. 🙂
Aparte de eso, diría que 10 años es un mínimo (incluida la universidad u otra educación).
Comentarios
Respuesta
Tengo he visto un anuncio de trabajo recientemente buscando un graduado de informática con menos de un año de experiencia. Esto me parece una locura, incluso si es solo un título. Por un lado, sugiere una dilución del título. Estoy seguro de que Un par de empresas que vi con esas publicaciones tienen algún otro título de «súper senior» para denotar a los verdaderos seniors. No es una mala estrategia de contratación, supongo. El título no lo es todo, pero si todo lo demás es igual entre dos trabajos, probablemente tomaría el que tiene el título de «Desarrollador Jefe Maestro».
El punto en el que el «Desarrollador Jefe Maestro» (o lo que sea ese puesto alto, «senior» o de otro tipo) está realmente justificado, aunque es difícil de precisar . No creo que podamos ser demasiado objetivos al cuantificarlo. Como fórmula aproximada, diría que deberían llamarse senior si suelen ser los mejores en la sala y la sala contiene al menos 8 desarrolladores profesionales. Eso sugeriría que un senior está en el percentil 87 como mínimo.Aunque diría que estos desarrolladores probablemente serán los que tengan más experiencia, definitivamente no diría que la experiencia == «senior», o incluso cercana. Al mismo tiempo, aunque soy escéptico de que el número de verdaderos mayores con menos de 7 u 8 años deba ser extremadamente pequeño, no es imposible que alguien con menos de eso sea un maestro.
A los 22 años, ciertamente caigo en la “categoría poco probable de ser un maestro”. Aunque estoy en algunos de esos tipos de «10 (o 30) años de 1 año de experiencia», y honestamente me siento tentado a pensar que soy mejor, trato de recordar que esas personas, incluso si no han hecho ningún esfuerzo en décadas para aprender, es probable que todavía haya adquirido más conocimientos que yo sobre una amplia variedad de temas a través de la ósmosis pura. Simplemente no hay forma de que yo pueda saber tanto como ellos sobre el ciclo de vida completo del proyecto. ¡Trabajo con una persona cuyo proyecto es mayor que yo! Sería bastante presuntuoso de mi parte pensar que yo sabía más que él sobre el mantenimiento de un proyecto de ese alcance.
La otra cosa a tener en cuenta es que si empiezas a llamarte senior a los 22, ¿qué serás a los 32? Es un flaco favor a tu futuro asumir que ya estás en la cima. Mucha gente mira la regla de las 10,000 horas para determinar cuándo alguien es un experto. En el libro de Malcom Gladwell, donde se propone la idea, queda bastante claro que los expertos no son simplemente los mejores, sino que cumplen una función determinada. Los novatos no son los peores de ninguna manera, pero es una descripción del método incluso más que de la habilidad. Los novatos pueden aprender las cosas extravagantes rápidamente, pero a menudo tienen problemas para hacer algunas de las cosas más comunes tan rápido como alguien que es un experto. Los expertos pueden hacer las cosas de rutina con extrema precisión y velocidad, y saben qué cosas buscar que podrían denotar problemas, pero a menudo tienen problemas para reaccionar al cambio o para aprender cosas que están fuera de su zona de confort. Con eso en mente, ni siquiera quiero ser un experto todavía. Me gustaría absorber tanta información nueva como pueda, durante el mayor tiempo posible antes de establecerme en un dominio estable.
Comentarios
Respuesta
10 años ?? Debes estar bromeando. Ok, ¿cómo defines 10 años? Digamos que alguien empezó a programar a los 15 años pero se hizo profesional a los 25.
La industria no funciona de esa manera. Creo que las diferentes empresas permiten que las personas las llamen Senior Dev X o Y en cualquier momento entre los 5 y 8 años. Mucha antigüedad en la organización no se debe únicamente a la capacidad , tiene mucho que ver con la iniciativa que está tomando un individuo y el tipo de responsabilidades que está dispuesto a compartir. La mayoría de las veces, las personas con habilidades razonables y una fuerte motivación se convierten en profesionales senior.
Por cierto, 22 años no son adolescentes 😉
Comentarios
- 10 años de implementación, por supuesto.
- Estaba haciendo gráficos GWBasic de resolución de ecuaciones cuadráticas en un casio PB-700 cuando tenía 14 años, con funciones de acercar / alejar (para ver mejor la intersección con el eje, que tenía autofracción para la numeración de unidades del eje en el zoom). 28 años después, programo en Python en mi HTC Android y he sido " desarrollador profesional " durante más de 12 años. ¿Eso me convierte en Se ñ o? No pienses. Sigue siendo un hacker de corazón (juega con SLA4 un poco en tu teléfono Android para ver qué tan lejos tiene que llegar la computadora). Somos ' todos adolescentes en este negocio.
- @Chris: Qué buena respuesta, amigo. Happy Hacking.
- -1 El primer párrafo es una perorata sobre la publicación anterior (debería ser un comentario sobre esa publicación) y ciertamente no es una ' buena respuesta ' a la pregunta. Yo ' también voy a arriesgarme y decir que 10 años de experiencia solo tienen sentido si tienes mucha experiencia (la experiencia es lo único que puedes ' t enseñar en comparación con ' conocimiento ' que puedes). Estar en mis 40 ' s me ha aportado muchos conocimientos ' senior ' que No ' obtuve después de 5 a 8 años en mis 20 ' s.
- @Michael: +1 .Buenos puntos sobre " EXPERIENCE "
Respuesta
La primera vez que consigue un trabajo basado en al menos una sesión de entrevista que no es una «entrevista técnica clásica» en la naturaleza (es decir, hablar sobre arquitectura, conceptos, diseño, visión de la empresa, experiencia , etc.)
Mi experiencia (limitada) es que los desarrolladores junior suelen ser contratados únicamente en función del rendimiento en la batería estándar de preguntas de la entrevista, y los senior según una variedad de otras interacciones.
Respuesta
La edad es solo un número; un niño se está volviendo más inteligente y _insert number programador con años de experiencia está envejeciendo … Hoy en día, un niño puede escribir códigos más limpios, mejores y más rápidos de una manera inteligente. Un viejo amigo puede ponerse celoso.
Comentarios