About Collage.com, a Foreground Brand
Foreground is a platform of products that connects families and individuals with world-class photographers. The Foreground family of brands helps photographers and photo consumers create memories that last a lifetime by giving them access to tremendous software, professional services, supportive education and high quality photo products and custom gifts.
As a Foreground brand, Collage makes the creation of custom products easy for everyone, by providing superior software and excellent customer service. We sell an expanding variety of photo and home products, including photo blankets, photo books, canvases, pillows, and more.
We are 100% Remote
As a 100% remote company, we are set up to provide the best possible environment for engineering. The less time developers spend dealing with cumbersome processes, inefficient systems, and commuting, the more time they have to solve problems and make an impact. We pass almost all of The Joel Test (fix only high-priority bugs before writing new code), use continuous deployment (code goes straight to production after each merge), and are in the process of adopting mobx-state-tree with React. Strong engineering is a key part of our business strategy -- it lets us build best-in-class design tools faster than our larger competitors.
We are seeking a software engineer who is passionate about reliability and believes in advance planning to stop fires before they start, which is critical for our seasonal business. You will help define our strategy across the whole stack -- from AWS configuration up to the front-end application. You will establish processes and systems to help engineers test for reliability and performance, as well as live monitoring tools to detect problems in production.
We have a variety of monitoring systems already in place, but are looking for someone to push the envelope for detecting problems. We hope to find an engineer who not only keeps up with industry best practices, but can also develop custom tools to solve our hardest problems, like recording and replaying state changes in our custom application to track down difficult bugs. We look forward to you joining us in our mission to make our software fast and bug-free for everyone, all the time.
- Make decisions about site reliability and performance strategy/roadmap.
- Own live monitoring systems across the entire software stack -- maintaining existing tools (e.g., CloudWatch, NewRelic, TrackJS, OpsGenie) and implementing new systems.
- Lead advance planning to prepare our services for handling 10x seasonal traffic (setting scaling policies, provisioning resources, doing load testing, etc.)
- Manage processes and automated stability/performance checks that the team uses to develop fast, reliable software.
- Triage and respond to alarms from our monitoring systems with the help of other engineers, and participate in an on call rotation during the holiday season.
- Write and maintain code throughout our tech stack, which largely consists of PHP and JS/TS (mostly React).
- Make decisions about code design, architecture, and refactoring to balance technical debt against delivering functionality.
- Two years of experience developing modern web applications.
- Two years of experience focused on site reliability for high-traffic applications.
- Excellent planning and communication skills, including the use of spreadsheets/database queries to analyze and present data.
- Track record of getting buy-in and alignment when working on cross team initiatives.
- Bachelor’s degree in computer science or equivalent work experience.
- Prior experience in a start-up environment is nice to have.
- Highly competitive compensation package
- Benefits include comprehensive medical, dental, and vision insurance, and 401K with 4% company match
- A culture that promotes a healthy work-life balance including a flexible PTO plan
- This position is 100% remote
The Interview Process
The goal of our interview process is to identify people who will be a good fit for our company and are talented, motivated engineers. Because you will be working remotely, all of our interviews are done remotely.
During the interview process, you will:
- Speak to a member of our talent acquisition team which will be mostly an experience and values/culture fit assessment
- Complete a shorter technical exercise
- Speak with a senior member (manager) of our engineering team
- Complete a more complex technical assessment that is intended to emulate your actual work environment
- Speak with our backend architect
- Speak with our VP of engineering and other executives