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.