At IMG.LY, we have simple criteria for our internal titles for a certain job. For each job, we define different stages from beginner to lead roles.
We are aware that not everyone will fit each and every requirement for a stage, however, this guide should help in understanding our work. Our mentality is hands-on and we believe that theory without building something only gets you so far. We iterate, refactor, and rebuild whenever necessary without losing focus of our bigger goal: “Building great products for us and our customers”.

Junior Software Engineer

  • Needs supervision and back and forth review before finishing a feature/task.
  • Works on tightly scoped and straight forward features.
  • Has a basic understanding of architectural patterns.
  • Uses basic features of programming languages but advanced features have still to be mastered.
  • Has usually less than two years of experience in professional software development.

Software Engineer

  • Can work alone on a feature but needs occasional review loopback cycles from a senior.
  • Can apply common architectural patterns in new environments.
  • Works mostly on clearly defined features.
  • Feels responsible for software quality and helps maintain high standards.
  • Has usually between 2 to 4 years of experience in professional software development.

Senior Software Engineer

  • Can provide helpful and informative feedback to other Team members.
  • Can work on vaguely defined features and helps to refine those features with fellow designers and engineers.
  • Can work in complete autonomy as a sole engineer if necessary on a feature from ideation, over definition to full implementation with the help of a designer, and no further input.
  • Has a deep expertise in at least a minimum of one programming environment.
  • Has an understanding of architectural patterns and can apply them on a per need basis.
  • Feels responsible for software, design, and product quality alike and enforces high standards.
  • Has usually between 4 to 8 years of experience in professional software development.

Lead Software Engineer

  • Can work completely independently and autonomously with no need of any kind of supervision.
  • Helps and supports fellow software engineers to get to work.
  • Can work on a large chunk of features or complete software application without any kind of supervision.
  • Is capable of executing projects across multiple domains.
  • Can manage a team of engineers.
  • Helps set new standards and introduce new technologies at img.ly.
  • Has deep knowledge and experience in multiple programming environments.
  • Has usually between 8 to 12 years of experience in professional software development.
  • Is an evangelist of his and IMG.LY’s work.

Chief Software Engineer

  • Is able to set the direction of the entire department, software and product-wise.
  • Has always a good oversight of cutting-edge technologies and knows when to introduce them beneficially.
  • Can manage multiple teams of engineers.
  • Can design, concept, build, and maintain novel software while maintaining and enforcing our standards.
  • Has usually plus 8 years of experience in professional software development.
  • Is an evangelist of his and img.ly’s work and shares knowledge at conferences, meetups, social media, and so forth.