Senior macOS Software Developer (Objective-C/Swift)
Cisco Meraki
Location: Remote - US only
Job Type: Full time
Posted
Depuis 10 ans, Meraki s’efforce de simplifier et de renforcer l’informatique. Une partie essentielle de la palette d’outils d’une équipe informatique consiste à rendre les réseaux intuitifs à configurer et à exploiter. Pour atteindre cet objectif, il est essentiel de simplifier l’univers de la gestion des périphériques mobiles, car notre monde devient de plus en plus mobile. Notre équipe de développement de gestionnaires de systèmes se consacre à la réalisation de cette simplification, en facilitant le contrôle des appareils au niveau de l’entreprise. Nous travaillons au sein d’une équipe réduite et légère et nous portons de nombreuses casquettes.
La culture de l’ingénierie chez Meraki est celle de l’innovation et de l’appropriation. Vous aurez un rôle important à jouer non seulement dans la mise au point de la technologie, mais aussi dans la définition de ce que nous devrions construire! En votre qualité d’ingénieur logiciel principal, vous travaillerez à la création d’applications qui facilitent la gestion, l’inventaire et la conformité aux stratégies pour les appareils Windows et Mac appartenant à l’entreprise ou à des particuliers. Ces applications comportent à la fois des fonctions orientées vers l’utilisateur et des services d’arrière-plan destinés à communiquer avec le cloud Meraki. Vous aurez donc l’occasion de travailler sur des algorithmes dorsaux à haute performance et des composants frontaux réutilisables. Le fruit de votre travail équipera des millions d’appareils et vous aurez la possibilité d’influencer les clients qui utilisent cet outil dans le monde entier.
En tant qu’ingénieur logiciel principal, poste de travail (MacOS), vous effectuerez les tâches suivantes :
- Maîtriser parfaitement l’application de bureau Systems Manager.
- Concevoir, développer, exploiter et maintenir des pans entiers de notre base de code Mac/Windows ainsi que les composants Web sur lesquels ils reposent.
- Maîtriser des fonctionnalités qui couvrent l’ensemble de notre pile technologique : de l’application fonctionnant sur les clients de bureau à l’interface web du tableau de bord.
- Intégrer des API tierces provenant de divers fournisseurs de plateformes (Google, Apple, Microsoft) qui seront utilisées par notre application de bureau ainsi que par des applications sur d'autres plateformes.
- Diriger la direction et la vision de la plateforme - vous utiliserez votre expertise pour prendre des décisions sur les outils et les technologies que nous utilisons.
- Encadrer les développeurs débutants sur les procédures optimales, les pièges les plus courants et les modèles de conception efficaces.
- Collaborer avec les équipes responsables des produits et des ventes afin de planifier et de créer de nouveaux outils et de nouvelles fonctionnalités pour Systems Manager.
Vous êtes un( e) candidat(e) idéal(e) si vous avez :
- Idéalement, au moins 4 à 6 ans d’expérience dans l’écriture d’un code professionnel destiné à être utilisé en production.
- Au moins 3 ans d’expérience avec les langages Objective-C ou Swift.
- Une expérience de travail sur des systèmes en production
- Une compréhension approfondie des primitives de filtrage de bas niveau et des sujets liés à la concurrence.
- Une compréhension avérée des protocoles réseau
- Excellentes habiletés de communication et de présentation
- Vous n’avez pas peur de retrousser vos manches et de travailler à tous les niveaux de la pile.
Atouts :
- Une expérience du langage C++ ou C.
- Une connaissance de la création d’applications de bureau à l’aide de Win32 ou du cadre .NET.
- Une familiarité avec les solutions MDM/EMM.
- Une expérience dans le remaniement de grandes bases de code.
- Une expérience de travail sur des applications Web à grande échelle reposant sur un cadre moderne.
Chez Cisco Meraki, nous défions le statu quo grâce à la puissance de la diversité, de l’inclusion et de la collaboration. Lorsque nous mettons en relation des points de vue différents, nous sommes en mesure d’envisager de nouvelles possibilités, de stimuler l’innovation et de révéler le plein potentiel de nos employés. Nous créons une expérience pour les employés qui inclut l’acceptation, l’appartenance, la croissance et des objectifs pour tous.
For the past 10 years, Meraki has had a unique focus on making IT simple yet powerful. A key part of an IT team's toolbox is making networks intuitive to set up and operate. Crucial to achieving this goal is simplifying the world of Mobile Device Management as our world becomes an increasingly mobile place. Our Systems Manager development team is dedicated to achieving this simplicity by facilitating the control of devices at an enterprise level. We work as a small and lean team and wear many hats.
Meraki’s engineering culture is one of innovation and ownership. You will have a strong hand in not just building the technology but also defining what we should be building! As a Senior Software Engineer, you will work on building apps that facilitate the management, inventory, and policy compliance for company and personally owned Windows and Mac devices. These apps have both user-facing features and background services to talk to the Meraki cloud, so you will have the opportunity to work anywhere from high-performance backend algorithms to reusable front-end components. Your work will run on millions of devices and you will have the ownership to impact customers who touch this tool globally.
As a Senior Software Engineer, Desktop (macOS) you will:
- Have large ownership of the Systems Manager desktop application.
- Design, develop, own, and maintain large areas of our Mac/Windows codebase along with the web components they rely on.
- Own features that span our entire technology stack: from the application running on desktop clients to the web interface on Dashboard.
- Integrate third-party APIs from various platform vendors (Google, Apple, Microsoft) that will be used by our desktop application as well as apps on other platforms.
- Lead the direction and vision of the platform - you will use your expertise to make decisions on what tools and technologies we use.
- Mentor junior developers on best procedures, common pitfalls, and good design patterns.
- Collaborate with product and sales teams to plan and build new Systems Manager tools and features.
You are an ideal candidate if you have:
- Ideally 4-6+years of experience writing professional production code
- macOS development experience
- 3+ years of experience with Objective-C or Swift
- Experience working on production systems
- A solid understanding of low-level threading primitives and concurrency topics
- A demonstrated understanding of networking protocols
- Excellent communication and presentation skills
- Aren’t afraid of rolling your sleeves up and working in all layers of the stack
Bonus points for experience with the following:
- Experience with C++ or C
- Familiarity with building desktop applications using Win32 or the .NET framework
- Familiarity with MDM/EMM solutions
- Experienced in refactoring large code bases
- You have experience working with large-scale web applications using a modern framework
At Cisco Meraki, we’re challenging the status quo with the power of diversity, inclusion, and collaboration. When we connect different perspectives, we can imagine new possibilities, inspire innovation, and release the full potential of our people. We’re building an employee experience that includes appreciation, belonging, growth, and purpose for everyone.
Cisco is an Affirmative Action and Equal Opportunity Employer and all qualified applicants will receive consideration for employment without regard to race, color, religion, gender, sexual orientation, national origin, genetic information, age, disability, veteran status, or any other legally protected basis. Cisco will consider for employment, on a case by case basis, qualified applicants with arrest and conviction records.
Compensation Range: 112,900 USD - 217,800 USD
Message to applicants applying to work in the U.S.: When available, the salary range posted for this position reflects the projected hiring range for new hire salaries in U.S. locations. For non-sales roles, the hiring ranges reflect base salary and do not include bonuses, equity, or benefits. Hiring ranges for sales positions include base and incentive target, and do not include equity or benefits. Individual pay is determined by the candidate's hiring location and additional factors, including but not limited to skillset, experience, and relevant education, certifications or training. Applicants may not be eligible for the full salary range based on their U.S. hiring location. The recruiter can share more details about compensation for the role in your location during the hiring process.