En su opinión, ¿qué hace que alguien sea un desarrollador de software sénior?

En el mundo de Recursos Humanos y Reclutamiento, estoy seguro de que simplemente significa que si logras obtener el puesto de trabajo que tiene ese título y calificación salarial.

Para que otros desarrolladores lo consideren “Senior” significaría que tiene suficiente experiencia y habilidad para:

  • Mentor a otros desarrolladores en sus especialidades.
  • Comprenda el ciclo de vida más amplio del desarrollo, ya que un proyecto pasaría de equipos especializados e incluso a otras unidades de negocios involucradas
  • Ser capaz de comprender y evaluar las nuevas tecnologías y decidir cómo se integraría o reemplazaría sus idiomas / plataformas / marcos actuales
  • Ser capaz de interactuar / interactuar con los clientes, internos o externos. Debe poder comunicarse con los NO programadores, como los tipos de gestión o simplemente los clientes
  • Posiblemente incluso sea capaz de gestionar un equipo de otros desarrolladores de proyectos (pero no siempre)

Solo es mi opinión…

Sorprendentemente es bastante simple.

Un desarrollador senior es alguien que puede hacer el trabajo sin que nadie se lo diga. Simplemente puede pasar a la siguiente tarea cuando finalice su tarea actual. Pensaría en la forma más sencilla y limpia de realizar una tarea, manteniendo la cohesión de todo el proyecto. Debe ser ingenioso, saber dónde obtener ayuda, sentirse cómodo para discutir problemas y soluciones dentro de su equipo y hablar si algo no está a la altura.

No solo introduciría una nueva tecnología en el medio del proyecto simplemente porque su tarea actual lo necesita. Introduciría y / o mantendría el código y la convención de nombres para todo el proyecto. Si un desarrollador junior necesita ayuda, con gusto lo proporcionaría.

En términos simples, un desarrollador senior es solo un adulto responsable que sabe lo que quiere y lo que está haciendo. Así que solo solicite el trabajo. Lo peor que podría pasar es que no lo entiendas.

Varias compañías tienen diferentes definiciones de lo que es ser un senior. Diría que, en general, requiere una buena comprensión de los fundamentos de la programación, una buena capacidad para administrar el tiempo y los recursos y la capacidad de liderar un grupo.

Fui senior 10 meses después de ser contratado para mi primer trabajo de software. Tampoco soy el típico desarrollador fuera de la escuela. En ese momento tenía 39 años. Obtuve mi título a la edad de 38 años. También tenía 15 años de experiencia gerencial en la industria de servicios. Entonces, aunque era deficiente en algunas de las áreas técnicas, tenía otras habilidades que superaron con creces las de alguien con incluso 4 o 5 años de experiencia.

Entonces, para ti, haría algunas preguntas. Primero, ¿eres técnicamente competente? ¿Puedes manejar los problemas típicos que se te presentan? Segundo, ¿tienes fundamentos de sonido? ¿Se puede mantener su código? ¿Utiliza principios de diseño de sonido? Luego, ¿tienes buenas habilidades de comunicación? Esto significa comunicarse con personas técnicas y no técnicas. Debe poder comunicar sus necesidades con sus superiores, sus instrucciones a sus subordinados e interactuar potencialmente con los clientes. ¿Y por último puedes liderar? Esto incluiría el caso en el que está asignado para liderar, así como el caso en el que da un paso adelante y se hace cargo en una situación en la que no hay un líder, pero claramente se necesita uno.

Donde yo trabajo:

  • Si desarrolla> 5 años, es un desarrollador experimentado .
  • Puedes ser promovido a desarrollador senior (porque esa es una función). (Normalmente solo cuando eres un desarrollador experimentado). Luego ganará más dinero, pero también tendrá más responsabilidades como: capacitar / asesorar a desarrolladores junior, ser un programador líder en proyectos más grandes, estimar costos en la parte de desarrollo de un proyecto, etc., etc.

Si solo buscas un número: 5 años

Desde mi experiencia , ese es el punto donde los empleadores potenciales comenzarán a tomar en serio su currículum para un puesto de alto nivel. Sin embargo, esto podría no ser cierto para todas las empresas.

Aún tendrá que demostrar que sabe lo que hace. Tuve el mismo problema que tú. No pensé que estaba listo o con suficiente experiencia, y a veces todavía no lo hago.

Tenga en cuenta que todavía es solo un título, y la definición de ese título varía de una compañía a otra. No tenga miedo de solicitar ese tipo de trabajos, incluso si no está seguro. Lo peor que puede pasar es que no consigas el trabajo, lo que seguramente sucederá si ni siquiera lo intentas.

Ahora para mi opinión personal:

Creo que las habilidades / atributos más importantes que debe tener un desarrollador senior son:

Conocimiento de las mejores prácticas: Esto incluye cosas como patrones de diseño, buena disposición y arquitectura del proyecto de software y las mejores prácticas generales de todo el ciclo de vida de desarrollo de software.

Confianza en su capacidad de codificación: no piense en el título aquí. Solo necesita confianza en su capacidad de codificación, pero la humildad de admitir que no es el mejor.

Buenas habilidades de comunicación: creo que este es uno de los más importantes. He conocido bastantes desarrolladores senior que tienen problemas para explicar cosas usando conceptos simples. La capacidad de dividir un problema complejo en partes pequeñas y luego comunicarlas con otros desarrolladores o gerentes no tiene precio. Lo más probable es que tus compañeros de trabajo te busquen respuestas, y necesitarás buenas habilidades de comunicación para no dejar que se rasquen la cabeza.

Conocimiento y experiencia, capacidad de autogestión y resolución de problemas, capacidad de trabajar de forma independiente y como parte de un equipo, conocer las propias limitaciones y cuándo traer a otros, capacidad de dar y recibir instrucción, capacidad de entregar lo que el cliente quiere: no es lo que crees que deberían tener, habilidades de negociación, capacidad de presentar un contrato a tiempo y dentro del presupuesto, la capacidad de ver el panorama general del proyecto, no solo de tarea en tarea, la capacidad de ofrecer asistencia y aliento a colegas menos experimentados. y saber cuándo dejarlos ir solos …

Estas son solo algunas de las habilidades de nivel superior que un desarrollador senior de software necesita.

De todas las cosas que he leído sobre el tema, lo siguiente se destaca y fue muy popular en las noticias de piratas informáticos hace un tiempo.

Jabón de cocina – Sobre ser un ingeniero sénior

Te da todo lo que necesitas saber para llamarte uno mismo.

Por lo general, solo 5+ o 10+ años de experiencia, podrían variar dependiendo del puesto de trabajo y la compañía

More Interesting

¿Cómo desarrollan un producto los ingenieros de software?

¿Cuáles son las consideraciones clave antes de seleccionar una empresa de desarrollo de software?

¿Qué capacitación y cursos puede seguir un desarrollador de software para convertirse en emprendedor?

¿Cuál es la diferencia entre desarrolladores y probadores?

¿Prefieres hacer una programación competitiva (o) trabajar en tus propios proyectos (o) tomar algunos buenos cursos en Coursera para mejorar tus habilidades de codificación? ¿Por qué?

¿Cómo debo entrevistar a un desarrollador de software que es mejor que yo?

¿Vale la pena trabajar en una startup como desarrollador de software?

¿Cómo se desarrolla un software si no tienen experiencia en codificación?

¿Cuál es el alcance de trabajar como desarrollador de informática en la industria de TI?

Soy un programador de sofware. ¿Qué especializaciones de MBA puedo hacer que me hagan trabajar en la industria de TI pero en una posición gerencial?

Cómo conseguir un trabajo de desarrollador de software en Japón

Según mi horóscopo, ¿podré tener éxito como desarrollador de software, o existe la posibilidad de superar los mejores exámenes del gobierno?

¿Debo aceptar la oferta de desarrollador de software de $ 55k / año y trasladarme a FL, o esperar una mejor oferta en Nueva York, donde vivo actualmente?

¿Cuál es la diferencia entre un ingeniero de software y un codificador?

Como desarrollador de software, ¿alguna vez te has sentido desesperado y frustrado porque hay innumerables habilidades técnicas que no conoces?