Engineering hiring

Our engineering team is primarily focused on developing the Avalonia framework, with some application development work. We have two distinct engineering tracks, each requiring different skill sets and experience.

Framework Engineers

These engineers work on Avalonia and Avalonia XPF, requiring:

Technical Requirements

  • Deep understanding of compiler design
  • Proficiency in C/C++
  • Knowledge of .NET IL and runtime optimisations
  • Experience with cross-platform development
  • Understanding of graphics pipelines and rendering

Additional Requirements

  • Active participation in the Avalonia open source community
  • History of meaningful contributions to Avalonia
  • Strong systems-level programming experience
  • Ability to work across multiple programming languages

Application Engineers

These engineers build applications using Avalonia, requiring:

Technical Requirements

  • Experience with WPF or Avalonia
  • Strong understanding of MVVM pattern
  • .NET development experience
  • UI/UX sensibilities
  • Application architecture skills

Interview Process

1. Initial Interview (20 minutes)

  • Discussion with Marlene
  • Overview of experience and background
  • Assessment of open source contributions (for framework roles)

2. Technical Interview (45 minutes)

  • In-depth technical discussion with Nikita (COO)
  • Discussion of architecture and design decisions from their previous work
  • Code review discussions based on their existing projects
  • No whiteboard coding or puzzles

3. Technical Project

We prefer to discuss their existing work (such as GitHub projects) that demonstrates relevant skills. However, if needed, we may request a take-home project:

For framework engineers:

  • Multi-language development task
  • Focus on performance and optimisation
  • System-level programming challenges

For application engineers:

  • Building a sample application
  • Implementation of MVVM patterns
  • UI/UX considerations

Key Requirements

Framework Engineers

  • Must demonstrate active community engagement
  • Experience with system-level programming
  • Can work on both framework and application development
  • Strong performance optimisation skills

Application Engineers

  • Focus on building user-facing applications
  • Strong MVVM implementation experience
  • UI/UX sensitivity
  • Note: Application engineers typically don't work on framework development

All Engineers

  • Comfort with public, written communication
  • Focus on practical skills over years of experience
  • Ability to explain technical decisions clearly
  • Collaborative approach to development

Our Promise

The process is designed to be straightforward and focused on meaningful technical discussion rather than arbitrary challenges. We should always be happy to make reasonable adjustments to our process to ensure the candidate can show their best work.