Samsung Ads is looking to add a Senior Software Developer – Go to our Engineering – Pacing team.

About the team

Our team is responsible for managing, growing and optimizing product access to high-quality programmatic ads supply to effectively, intelligently and safely satisfy demand. We handle more than a million bid requests per second and over one billion per day across multiple data centers. Our tech stack includes a mixture of Erlang, Go, C, Linux, Concourse, Docker and Kubernetes.

Eventual consistency in distributed systems is at the heart of what we do, you will get to work with it and see it in action. As a consequence, there will be opportunities to contribute to open source, conduct research and development, review code, participate in shaping our engineering practices and share knowledge. In addition, you will also have exposure to our ML engineers who work on optimization and prediction problems. This is a great opportunity to work alongside experienced, passionate software developers as part a team within a broader engineering organization with a strong technical culture. 

All of our employees are currently working remotely from home. In the future, this role will be fully remote based anywhere in Canada if you are outside of Montreal or hybrid based if you are located in Montreal or surrounding areas and will require a mix of working from our Montreal, QC office in downtown Montreal.

This role reports directly to one of our Engineering Managers. 

What you’ll do

As a Senior Developer – Go, you will be responsible for designing, building, deploying, and maintaining components in our distributed real-time bidding system, a system that gets a high volume of traffic. This involves measuring and tuning high-performance, low-latency (soft-real-time) systems while working towards improved robustness and correctness along with the following:

  • Maintain and improve existing services which includes actively trying to pay back technical debt and extending their functionality
  • Participate in the design, implementation and testing of new services
  • Investigate and fix performance issues throughout our systems which include our services, dependencies and kernel usage
  • Guide the direction of our technology stack to improve performance, scalability and maintainability
  • Mentor and grow the team through various channels (code review, talks, discussions, etc.)
  • Criticize and improve our development processes and methodologies
  • Contribute to open source software to improve our external dependencies
  • Flesh out and iterate on requirements in collaboration with the product team
  • Get involved in and participate actively in the Scrum ceremonies

What you will need

  • Minimum 5 years of experience as a full-time software developer
  • 3 years of experience in following languages: Go or C
  • Experience with linux OS; experience with linux kernel networking stack is an asset
  • Experience with distributed systems
  • Have a solid foundation in systems programming, computer science and software engineering
  • Collaborative spirit with a willingness to mentor others
  • Strong reading, written and verbal communication skills in English; French is an asset
  • Curious mind that enjoys building things and appreciating the craftsmanship in software
  • Interest in mentoring, guiding and teaching junior developers; previous experience as a lead with direct reports, an asset 

Nice to Haves (assets)

  • Knowledge of/or experience in designing and building high traffic distributed systems is a plus 
  • Appetite for learning:
    • system design and architecture
    • advanced data structures (succinct, probabilistic, multidimensional, et cetera)
    • mechanical sympathy, data-oriented design (performance)
    • functional programming
    • agile methodologies such as Scrum
  • You enjoy reading code, and you’re in the habit of reading the source for your dependencies 

 

Benefits

  • 100% company-paid comprehensive health & dental coverage (including massage and therapeutic care) as of Day 1. Access to an employee assistance program and a virtual care platform (wellness, medical & nutrition).
  • Personal spending account & Healthcare spending account with Sun Life Life that can offer you personalized perks like home office equipment, spa treatments, green living, fitness equipment, music streaming services and more!
  • Up to 2000$ reimbursed for Mental Health Care
  • Generous RRSP Matching Program up to 5% 
  • Competitive compensation package, including performance incentive bonus plan based on company, team and personal objectives
  • Minimum 21 days of paid time off 

Perks

  • Virtual social committee-lead activities such as monthly wine club night, games night as well as wellness initiatives like virtual yoga and meditation, art therapy, aromatherapy classes
  • Access to learning and development opportunities (your own LinkedIn Learning license, Pluralsight, professional development program, continuing education and more)
  • Officevibe – anonymous feedback from our teams to know how you’re really doing and keep you engaged
  • Onboarding framework which ensures you’re set up for success from Day 1 to Year 1. This also includes a buddy program (someone who will be there for you) from Day 1
  • Amazing discounts through Samsung Employee Discounts website and access to Perkopolis website with great rebates, coupons and promotions
  • Summer Fridays
  • Generous Employee Referral Program
  • Giving Back Program which includes donation matching & volunteering initiatives including one paid volunteer day

*certain benefits & perks apply to only full time permanent roles. Please ask TA for additional details.

 

Life at Samsung Ads

Samsung Ads is an advanced Advertising Technology Company in rapid growth that focuses on enabling brands to connect with Samsung TV audiences as they are exposed to digital media by using the industry’s most comprehensive data to build the world’s smartest connected audience platform. Being part of an international company such as Samsung and doing business around the world means that we get to work on big complex projects with stakeholders and teams located around the globe.

We are proud to have built a world-class organization, grounded in an entrepreneurial and collaborative spirit. Working at Samsung Ads offers one of the best environments in the industry to learn just how fast you can grow, how much you can achieve, and how good you can be. We thrive on problem-solving, breaking new ground, and enjoying every part of the journey.

Are you hesitant to submit an application because you’re not sure if you check every box? Apply anyway! We would love to hear from you and figure out what you can add to the culture here at Samsung Ads.

*Internal title is ‘Software Developer’*

***

Samsung Ads est à la recherche d’un Développeur Golang senior pour se joindre à son équipe – Pacing.

À propos de l’équipe

Notre équipe est responsable de la gestion, de la croissance et de l’optimisation de l’accès aux produits à une offre d’annonces programmatiques de haute qualité afin de répondre efficacement, intelligemment et en toute sécurité à la demande. Nous sommes chargés de traiter plus d’un million de demandes d’enchères par seconde et plus d’un milliard par jour dans plusieurs centres de données.

La cohérence éventuelle dans les systèmes distribués est au cœur de ce que nous faisons, vous pourrez travailler avec et le voir en action. En conséquence, il y aura des opportunités de contribuer au code source ouvert, de mener de la recherche et du développement, de réviser le code, de participer à l’élaboration de nos pratiques d’ingénierie et de partager nos connaissances. Vous serez également exposé à nos ingénieurs ML qui travaillent sur des problèmes d’optimisation et de prédiction.

Ce poste relève directement à un de nos directeurs de l’ingénierie.

Notre pile technologique comprend un mélange d’Erlang, Go, C, RUST, Linux, Concourse, Docker et Kubernetes.

Tous nos employés travaillent actuellement à distance depuis leur domicile. À l’avenir, ce poste sera entièrement basé à distance partout au Canada ou, si vous êtes situé à Montréal ou dans les environs, il sera hybride et nécessitera un mélange de travail à partir de notre bureau de Montréal, QC, et de travail à distance.

Ce que vous ferez

  • Maintenir et améliorer les services existants, notamment essayer activement de rembourser la dette technique et étendre leurs fonctionnalités
  • Participer à la conception, à la mise en œuvre et aux tests de nouveaux services
  • Examiner et résoudre les problèmes de performances sur l’ensemble de nos systèmes, notamment nos services, nos dépendances et l’utilisation du noyau
  • Guider la direction de notre pile technologique pour améliorer les performances, l’évolutivité et la maintenabilité
  • Encadrer et développer l’équipe à travers différents canaux (révision de code, discussions, discussions, etc.)
  • Critiquer et améliorer nos processus et méthodologies de développement
  • Contribuer aux logiciels à code source ouvert pour améliorer nos dépendances externes
  • Compléter et itérer sur les exigences en collaboration avec l’équipe produit
  • Vous impliquer et participer activement aux cérémonies Scrum

Ce dont vous avez besoin

  • 5 ans d’expérience en tant qu’ingénieur logiciel à temps plein
  • 3 ans d’expérience en programmation fonctionnelle dans Go ou C
  • Expérience avec des systèmes d’exploitation, en particulier la pile réseau du noyau Linux (linux kernel networking, un atout)
  • Connaissance ou expérience de la conception et de la construction de systèmes distribués à fort trafic 
  • Avoir une base solide en programmation de systèmes, en informatique et en génie logiciel
  • Excellentes compétences de communication en anglais écrit, parlé et lu; le français est un atout.
  • Une attitude motivée, vous aimez être impliqué dans l’élaboration de la vision, de la direction et des objectifs de notre équipe et veiller activement à l’exécution de nos engagements.
  • Intérêt et expérience dans le mentorat de membres plus juniors de l’équipe

Encore mieux si vous avez (atouts) :

  • La connaissance/ou l’expérience de la conception et de la construction de systèmes distribués à fort trafic est un atout.
  • Appétit pour l’apprentissage :
    • Conception et architecture du système;
    • Structures de données avancées (succinctes, probabilistes, multidimensionnelles, etc.);
    • Sympathie mécanique, conception orientée sur les données (performance);
    • Programmation fonctionnelle;
    • Méthodologies agiles telles que Scrum/Kanban;
    • Vous aimez lire du code, et vous avez l’habitude de lire la source de vos dépendances. 

 

Bénéfices

  • Couverture santé et dentaire complète payée à 100% par l’entreprise (incluant massages et soins thérapeutiques) dès le jour 1. Accès à un programme d’aide aux employés et à une plateforme de soins virtuels (bien-être, soins médicaux et nutrition)
  •  Compte de dépenses santé et compte de dépenses personnel avec SunLife offrant des avantages personnalisés tels que des fournitures pour votre bureau à la maison, des accès au spa, des produits écolos, des équipements d’entraînement, des services de musique et bien plus encore!
  • Des remboursements jusqu’à 2000$ pour soutenir la santé 
  • Contribution de l’employeur au REER collectif allant jusqu’à 5 %
  • Rémunération totale concurrentielle, y compris un bonus basé sur la performance de la compagnie, de l’équipe et l’atteinte d’objectifs personnels
  • Minimum de 21 jours de congé payés par année

Avantages

  • Activités mensuelles virtuelles dirigées par un comité social (soirées jeux de société, happy hours, défis santé, etc.).
  • Accès à plusieurs opportunités de développement et de formation: votre propre licence LinkedIn Learning, Pluralsight, un programme de développement et de formation continue, et bien plus encore.
  • Officevibe – rétroaction anonyme pour prendre le pouls de nos équipes et stimuler l’engagement.
  • Programme d’Onboarding structuré pour s’assurer le succès de nos employés dès leur premier jour, et ce, jusqu’à la fin de votre première année chez Samsung Ads. Ceci inclut un programme de jumelage avec un buddy (un collègue qui est là pour vous) dès le jour 1.
  • Rabais incroyables sur les produits Samsung via programme d’achat employé de Samsung et accès à Perkopolis proposant des rabais, des coupons et des promotions.
  • Horaires d’été.
  • Programme généreux de référencement d’employés.
  • Programme Redonner qui offre la chance de voir ses dons caritatifs égalés par Samsung Ads, diverses opportunités de bénévolat incluant une journée de bénévolat payée.

*certains avantages ne s’appliquent qu’aux rôles permanents. Demandez plus de détails à votre spécialiste en acquisition de talents.

La vie chez Samsung Ads

Samsung Ads est une entreprise de technologie publicitaire de pointe en forte croissance connectant les marques aux audiences de télévisions Samsung, en utilisant les données les plus avancées du secteur pour créer la plateforme d’audience connectée la plus intelligente au monde. Faire partie d’une entreprise internationale telle que Samsung signifie que nous travaillons sur des projets d’envergure avec des équipes passionnées partout  dans le monde.

Nous sommes fiers d’avoir bâti une organisation de renommée mondiale, fondée sur un esprit entrepreneurial et collaboratif. Travailler chez Samsung Ads offre l’un des meilleurs environnements de l’industrie pour apprendre à quelle vitesse vous pouvez grandir, ce que vous pouvez réaliser et à quel point vous pouvez être bon. Nous nous épanouissons dans la résolution de problèmes, en innovant et en profitant de chaque étape du voyage. 

Vous hésitez à soumettre votre candidature parce que vous n’êtes pas certain de cocher toutes les boîtes? On veut entendre parler de vous ! Nous aimerions prendre le temps ensemble de discuter comment vous pouvez contribuer à la culture chez Samsung Ads! 

*Le titre interne est ‘Développeur de logiciels’* 

Ready to make the jump?

Read our FAQ section to find the answers to your questions