Wir integrieren und erneuern die neuesten Ingenieurs-, Design- und Technologieprodukte in DJ-, Musikproduktions-, Pro-Audio-, Musikinstrumenten- und Unterhaltungselektronikprodukte. Unser Portfolio angesehener Marken ist breit gefächert und umfasst: Akai Professional, Alesis, Alto Professional, Denon DJ, Denon Professional, ION Audio, Marantz Professional, M-Audio, MixMeister, Moog, Rane, Numark und Sonivox. p>
Wen wir brauchen:
Wir suchen einen autonomen, kooperativen, vernünftigen, organisierten und pragmatischen Bauingenieur. Unser Traumkandidat „sorgt für die Lösung unserer Probleme“, verfügt über „Erfahrung im Build-Management, in Build-Tools und in der Leitung von Untersuchungen und Machbarkeitsstudien“.
Was Sie tun werden:< /p>
Unser Build Engineer ist für die Wartung der Build-Systeme für alle inMusic-Projekte verantwortlich. Wir berichten direkt an den Leiter der Softwareentwicklung. Unsere Build-Ingenieure verfügen über Hintergrundwissen zu allen relevanten Technologien, die von inMusic verwendet werden, und sind Experten für Build-Systeme, Continuous Integration (CI)-Systeme und automatisierte Produktbereitstellungsprozesse. Sie pflegen ein System für den Zustand der Codebasis mithilfe relevanter Tools, Metriken und Warnungen. Sie pflegen Bereitstellungs- und Freigabeprozesse für Produkte. Sie warten und verwalten CI-Systeme, während Sie gleichzeitig den Code in der Versionskontrolle und andere Entwicklungstools pflegen.
- Skalieren und warten Sie vorhandene Build-, CI- und Bereitstellungssysteme, sodass funktionierende, aktuelle Builds der inMusic-Software vorhanden sind für diejenigen verfügbar, die sie benötigen, und der Fortschritt in der Entwicklung wird nicht durch fehlerhafte Builds aufgehalten. Zu den Build-Systemen gehören:
- Behalten Sie eine stabile Konfiguration für das CI und die Pipeline bei, um die Qualität des Builds, die Leistung und die Projektqualität bei allen Projekten zu gewährleisten.
- Beginnen Sie mit der Suche nach Orten in Das CI und das Bereitstellungssystem sind reif für eine Verfeinerung und Verbesserung, damit wir beim Erstellen, Verpacken und Veröffentlichen von Dingen besser werden können.
- Analysieren und Einrichten neuer Build-Systeme; Erstellen und implementieren Sie neue Software-Build-, Test- und Bereitstellungstools.
- In diesem Sinne können wir die Entwicklungsteams unterstützen, von der Erstellung von Release Candidate-Builds bis hin zur Unterstützung bei der Verfolgung und Behebung von Problemen.
- Machen Sie es für alle unsere Teams so schnell, mühelos und nahtlos wie möglich, wenn wir erstellen, verpacken und veröffentlichen.
- Recherchieren und schlagen Sie Richtlinien vor, wie Sie die Qualität des Codes aufrechterhalten können, beispielsweise bei der Entwicklung von Code Metriken, Praktiken zur Durchführung von Codeüberprüfungen, Messung der Abdeckung und Verwendung statischer und dynamischer Analysen.
AnforderungenTechnische Anforderungen:
Kenntnisse in der Industrie -starke Software-Engineering-Praktiken für den gesamten Software-Entwicklungslebenszyklus, einschließlich Konzept, Initiierung, Planung, Anforderungsanalyse, Entwicklung, Tests, Bereitstellung, Support und Wartung.
- Tiefes Verständnis von Build-Systemen. li>
- Nachweisbare Erfahrung in CMake für mittlere bis große C/C++-Projekte.
- Vertrautheit mit der Entwicklung für macOS, Windows und Linux
- Jenkins-Verwaltung und Projekteinrichtung, einschließlich Jenkins-Pipeline Konfiguration.
- Erfahrung im Umgang mit großen KabeljauenEbases auf mehreren Plattformen.
- Windows/Linux-Shell-Skripting und Verwendung von Skriptsprachen (z. B. Python, JavaScript, Lua).
- Linux-Systemadministration.
- Gute Kenntnisse in Versionskontrollsystemen (einschließlich Git und SVN).
- Verständnis von GNU Make.
- Fähigkeit, in unserem Büro in Cambridge zu arbeiten (nach Bedarf), um Build-Maschinen zu verwalten.< /li>
Schön zu haben:
- Erfahrung mit Testautomatisierung im CI-Kontext.
- Arbeitserfahrung in einer agilen Entwicklungsumgebung.
- Yocto- oder Buildroot-Expertise.
- Gitlab-Integrationserfahrung.
- Erstellen von Paketen für Paketverwaltungssysteme (z. B. Conan).
- Vertrautheit mit Electron, JavaScript.
- Erstellung und Verwendung von Docker-Containern.
- Vertrautheit mit Jira und Confluence.
- Erfahrung in der Unterstützung einer Multi-Site-Entwicklung Organisation.
- Erfahrung mit der Evaluierung und Integration von Open Source und selbst entwickelten Toolsets.
- Vertrautheit mit der Integration statischer und dynamischer Code-Coverage-Tools.
- Ansible Kenntnisse.
Eigenschaften:
- Fähigkeit, mit Menschen aus anderen Teams als ihrem eigenen zu kommunizieren.
- Bereitschaft zur Zusammenarbeit über mehrere Disziplinen hinweg.
- Fähigkeit, konstruktives Feedback zu geben und zu erhalten, um eine kontinuierliche Verbesserung anzustreben.
- Gut darin, konkurrierende Anforderungen an Ihre Zeit zu bewältigen.
Qualifikationen:
- Bachelor-Abschluss in Informatik oder einem verwandten technischen Bereich.
- 2+ Jahre relevante Berufserfahrung