• Justin Anastos
  • Frontend Software Engineer Use All Five, Inc.
  • Twitter

I started off in 2006 as an electrical engineer and a semiconductor manufacturer. I was driven to spend all my time building web based tools that we could use to get our jobs done more efficiently. I quickly realized I needed formal education on software engineering, so I began working on a Masters of Software Engineering at Brandeis University. Towards the end of my education, I realized that I needed more than formal education, I needed to work with experienced people for two reasons: to learn what they already knew, and to challenge my ideas when I came up with something new. I've been working with the brilliant team at Use All Five, Inc. for a year now. In that time, I've become to the company's architecture lead. We started using Backbone.js 9 months ago, and after watching Brian Mann's talk; Little Opinions, Big Possibilities (https://speakerdeck.com/backbonerails/little-opinions-big-possibilities-the-tools-and-patterns-for-building-large-scale-backbone-applications), we decided to start figuring out Backbone.Marionette. It was a rough learning experience, but I feel in the last 6 months our company has increased our efficiency and pure fun level by learning and using this new tool. One of the mantra's of my computer is 'Always strive to find a better solution to a problem you've already solved'. To that end, we've started breaking out modules in our work to be reused on other projects. This feels like uncharted territory, but we've think we've come up with a great solution that people can benefit from.


  • Never Solve a Problem Twice: Building Reusable Modules with Backbone.Marionette and Require.js
  • Time: TBD | Room: N-120
I would like to speak about the challenges and solutions I've come across when trying to build Backbone.Marionette web apps and then trying to re-use components that we have built to be used in other projects. This is not too difficult until you try to use bower and require.js; that's where things got complicated. I would love to discuss the following from the perspective of someone who just started doing this professionally in the last year:
- Development environment
- Trial and error to arrive at our current architecture
- Application architecture
- Refactoring our components into modules
- Creating new repositories for those modules to be accessed via bower
- Tools we've built for maintaining the bower tools.

Never solve the same problem twice.