Ne vous fiez pas trop aux titres. "Ingénieur logiciel senior" est un titre qui est appliqué à quelqu'un qui a entre trois et trente ans d'expérience en programmation. J'ai parfois vu ce titre appliqué à des personnes ayant une expérience minimale de la programmation, mais qui sont considérées comme des "personnes intelligentes" et ont le titre pour justifier leur niveau de rémunération. Cependant, d'après les nombreuses entreprises dans lesquelles j'ai travaillé, les gens ont généralement les attentes suivantes envers les ingénieurs logiciels seniors :
- Vous avez une connaissance avancée d'un langage de programmation majeur.
- Vous'êtes capable de travailler seul. Le syndrome de l'imposteur n'est plus débilitant.
- Vous savez comment utiliser Google et StackOverflow pour surmonter la plupart des obstacles.
- Vous pouvez lire une spécification d'API et apprendre à l'utiliser efficacement. 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.