Overview

Yes, we have a jingle. Go on – sing it….

Hummable though it is, we couldn’t survive on a jingle alone. What customers love about Moonpig is the vast range of card designs, some funny, some sentimental, some beautiful, some risqué, some downright peculiar, that allow them to both express themselves and show they care.

Our mission is simple; Inspiring people to celebrate life’s journey by creating brilliant moments.

About Moonpig’s Technology

Moonpig is unique. Our technology platform reflects that uniqueness, and the development team owns and develops our entire platform, from the web front end and mobile applications we offer to customers through our API and platform layers to our back-end order management and production capabilities.  We make heavy use of HTML5, JavaScript, CSS3, .NET, and use a combination of traditional physical machines and cloud-based instances to power our platform.

While we’ve grown out of our start-up roots, Moonpig prides itself on its innovation, and we hire only world-class engineers who can actively contribute to the evolution of our platform. We expect and encourage a real passion for breaking new ground, and cherish an entrepreneurial spirit. We’re a young, evolving business where our engineers are encouraged to think big, be creative and, through strong technical ideas, create elegant solutions that deliver a lasting impact for our customers worldwide.  With that in mind, all of our engineers are expected to show an ability to collaborate with product owners to influence product development and roadmaps.

As we evolved as a business, Moonpig’s technology platform has grown to become an exciting and extremely fast-moving, quality-oriented development culture. We’ve already embraced Agile methodologies, and are striving towards continuous deployment and a devops way of working for all of our engineering teams. We’ll be making more and more use of cloud platforms such as Azure and AWS to allow us to move more quickly to deliver solutions to our customers for the business in ways that work first time and allow a fast-growing business to continue to scale.

Who are we looking for?

This is an exciting opportunity for a front end developer working on Moonpig’s ambitious development roadmap. We are looking for a talented front end developer to modify and support our website and user interfaces across all channels.

At Moonpig, our software engineers are responsible for designing, developing and testing new features, alongside maintaining and improving the existing platform.  We work within an Agile team that takes pride in its output, ensuring code is high-quality and maintainable, and with a responsibility to own your platform and software solutions end-to-end.  As a team, you will share in the running of operations for the features and services you deliver.

You’ll be working with peers to improve and add features to an existing transactional personalisation platform delivering key enhancements regularly.  You’ll be at the forefront of our drive towards an innovative service offering moving forward with continuous delivery, and you’ll have a technical input into the shape of the future platform.

To be successful, you’ll need a passion for developing products and services with a real customer focus, wanting each and every one of our customers to be delighted with what they have produced using the software and services you have contributed to.  You’ll have strong technical abilities, be a great communicator and be able to self-organise and achieve results in a fast-paced environment.  You’ll have a strong track record of capturing requirements through collaboration, and a proven ability to produce high-quality, maintainable and reusable software within a tightly coordinated team.

This is a hands-on role: you should expect to spend at least 70% of your time writing code, or working with others on your team directly contributing to the production of code.  The other 30% of your time will be split between architectural and strategic planning with peers and senior developers and the day-to-day people management and development required of a high-performing and successful team.

In terms of experience, it’s not really about the numbers…

We are looking for someone with a passion for application design, and the ability to demonstrate technical capability and experience in:

  • Developing single page data driven client side Applications using vanilla JavaScript.
  • Application design paradigms such as MVC, MVP and components.
  • Writing modular, extensible, maintainable code.
  • Unit testing the code using the TDD paradigm.
  • Coding valid, semantic, cross browser and cross device compatible HTML and CSS.
  • JavaScript building tools (we use Gulp and Webpack) and CSS pre-processors (we use LESS).
  • JavaScript testing tools (we use Jasmine, Karma and PhantomJS).
  • Experience with JavaScript transpilers, like Babel, would be a bonus.
  • Experience with the HTML5 Canvas API / image manipulation in the browser is advantageous.
  • Experience building large-scale web applications using plain ‘vanilla’ JS would be a bonus.
  • Any exposure to Angular.js or React.js would be a bonus.
  • Any exposure to backend JS applications (in Node.js) would also be a bonus.
  • Understands SCRUM practices and has worked within an agile development team
  • Is passionate about emerging web technologies and has a thrust to drive technology forward
  • Has a firm grasp of usability and accessibility from the customers perspective
  • Provides accurate estimates on work within the boundaries of SCRUM user stories

Basic Qualifications

  • Experience working within an Agile and Devops team, and an advocate of that culture
  • Excellent problem-solving skills
  • Experience working with HTML5, CSS3 and JavaScript.
  • Experience developing in at least one of C#/.NET, JavaScript in a test-driven environment.
  • Understanding of the SOLID and DRY design principles.

Preferred Skills

  • Degree in Computer Science, engineering or a related field, or significant equivalent experience
  • Experience developing software for a highly-transactional retail online platform
  • A thorough understanding of software engineering practises and best practises, including Agile software development.
  • An understanding of software deployment tools, deployment processes and best practises
  • Experience working with ECMAScript version 6 applications.

 

 

Tagged as: Agile, CSS, HTML, javascript, TDD