Work In Tech

Find your next role at Canada's fastest-growing tech companies

Senior Software Engineer, Full stack, App Studio



Software Engineering
Canada · Remote
Posted on Tuesday, December 5, 2023

Plotly is a leading innovator in data visualization and analytics, specializing in empowering organizations to make data-driven decisions. Our flagship product, Dash Enterprise, is revolutionizing the way businesses interact with and harness their data. We are currently seeking a highly skilled and motivated Software Development Engineer to join our App Studio team and contribute to the conversion of Jupyter notebook-based applications into efficient and interactive Dash applications.

As a Software Development Engineer on the App Studio team, you will play a key role in transforming Jupyter notebook applications into streamlined and dynamic Dash applications. You will leverage your expertise in Python automation and Abstract Syntax Tree (AST) manipulation to enhance the functionality, usability, and performance of these applications, contributing to our commitment to delivering cutting-edge solutions for data scientists. Your contributions will help us in achieving our mission of low/no code experience for Dash Enterprise Users.

The technologies you will be working with include but may not be limited to:

  • Python
  • JavaScript/TypeScript
  • React
  • Kubernetes for infrastructure orchestration
  • Cloud Providers: AWS, Azure, GCP (consumer and enterprise-level solutions)

Core job responsibilities:

  • Lead the conversion process of Jupyter notebooks to Dash applications and first-class Jupyter Notebook experience in Dash Enterprise workspaces/IDE
  • Design, develop, test, and maintain automated Python code to enhance the robustness and scalability of the Dash applications.
  • Utilize Abstract Syntax Tree (AST) manipulation techniques to optimize and automate the conversion process to ensure accurate and efficient transformation of Jupyter notebook logic into Dash application structures (low/no code experience)
  • Collaborate closely with UX/UI designers, product managers, and other software engineers to ensure a cohesive and user-friendly Dash application experience.
  • Participate in code reviews, emphasizing the effective use of AST in the conversion process.
  • Identify and address performance bottlenecks in the converted Dash applications, employing AST-based optimizations to ensure optimal responsiveness and user experience.
  • Own seamless integration of new features/products in Dash Enterprise platform
  • Stay up-to-date with industry trends and emerging technologies, continuously seeking opportunities to enhance our platform.

Job requirements:

  • Bachelor's degree in Computer Science, Engineering, or a related field with a 5 years of relevant experience
  • 7+ years proven experience as a Full Stack Engineer, with expertise in Python, JavaScript, TypeScript, and React.
  • Experience with computational notebooks like Jupyter, Mathematica, Observable
  • Experience with automated code generation and transformation using AST.
  • Familiarity with data visualization libraries and concepts is a plus.
  • Demonstrable track record of success in a technical engineering role, including clear demonstration of contribution and delivery in a product-centric environment.
  • Ability to work efficiently and effectively in a Remote-first environment.
  • Desire and ability to work in a fast paced dynamic environment, learn new technologies and platforms, and be comfortable with troubleshooting complex technical issues.
  • Strong communication and interpersonal skills with the ability to explain complex technical concepts to non-technical stakeholders.
  • Strong problem-solving skills and the ability to work effectively in a collaborative team environment.
  • Dedication to writing clean, maintainable, and efficient code.


  • Experience with GraphQL, NestJS, Kubernetes, CI/Github Actions, Docker

Don’t meet all the requirements, but you feel you would be a great fit to our plot-legion? Don’t hesitate to apply!

What you can expect from us:

Health & Wellbeing

  • Comprehensive health coverage
  • Generous PTO
  • Parental leave top-up program

Growth & Future

  • Stock options for all full-time employees
  • Learning & development program
  • Work alongside a dedicated team

Flexibility & Community

Why Plotly?

Unleash your creativity and shape the future of data analytics!

Founded by innovators and driven by our community of users and customers, we eagerly tackle every challenge, from crafting state-of-the-art UI for seamless data interaction to optimizing our graphing libraries and services for highly reliable performance. Our journey has only begun!

We are a tight-knit and quickly growing team where each member can make an immediate, meaningful impact. We take on complex problems, work hard, and are firm believers in the open-source mission. At Plotly, you'll work alongside a diverse team of first-class engineers, developers, scientists, and builders that challenge the status quo and set a high bar. We encourage each member of our team to explore and expand their skill sets continually, and to approach every problem with curiosity and an open mind. Together, we make it possible for people everywhere to share data and insights that make real impacts in business and around the world.

Plotly is an equal-opportunity employer and does not discriminate on the basis of race, religion, color, sex, gender identity, sexual orientation, age, non-disqualifying physical or mental disability, national origin, veteran status, or any other basis covered by appropriate law. If you require any accommodations, please let us know during the application process.

Ingénieur Logiciel Senior, Full Stack, App Studio

Plotly est un innovateur de premier plan dans le domaine de la visualisation des données et de l'analyse, spécialisé dans l'autonomisation des organisations pour prendre des décisions fondées sur les données. Notre produit phare, Dash Enterprise, révolutionne la façon dont les entreprises interagissent avec leurs données et les exploitent. Nous recherchons actuellement un ingénieur en développement logiciel hautement qualifié et motivé pour rejoindre notre équipe App Studio et contribuer à la conversion des applications basées sur les notebooks Jupyter en applications Dash efficaces et interactives.

En tant qu'ingénieur en développement logiciel au sein de l'équipe App Studio, vous jouerez un rôle clé dans la transformation des applications Jupyter notebook en applications Dash optimiséeset dynamiques. Vous mettrez à profit votre expertise en automatisation Python et en manipulation d'arbres syntaxiques abstraits (ASA) pour améliorer la fonctionnalité, la convivialité et la performance de ces applications, contribuant ainsi à notre engagement à fournir des solutions de pointe pour les scientifiques des données. Vos contributions nous aideront à réaliser notre mission, qui consiste à offrir aux utilisateurs de Dash Enterprise une expérience avec peu ou pas de code.

Les technologies avec lesquelles vous travaillerez sont notamment les suivantes:

  • Python
  • JavaScript/TypeScript
  • React
  • Kubernetes pour l'orchestration de l'infrastructure
  • Fournisseurs de cloud : AWS, Azure, GCP (solutions grand public et d'entreprise)

Principales responsabilités:

  • Diriger le processus de conversion des carnets Jupyter en applications Dash et offrir une expérience de premier ordre des carnets Jupyter dans les espaces de travail Dash Enterprise/IDE.
  • Concevoir, développer, tester et maintenir un code Python automatisé pour améliorer la robustesse et l'évolutivité des applications Dash.
  • Utiliser les techniques de manipulation de l'arbre syntaxique abstrait (ASA) pour optimiser et automatiser le processus de conversion afin d'assurer une transformation précise et efficace de la logique du notebook Jupyter en structures d'application Dash (expérience avec peu ou pas de code).
  • Collaborer étroitement avec les concepteurs UX/UI, les gestionnaires de produits et d'autres ingénieurs logiciels pour assurer une expérience cohérente et conviviale de l'application Dash.
  • Participer aux revues de code, en mettant l'accent sur l'utilisation efficace de l'ASA dans le processus de conversion.
  • Identifier et traiter les goulets d'étranglement dans les applications Dash converties, en utilisant des optimisations basées sur ASApour garantir une réactivité et une expérience utilisateur optimales.
  • Assurer l'intégration transparente des nouvelles fonctionnalités et des nouveaux produits dans la plateforme Dash Enterprise.
  • Se tenir au courant des tendances de l'industrie et des technologies émergentes, en recherchant continuellement des opportunités d'amélioration de notre plateforme.

Exigences du poste:

  • Baccalauréat en informatique, en ingénierie ou dans un domaine connexe avec 5 ans d'expérience pertinente.
  • 7+ années d'expérience prouvée en tant qu'ingénieur Full Stack, avec une expertise en Python, JavaScript, TypeScript et React.
  • Expérience avec des carnets de calcul comme Jupyter, Mathematica, Observable.
  • Expérience de la génération et de la transformation automatisées de code à l'aide d'ASA.
  • La familiarité avec les bibliothèques et les concepts de visualisation de données est un plus.
  • Expérience démontrée de réussite dans un rôle d'ingénieur technique, y compris une démonstration claire de la contribution et de la livraison dans un environnement centré sur le produit.
  • Capacité à travailler efficacement dans un environnement où la priorité est donnée à le travail à distance.
  • Désir et capacité de travailler dans un environnement dynamique et rapide, d'apprendre de nouvelles technologies et plateformes, et d'être à l'aise avec la résolution de problèmes techniques complexes.
  • Solides compétences en matière de communication et de relations interpersonnelles, avec la capacité d'expliquer des concepts techniques complexes à des parties prenantes non techniques.
  • Solides compétences en matière de résolution de problèmes et capacité à travailler efficacement dans un environnement d'équipe collaboratif.
  • Vous avez à cœur d'écrire un code propre, facile à maintenir et efficace.


  • Expérience avec GraphQL, NestJS, Kubernetes, CI/Github Actions, Docker

Vous ne répondez pas à toutes les exigences, mais vous pensez que vous seriez un bon candidat ? N'hésitez pas à poser votre candidature!

Ce que vous pouvez attendre de nous:

Santé et bien-être

  • Couverture santé complète
  • Temps libre rémunéré généreux et horaires de travail flexibles
  • Programme de complément de congé parental

Croissance et avenir

  • Options d'achat d'actions pour tous les employés à temps plein
  • Programme d'apprentissage et de développement
  • Travailler avec une équipe dévouée

Flexibilité et communauté

Pourquoi Plotly?

Libérez votre créativité et façonnez l'avenir de l'analyse des données!

Fondé par des innovateurs et guidé par notre communauté d'utilisateurs et de clients, nous sommes impatients de relever chaque défi, de la conception d'une interface utilisateur pour une interaction transparente avec les données à l'optimisation de nos bibliothèques de graphiques et de nos services pour une performance hautement fiable. Notre voyage ne fait que commencer !

Nous sommes une équipe soudée et en pleine croissance où chaque membre peut avoir un impact immédiat et significatif. Nous nous attaquons à des problèmes complexes, nous travaillons dur et nous croyons fermement en la mission de l'open-source. Chez Plotly, vous travaillerez aux côtés d'une équipe diversifiée d'ingénieurs, de développeurs, de scientifiques et de créateurs de premier ordre qui remettent en question le statu quo et placent la barre très haut. Nous encourageons chaque membre de notre équipe à explorer et à élargir continuellement ses compétences, et à aborder chaque problème avec curiosité et ouverture d'esprit. Ensemble, nous rendons possible le partage de données et d'informations qui ont un impact réel sur les entreprises et le monde entier.