Senior Software Developer, Programmable Platform

    • Montreal, Canada

Senior Software Developer,Programmable Platform

AppNexus’ mission is to build a better Internet. We develop a technology platform that powers the real-time sale and purchase of digital advertising. Our platform is engineered to provide one of the fastest, most reliable, and massively scaled advertising systems in the industry.

About the team:

The programmable platform team is a full stack team that builds and operates the software components that allows client to define and execute custom business logic and machine learning models on the AppNexus real time bidding infrastructure. We develop customer facing APIs, domain specific languages, compilers and bytecode interpreters that must execute custom algorithms within real-time constraints. We work extensively with the product team and UI engineers to build the most customizable online advertising platform. We collaborate with data science teams (including our own) in order to develop the best tools to run predictive models in production.

About the job:

  • Design and implement features and enhancements to the programmable platform APIs and languages.
  • Contribute high-quality code to multiple software projects in a variety of platforms and languages, primarily Node, Python, and C.
  • Maintain and operate multiple services and components of a distributed application.
  • Collaborate with a variety of stakeholders and teams such as UI engineering, product, data science and customers engineering teams.
  • Share your knowledge, guide and mentor other engineers.
  • Consistently look for ways to optimize and improve our systems.

About your skills:

  • 6+ years of experience working as a professional software developer.
  • Experience building and operating production distributed systems and services.
  • Experience providing mentorship and guidance, including code reviews, training, and feedback.
  • Excellent Computer Science fundamentals with regards to data structures, algorithms, time complexity, etc.
  • Proficiency in multiple scripting and programming languages, and proven ability to pick up new languages.
  • Strong understanding of large scale distributed data processing.
  • Strong focus on code quality and testing.

Good to have:

  • Experience building large scale distributed systems.
  • Experience with C or C++.
  • Experience in low-level systems engineering.
  • Experience in compiler development and optimization.
  • Experience with Docker and Kubernetes.
  • Familiarity with functional programming.
  • Knowledge of static analysis and formal verification.
  • Marked Interest in learning any of the previous.

About you:

  • You are passionate about learning and teaching.
  • You love challenging yourself to constantly improve and sharing your knowledge to empower others.
  • You look beyond the surface to understand root causes so that you can build long-term solutions for the whole ecosystem.
  • You are not satisfied with the status quo and are always looking to improve how things are done and what is built.

Learn. Teach. Build.

AppNexians make greatness happen

Join our community

AppNexus is proud to offer equal opportunity in all aspects of employment. We strive to foster a diverse, inclusive and engaging work environment. We welcome applications from all candidates and look forward to receiving yours. Our diversity in action:

Back to top