NCM is the connector between brands and movie audiences. As America’s largest cinema advertising network, and the #1 Millennial weekend network in the U.S., NCM offers broad reach and unparalleled audience engagement, presenting our Noovie pre-show on over 21,100 screens in over 1,700 theaters. NCM Digital goes beyond the big screen, reaching entertainment audiences with exclusive content and ground-breaking apps like Noovie Arcade, Fantasy Movie League, and Noovie Shuffle.
The Lead Full-Stack Engineer will be responsible for leading API and data layer planning and development for use by digital products apps, services, and website. The Lead Full-Stack Engineer will interface with backend developers, frontend developers, operations team, designers, product managers, and others to collect requirements and define product needs.
Then, the Lead Full-Stack Engineer will be responsible for executing the development and build of the database layer components required for the Noovie ecosystem of apps, sites, and services for new and existing Noovie digital products including coding, vendor management, documentation, testing, and production support. Candidate will also assist in managing the Dev Ops team, training new resources, and participating in the career development required to help build and maintain a world class technology organization. The candidate will be working on a small team, so they will be expected to have familiarity with a broad scope of skills involved in development of a product. Must be self-motivated, flexible and willing to do whatever it takes to deliver on a deadline.
Essential duties and responsibilities may include, but are not limited to, the following:
Contribute quality, testable and maintainable code to the frontend and API layers.
Participate in larger architectural discussions and discuss viable implementations.
Review pull requests and uphold healthy code quality standards.
Mentor junior developers and engage in knowledge transfer.
Explain technical concepts in easy-to-understand terms to non-technical personnel.
Communicate and interface with project team members including but not limited to other database analysts, backend developers, technology operations, frontend developers, project management, technology architects, designers, product owners and managers, UX/UI specialists, and testers.
Manage sizing, scaling, and upgrades of production, staging, and other database systems including SQL, no SQL, and other database tools.
Manage high availability components of the database environment for proper scaling and availability requirements as dictated by the business
Collect and document requirements from a variety of sources including backend developers frontend developers, operations resources, and other project team members.
Ability to understand and disseminate requirements information from requirements documents into practical work instructions such as Jira tickets.
Ability to assist other resources such as Front and Backend Developers to understand requirements.
Understand and size data feeds and other data external data sources so that they may be consumed by the backend system as appropriate, as needs dictate, and as capabilities allow.
Analyze and provide suggestions to identify and improve database performance and usability. Focus on building scalable database solutions is a mandate.
Perform quality assurance in application testing, such as system, unit, regression, load, automated, and acceptance testing
Participate in and manage professional quality system and application testing processes including web and native applications. Ability to support complex multi-device testing scripts is required.
Design and execute scalability testing processes with both internal and vendor resources.
Ability to participate in the creation of test scripts and protocols
Estimate level of effort, evaluate new options of similar technology, and offer suggestions to improve processes
Provides recommendations for application and system improvements
Provide weekly, monthly, quarterly, and annual status reports suitable for inclusion in divisional status & review meetings
Development and maintenance of proof of concept and custom applications a plus
Solid understanding of object-oriented principles and design patterns.
Adept with REST APIs with Ruby on Rails and similar frameworks.
Strong skills in React and Redux.
Solid CSS skills using CSS pre-compilers (SCSS, LESS, etc.).
Solid understanding of relational data modeling and experience with MySQL, Postgres, or similar databases.
Understanding of and experience with digital advertising
Effective English language communications skills to both technical and non-technical audiences are required
Expert level experience designing and developing concurrent distributed applications operating on large clusters of machines.
Extensive knowledge of computer science fundamentals, including algorithms, and data structures.
Familiarity setting up caching layers and task queue.
Strong object oriented programming and modeling skills.
Experience maintaining and debugging large-scale distributed services.
Experience designing and building production APIs.
Expert at data modeling / db design with the ability to write efficient SQL queries with your eyes closed.
Enjoy writing well-tested, well-organized code.
Strong leadership and communication skills and ability to work well in a team. High attention to detail.
Must exhibit strong initiative and follow-through.
Ability to handle and prioritize multiple projects at once.
Ability to handle flexible workloads in a fast-paced environment.
Ability to work with both local and remote team members
Comfortable with managing change, deadline driven, proactive.
Ability to cross-train and document job responsibilities.
Experience and ability to work in a dynamic and collaborative team environment.
Knowledge of software design patterns.
Strong organizational skills.
Every team member of NCM is expected to understand and consistently demonstrate our following core values:
Passion for Movies
Experience and Training:
Any combination of the following experience and training (designated as required and/or preferred) that would provide the required knowledge and abilities is qualifying.
Experience: 5+ years in related multifunctional development and engineering roles
Minimum 4 years of experience as a Java and/or Scala backend engineer.
Strong Spring, Hibernate and Maven knowledge.
Expert level experience with Cassandra and/or Mongo.
Experience with building scalable server-side REST APIs with Ruby on Rails or similar frameworks.
Experience building front-end applications using React and Redux.
Experience using CSS pre-compilers (SCSS, LESS, etc.).
Experience with No-SQL databases such as MongoDB or Cassandra.
Expert level experience with relational databases like MySQL.
Experience with Docker.
Experience with AWS.
Experience with Apache Spark.
Experience with Jira, Confluence, and Slack a significant plus.
Experience with scaling systems (AWS/EC2, load-balancing) a plus.
Prior experience writing low-latency, high volume, fault tolerant systems is a big plus.
Experience operating and maintaining services running on Linux systems a plus.
Proficient using common linux tools which aid in debugging and running services a plus.
Experience with Druid a plus.
Devops experience (Docker, Chef, Puppet, Apache) a plus.
Continuous integration, build, and deployment experience.
Education: BS in Computer Science or a related field, or equivalent experience.
Licensure / Certification:
Google Analytics certification a plus.
AWS Solutions Architect or similar certification a plus
This job operates in a professional office environment. This role routinely uses standard office equipment such as computers, phones, photocopiers, and filing cabinets.
Occasional business travel is a requirement to perform this job. Business travel will be scheduled in advance and typically will be domestic lasting for a period of 1-5 days.
This job does involve work with computer screens.
Essential and marginal functions may require maintaining physical condition necessary for sitting for prolonged periods of time, etc.
To perform this job successfully, an individual must be able to perform each essential duty satisfactorily. Reasonable accommodations may be made to enable individuals with disabilities to perform the essential functions. To request an accommodation, please contact Human Resources at (303) 792-8899 or email: HR@ncm.com.
****Out-of-market applicants are welcome. Please be advised that NCM does not pay any relocation expenses****