Software Architect

Il y a 4 heures

Ghent, Flanders, Belgique Octave Temps plein

Overview

Octave BricsCAD is a global technology company creating innovative Computer Aided Design software for worldwide markets. Our products enable the world’s most innovative companies to streamline complex design workflows every day. Our people are active in 80 countries, and our software is available in fifteen languages. We offer innovative solutions for 2D drafting, 3D direct modeling, manufacturing (e.g., sheet metal), surveying, and building (BIM) design. Octave BricsCAD powers an ecosystem of over 1,200 market-specific applications through our developer program. Our focus is to deliver reliable software with friendly licensing, and industry-leading direct support - all at a fair price. We are looking for an experienced C++ software engineer to take up the role of Software Architect, to help us prepare the code architecture of BricsCAD and its verticals for the future. In this role, you’ll contribute full-time to a more modular, well-documented and maintainable architecture of repositories, subsystems and modules with clearly defined dependencies between them. The requirements for this role are both deep-technical, and with a large focus on cross-team communication and stakeholder management. You’ll work horizontally, across the global BricsCAD R&D organization, and report directly into the Head of BricsCAD R&D, as such, acting as the technical arm of the BricsCAD R&D management team. You will lead our cross-team BricsCAD Architecture Coordination Committee, where you’ll directly collaborate with 5 senior technical leads and managers across BricsCAD R&D. Together, you’ll define a future-proof code architecture, identify gaps, develop strategies and coordinate across teams to close those gaps.

Software Architect

Responsibilities

  • You function as a key contributor to the architectural design of new product areas or major enhancement to the existing BricsCAD product.
  • You help incrementally improve the overall BricsCAD codebase by collaboratively finding architectural hotspots and pain points and proposing solutions and plans that reduce technical debt.
  • You collaborate closely with R&D management and software engineers across the BricsCAD R&D teams to ensure adherence to the product architecture. This could mean coordinating a technical debt/code-architectural refactoring across developers in different teams or supporting developers in other teams who are performing a refactoring.
  • You are not afraid to roll up your own sleeves to perform important, central architectural refactoring work yourself, when it falls outside the scope or planning of the established R&D teams.
  • You own our code-architectural documentation, which includes revising existing documentation or creating new documentation when it doesn’t exist yet, to formalize important architectural know-how for all developers.
  • You will be involved during our half-yearly roadmap planning cycle, to support the R&D teams to assess the architectural impact of new features or technologies.
  • You act as a partner to Product Management in early discovery and feasibility validations of different product offerings, such as a headless CAD engine, dedicated CAD services that can run in the cloud, or integration with the Octave Platform.
  • You work within a highly collaborative culture where (technical) decisions are not made from an ivory tower. You work closely with other senior engineers, managers and teams. Your role is to unblock and move things forwards, while always being on the look for buy-in and consensus.

Education / Qualifications

  • BSc, MSc or PhD in Computer Science, Engineering, or other (applied) sciences (or you can prove you are at this level in some other way).
  • 7+ years professional experience (or equivalent by showing relevant personal/student work) with C++ (at least C++11).
  • 2+ years experience in senior engineering or software architecture roles, with a proven track record of cross-team collaboration and stakeholder management.
  • Ability to design and develop complex software.
  • Ability to quickly read and understand existing (legacy) code. Ability to see the general structure of large pieces of code and relationships between different building blocks, and a passionate willingness to refactor and improve the code at the highest level.
  • Ability to realistically plan your own work and work independently and reliably.
  • Ability to realistically plan and project-manage work of other developers in other teams, according to their skill level and other priorities of the team.
  • Excellent written communication skills, and the ability to capture a complex code system in simple visual diagrams or understandable written explanations.
  • Excellent oral communication, ability to interact with different stakeholders – from your peer members of the code architecture team t