Staff Engineer

Canonical
Dubai
Remote
AED 120,000 - 200,000
Job description
Roles and responsibilities
  • Lead design and architecture of an impactful open source project
  • Code in Golang, Rust, Python, C/C++ or Typescript / React
  • Collaborate proactively with a globally distributed team
  • Mentor, develop and advise colleagues in their career progression
  • Display technical leadership in Canonical and our communities
  • Debug issues and produce high-quality code to fix them
  • Contribute to technical documentation with the aim to make it the best of its kind
  • Work from home with global travel twice annually for company events

What we are looking for in you

  • An exceptional academic track record from both high school and university
  • Undergraduate degree in Computer Science or STEM, or a compelling narrative about your alternative path
  • Drive and a track record of going above-and-beyond expectations
  • Technical leadership as well as team motivation, direction and pace
  • Well-organised, self-starting and able to deliver to schedule
  • Professional manner interacting with colleagues, partners, and community
  • Deep experience with at least one of Go, Rust, Python or C
  • Subject matter expertise in your engineering domain
  • Conscientiousness and detail orientation, with a focus on performance
  • Professional written and spoken English
  • Experience with Linux (Debian or Ubuntu preferred)
  • Excellent interpersonal skills, curiosity, flexibility, and accountability
  • Passion, thoughtfulness, and self-motivation
  • Excellent communication and presentation skills
  • Result-oriented, with a personal drive to meet commitments
  • Ability to travel twice a year, for company events up to two weeks each

Additional Skills That You Might Also Bring

  • Experience with container technologies such as LXD, Docker and Kubernetes
  • Experience with highly concurrent, distributed systems
  • Experience with embedded systems
  • Performance engineering – from kernel to web – benchmarks, optimisation
  • Experience with software security – fuzzing, tabletop threat models, analysis, audit
  • Experience build systems and toolchains, including for cross-compilation
  • Experience with public clouds or OpenStack
  • Experience with Debian/Ubuntu packaging
  • Experience with systems programming or scalable web services
  • Deep quality and test engineering
  • Web or Flutter front-end experience
  • REST and gRPC API experience
  • SQL and NoSQL data store expertise

Desired candidate profile

1. Technical Leadership

  • Complex Problem Solving: Lead the solution of difficult technical problems by applying in-depth knowledge of the technology stack and domain. Take ownership of critical technical challenges and help the team navigate complex scenarios.
  • Architecture and Design: Contribute to and sometimes lead the design of software architectures and technical solutions. Ensure that designs are scalable, maintainable, and aligned with the company’s long-term goals.
  • Code Quality and Best Practices: Set high standards for coding practices and ensure the codebase remains clean, efficient, and well-tested. Advocate for best practices in software engineering, such as design patterns, testing strategies, and performance optimization.
  • Technical Decision Making: Influence technical decisions across the team and organization. Evaluate different approaches and technologies to select the most suitable ones for the given challenges.

2. Mentorship and Knowledge Sharing

  • Mentoring Junior Engineers: Provide mentorship to junior and mid-level engineers. Help them develop their skills and grow in their careers. Review their work, provide feedback, and help them learn from mistakes.
  • Cross-team Collaboration: Work closely with engineers from other teams (e.g., product, QA, DevOps) to ensure alignment and consistency in software development across the organization.
  • Knowledge Sharing: Act as a technical resource for the team by sharing knowledge through documentation, internal presentations, and code reviews. Promote a culture of continuous learning and improvement.

3. Ownership of Key Systems and Features

  • End-to-End Ownership: Take ownership of significant parts of the product, from design and development through to deployment and maintenance. This may involve leading large technical initiatives or projects that impact multiple teams.
  • Collaboration with Product Managers: Work closely with product managers to understand business requirements, ensure technical feasibility, and prioritize work. Translate business needs into technical solutions.
  • System Reliability and Performance: Monitor and optimize the performance of the systems you own. Focus on scalability, reliability, and efficiency, and ensure that any critical issues are addressed quickly.

4. Innovation and Improvement

  • Driving Innovation: Stay up-to-date with the latest industry trends and emerging technologies. Propose and implement new tools, technologies, and frameworks that can improve the team’s productivity or product performance.
  • Process Improvement: Contribute to process improvements, such as refining the development workflow, adopting new tools, or enhancing the CI/CD pipeline to speed up delivery without sacrificing quality.

5. Cross-Functional Communication

  • Clear Communication: Communicate technical concepts clearly to both technical and non-technical stakeholders. This includes explaining complex technical challenges, offering solutions, and providing updates on progress.
  • Collaboration with Leadership: Work closely with engineering managers, architects, and other senior engineers to ensure technical direction aligns with business goals and overall company strategy.
Get a free, confidential resume review.
Select file or drag and drop it
Avatar
Free online coaching
Improve your chances of getting that interview invitation!
Be the first to explore new Staff Engineer jobs in Dubai