¿Qué se supone que debe saber un ingeniero de software senior?

No se deje llevar demasiado por los títulos. "Ingeniero de Software Senior" es un título que se aplica a alguien con entre tres y 30 años de experiencia en programación. Ocasionalmente he visto que se aplica a personas con una experiencia mínima en programación, pero que son consideradas "personas inteligentes" y tienen el título para justificar su nivel de pago. Sin embargo, de las muchas empresas en las que he estado, la gente suele tener las siguientes expectativas de los ingenieros de software senior:

  • Tienes conocimientos avanzados de un lenguaje de programación importante.
  • Eres capaz de trabajar por tu cuenta. El síndrome del impostor ya no es debilitante.
  • Sabes cómo usar Google y Stativo para superar laas...
  • Puedes leer una especificación de API y aprender a a. You're not just coding "by example" anymore.
  • You know how to do a merge in source control.
  • You understand the value of tests.
  • You can write a build script.
  • You can code without breaking an architecture.
  • You're not afraid of using other technologies/languages as needed.
  • You can work well as a member of a software engineering team.
  • You know more than just the "waterfall" model of software development.
  • You're familiar with at least the basics of the Internet and the OSI model, object-oriented programming, and SQL.
  • You concur that vi is vastly superior to emacs.