Work on a product that improves the end users life, health and nutrition; while not giving up your own to do so!
Position: Lead Ruby Software Developer & Foodie
Reports To: Product Manager
Demand: Typically, 40 hours per week during normal business hours
Location: Remote (within the U.S.) or on-site in Dayton, Ohio
Start Date: Flexible
Once a Month Meals (OAMM) is a Web-based product and community with the goal of empowering wellness through meal planning and freezer cooking.
OAMM believes that your work, time and hobbies shouldn’t come at the cost of family and health. Gathering around the dinner table, eating with those you care about and enjoying a nutritious meal is paramount to our mission. Therefore, we create software to further empower individuals to bring back family dinner time without sacrificing the little spare time they have available—giving our users time for what matters most.
OAMM began as a blog in 2009 with a deep, rich, invested community. Over the last six years it has emerged as a SaaS product fueled by the passions and membership of the community. The technology side of our product is exciting and challenging to build but unlike many other SaaS products, it isn’t the technology that drives the product. The driving force is our community/membership. We believe strongly that these two things, technology and community, have to be in balance and we are looking for a software developer that can respect, appreciate and aspire to help us grow both. OAMM is also committed to steady growth through self-funding as we evolve our product.
Once A Month Meals is looking to add to its technology team an experienced Lead Ruby Software Developer. As part of the OAMM technology team, you’ll work with freezer cooking, “cooking math,” user accounts, ecommerce, and more. You’ll need to be comfortable with databases like MySQL and Postgres, and either understand (or be able to come up to speed quickly on) Solr. Experience designing, building, and supporting REST APIs with authentication is important, because we leverage a number of third party APIs for crucial aspects of our systems.
It will be important to have the experience and ability to do some long-term, big-picture architecture thinking but have the skills and desire enough to implement this architecture through solid, tested code.
Your coding abilities are just one piece of the puzzle though. In addition to being able to write great code, this position requires a unique skill set. The following are vital to the success of this position:
- Ruby on Rails Depth of Knowledge - It isn’t enough to simply have used Ruby here and there, a deep understanding and application of it in your previous work is essential.
- Experience in the Kitchen - it doesn’t have to be freezer or batch cooking, although experience with those is a plus. Experience in the kitchen cooking, preparing recipes and/or meal planning is important to the role and to understanding the software’s main functions.
- A Love for Math - fractions, ceilings, scaling recipes and mathematical algorithms are a regular part of coding life in this role. If you told your high school math teacher you would never use algebra again, this probably isn’t the role for you. :)
- Organizational Leadership - the ability to be self directed, write scopes, document processes and communicate those to a team is imperative. This is a small team (front end developer, project manager and yourself) right now, which means that there is an expectation that you will be able to lead yourself and eventually others. Strong communication and decision making within the context of the greater team mission is important.
- Experience Working on a LIVE Product - proven experience designing, planning, and building web applications to scale is imperative. There are thousands of active users on this system requiring that the code needs to be incrementally built, tested and released to ensure zero disruptions to the user experience.
Your job duties will include:
- Maintaining two Rails apps
- Keeping the Ruby gems updated on staging and production environments
- Watching and improving performance (speed and analytics) of APIs
- Build, maintain and test new features
- Develop automated, incremental, deployments and tests
- Assistance in setting technical direction for the OAMM products
- Automated deployments (Capistrano, etc.)
- Stripe API
Because we are a small (8 full-time and 3 part-time), fully-bootstrapped team, we all play multiple roles. As we grow, we want to continue to build a product design and development team. This position will be a key-player on that team with opportunity to impact the technical architecture and the future development team.
The ideal candidate is:
- a self-starter—they seek out opportunities to learn new methods or technologies
- a problem-solver—they figure out how to get things done
- comfortable with task runners like gulp and grunt
- competent with git and github
- mindful of performance and interested in implementing tools like performance budgets
- unashamed in their support of accessibility best practices as well as progressive enhancement and responsive design
- able to communicate effectively in writing and in-person
- willing to balance all constraints of a problem: user needs, timeline, budget, product vision
- A meal planner - they see the benefits and are willing to plan meals for themselves on a regular basis
- collaborative—nothing gets done in a vacuum around here, we need folks who recognize they’ll be better if they work with others
Experience with deeper software development best-practices (or strong desire to grow into them) is a plus:
- work with other members of the product team to build modular, maintainable and reusable code
- work with internal and external resources to implement fixes and features to the stack currently in place (WordPress, Sass, Rails)
- recommend and implement best-practices around developer productivity, source-control, automated testing, API design, security, performance and share our learnings with the greater tech community
Additional experience in the following strongly desired:
OAMM strives to create an environment where individuals are encouraged to work independently but enabled to work collaboratively. We spend a lot of time on Slack and in video calls interacting daily. We also get together in person at least twice a year for a retreat, usually to a warm climate. We value spending time with one another when we are at work, and caring for each person, while recognizing and encouraging a work-life family balance.
- Competitive Salary
- Personal Days: Two weeks (plus one week holiday shutdown and minimal standard US holidays due to peak sales periods matching those holidays—so we try to make up for it during the year)
- Flexible Schedule: Work when you want, just provide us with some Eastern Time Zone overlap for meetings
- All the hardware and software needed to do your job
- Opportunity to make a real difference in the lives of families