Welcome Matt Nohr!

Post by Matt Bjornson

We’d like to welcome Matt Nohr to the Refactr team! Matt is joining us from Parametric Technology Corporation where he was a Scrum Master doing product development.

Matt’s going to be working on a new client product using Grails, actually may be a couple of different products! Matt is proud of recently developing an automated performance testing framework and integrating it with a continuous integration system

We’re big fans of the Vibram Five Fingers, but the Packers, what?!? In all seriousness, we are excited to have you join the team. WELCOME!

Posted in Agile Processes, Business, Software Development | Tagged | Leave a comment

The Vital Integration of Design and Development

Post by Matt Bjornson

Is this the only place design and development should be integrated?We’re self-managing, multi-disciplinary teams. We’re designers and developers working together to deliver software.

This isn’t the way all companies approach software development. In large companies, interface and interaction design is often in a completely separate organization, marketing – or maybe it’s done by that big “branding” agency.

Different is good.

Many companies proudly proclaim they are “Agile”. If your design team is absent from your daily meeting, how quickly can you really respond to changing requirements. Early agile advocates broke down the wall between development and testing functions. But walls still exist between developers and designers and marketers in many organizations.

This barrier is especially detrimental since the marketing function tends to have the greatest access to the customer – something agile ostensibly requires.

Success or failure of your application or product is increasingly determined by the experience of the user (or user experience). Technology specs can impress but those impressions turn negative if the interface fails to provide ease of use and elegance.

At Refactr we never allowed that wall to go up between development and design. Ben, the designer, has had years of experience working with developers, Scott and Jesse. This founding team is imprinting their lessons and experience on new teams as Refactr grows. We purposely choose to do things differently with integrated design and development. Our clients get better software, and we have more fun in the process.

Posted in Agile Processes, Business, Design, Software Development | Tagged , , | Leave a comment

Git: Merging Two Repositories

Post by Josh Reed

I recently needed to merge two separate git repositories into a single repository while preserving the history of all files. As with most things, there’s more than one way to solve a problem. In this case, I considered two approaches: Submodules or physically merging the two repositories. Using submodules is a good choice if the original repositories will continue to be developed independently. In this case, I wanted to delete the original repositories once successfully merged so I explored my options for merging repos and history.

Both original repos were developed with files in the root directory. To avoid potential conflicts once merged, I wanted each repo to look as if it had been developed in its own directory.

# create a copy of repo1
git clone repo1 repo1_copy
cd repo1_copy

# make repo1 look like it was always in a directory
git filter-branch --prune-empty --tree-filter '
if [[ ! -e repo1 ]]; then
    mkdir -p repo1
    git ls-tree --name-only $GIT_COMMIT \
       | xargs -I files mv files repo1
fi'

The process is similar in the second repo, simply subbing repo1 above with repo2.

Now that both repos look like they are in their own directories, the final step is to actually merge the two repos. We’ll pick one of our copies created above and then pull the other repo into it:

# create another copy
git clone repo1_copy merged
cd merged

git remote add -f repo2 ../repo2_copy
git merge -s ours --no-commit repo2/master
git read-tree --prefix=repo2/ -u repo2/master
git commit -m "Merged repo2"
git pull -s subtree repo2 master

This leaves us with a repo called merged that has 2 directories in it: repo1 and repo2. It has the full history of all files that was in the two original repositories.

References

Posted in Software Development | Tagged , | 2 Comments

Welcome Luke!

Post by Matt Bjornson

We are excited to have Luke join Refactr!  Luke will be working with our team on an innovative client product development effort using Ruby on Rails! Luke has spent the last five years consulting with companies like Thomson Reuters, Merrill Corporation and RedBrick Health.

luke joins refactr!

Luke has used Java extensively but prefers dynamic languages like Ruby and Groovy and is passionate about building web apps using agile principles. One of the cool and challenging web apps he developed recently included a multi-lingual document search layer. Welcome Luke!

Posted in Business, Software Development | Tagged | 1 Comment

Breakfast at Refactr

Post by Matt Bjornson

This gallery contains 2 photos.

In addition to being a brewmeister and grailsmeister, Josh has many other talents, like making us all breakfast.  Easing into the morning is pretty “rough” when your Chief Breakfastologist is making breakfast burritos with sausage mixed with bacon, eggs, green peppers, … Continue reading

More Galleries | Leave a comment

Grails Database Migration Gotchas

Post by Josh Reed

Before we dive into gotchas, let me start by saying that the Grails Database Migration plugin is great. It’s usually the second plugin I install on any new project, right after the Spring Security Core plugin. You’ll likely never run into the problems I describe below, but I did and learned something in the process so I figured I’d pass it along in hopes it saves someone a bit of debugging time.

Continue reading

Posted in Software Development | Tagged , | 8 Comments

Refactr Gets Serious About Growth in 2012

Post by Ben Edwards

For several years after we started Refactr, in 2006, we resisted the idea of growth. We saw what growing did to companies for which we had worked and it seemed that growth caused a degradation of culture and loss of focus. We obviously didn’t want that to happen at Refactr and so we decided to remain small. Today, we’re still pretty small (there are eleven of us now) but we are committed to growing.

Too often in past years have we been approached with a cool project opportunity, only to have to turn it down because we were all too busy. We hate for that to happen and are planning to hire and build more teams of smart software designers and developers this year. We are confident that the culture we have built can withstand growth, especially considering how carefully we recruit and hire.

We understand with growth and added capacity comes the responsibility to make sure we stay busy. We can’t rely on the good fortune we have had to date – work just coming our way. So it is with pride and pleasure that Refactr welcomes Matt Bjornson to our team as President. Matt comes to us from Object Partners (OPI) where he was a key person that helped OPI grow to what it is today. Matt was an early advocate of the Grails and Rails frameworks, aided in the sales and marketing efforts, and generally kicked some ass. We are excited to have his help in this new chapter of Refactr’s history as we grow into our reputation as a leading software agency in Minneapolis. We’re looking to grow while maintaining our core values of cross-functional, small, self-managed teams helping our clients innovate faster than they thought possible. Want to join us?

Posted in Business | Tagged , | Leave a comment

Why You Should Work at Refactr

Post by Ben Edwards

Where we choose to spend our days developing software can have a big impact on our lives. If we aren’t happy and fulfilled in the work part of our life, those other parts need to be that much better to make up for it. We want to make sure Refactr is a place where everyone enjoys working and is excited to be. Our team will tell you it is working so far. Here are some of the ways we look to ensure that continues.

We work on relevant and interesting projects as teams.

Our ideal project is 2-4 cross-functional application developers on an interesting project for 3-5 months at a time. Our developers (a term that includes designers and front-end developers as well as the more traditional definition) self-manage their work and most client interactions throughout the course of a project – from definition, through weekly reviews, to completion. We don’t do staff augmentation. We help companies get things done quickly, at a high quality level, as a team.

Our low overhead, smaller size, and impressive stature in the tech community affords us the opportunity to learn about many projects and accept the most interesting ones that are a great fit for how we want to work. We’re not right for every project and we’re not afraid to say so. Refactr is not interested in taking J2EE or .NET project work. We may, on occasion make a case for a more nimble technology in those cases but we’re not zealots, either. Some projects and some companies are just better served using technologies that we don’t.

For the record, rapidly developing Groovy/Grails, Ruby/Rails, and Mobile (Web/iPhone/Android) applications is what we excel at and what we are interested in taking on.

We are collecting the smartest people we know.

If you get invited to interview with us, you should feel pretty good about our impression of you. We only want to work with the smartest people we find. Regardless of your experience, we are interested in working on projects with curious, passionate, thoughtful, and communicative people. It goes back to that fulfilling work thing – if we are going to hang out and be pals we want to be sure you’re interesting and that you’ll stay interested in your coworkers.

We look for varied backgrounds, experiences, and interests. We’ve got a pair of rocket scientists, a few robotics experts, several artists and musicians, a couple home brewers, and we’ve – collectively – been to every continent. Everyone here is passionate about something and curious and interested in learning about too many things to count.

We have an open and collaborative culture.

What’s more, we get all these smart, curious, passionate people and we put them all in one big room! There is constant collaboration and sharing, not to mention storytelling and joking, that occurs because we are all working together – despite being on different projects. Ideas are sought from, and implemented by, everyone. There are no formalities or barriers to communication – there are no offices and really no hierarchy. We’re all in this together to build cool things and have fun doing it.

We stay relevant by researching new technologies and techniques.

We invest in learning daily. Our developers are encouraged to buy books, spend time on technical sites and blogs, and attend events and conferences. While we don’t just use the latest shiny technology for the sake of it, we have heard about them and if it’s practical and worthwhile for our clients we’ll encourage its adoption.

Getting things done is at the heart of our process

You won’t find a lot of bureaucracy at Refactr. In fact, you won’t find many things that get in the way of getting things done. Our process helps to eliminate those things that tend to bog down and distract from that goal. We call it “little a” agile and it means that we’re pragmatic about the way we go about running projects and really the company as a whole. As things are discovered that work better, we implement them, or as things start to not be as efficient, we eliminate them. We hold a stand-up meeting every morning, we’ll pair program when it makes sense, we write user stories and have one or two week iterations, and we communicate closely with our clients and their stakeholders.

All work and no play makes us something, something…

We don’t just code all day, we also have fun together. Whether its DJ-ing in a Turntable.FM room or in the real world via our Sonos system, taking the Nice Ride bikes across the river for lunch at a food truck, creating something new together at our monthly hack day, eating corn dogs at the state fair, creating popular 3DS experiments, renting a house in Mexico for a month, heading out to a brewery tour or haunted forest, hitting up a happy hour, catching a movie or concert or any number of things we do – the point is, we do things together. And yes, we said renting a house in Mexico. Maybe the next one won’t be in Mexico but we have another trip in the works.

We are a part of, and supporters of, the technology community.

We believe local and distributed communities are only as strong as their members make them. We’re trying to do our part to ensure the communities that are important to us are successful. We provide space for many local user groups to meet each month. Ruby Users of Minnesota, Groovy Users of Minnesota, Minnesota JavaScript User Group, Minnesota Clojure User Group, Lean Startup Circle, and Mobile Twin Cities all currently meet each month in our office.

We organize, sponsor, or otherwise support a wide range of groups, events and conferences. MinneBar and MinneDemo were co-founded by a Refactr founder and we’re all heavily involved with these leading tech events in the area. We have sponsored Ignite Minneapolis, Gr8 in the US, and No Fluff Just Stuff and have spoken at these and other local and national conferences.

We’re at the epicenter of innovation in the Twin Cities.

Not only do we support technology and community in a broad sense – we are really at the heart of technology innovation in the Twin Cities. We are asked our opinions about innovation by media types. We even built our own product to help us and others manage innovation. We are involved with many early stage companies (even some of our own creation) and we can offer unique and exciting opportunities to our consultants. We have a model in place that will allow us to create, grow, fund, or otherwise be involved with 2-3 such opportunities each year. These opportunities will be there when members of our team are interested in doing something new or just looking for a change of pace.

We take care of our team.

Though we don’t often sit around a campfire and sing Kumbaya, we do all care about each other. We know each other personally and we’re interested in each other’s lives and families. Knowing that to be true makes a huge difference in how we feel about coming to work each day.

But it isn’t all touchy-feely stuff. We offer great benefits for a small company, we offer great benefits for a company of any size, actually. There’s the free medical benefit that allows you to choose how you spend the funds amongst a number programs, the 401(k) that is matched at 4% of gross pay, a phone stipend, top-of-the-line MacBook Pros, and the time off that you take as you need it. We encourage travel and vacations and don’t want an arbitrary number of days per year to deter people from life experiences. Did we mention the kegerator?

We share success.

Refactr is only as good as our team and the work we do. It makes sense to share success as it happens. These can be little things like celebrating releases or larger like sharing the profits of the company.

UPDATE: WE”RE HIRING.
In case it wasn’t apparent, we’re looking for great developers; good communicators; interesting, curious, passionate people to develop mobile (iOS, Android, and mobile web) and web-based software with us using primarily Grails and sometimes Rails. Contact us for more info team@refactr.com.

Posted in Business, community, MIleMarker, Software Development | Tagged , , , , , | 5 Comments

Agile in Real Life

Post by Sara

At work, we use agile principles to improve the software development process. But I thought it would be interesting to take a look at how we are applying ‘agile’ to our daily lives outside of work. Here are some of my favorite responses from our designers and developers:

I tend to be too much of a perfectionist when it comes to home projects. This can be something as big as remodeling a room or as small as sweeping the deck. To avoid my perfectionism wasting time on the unnecessary, I like to apply the “simplest thing that could possibly work” principle. It really does help me to not spend more time than is necessary on things that don’t really need it.
- Jesse O’Neil-Oine (Developer)

My wife and I share one car and fill the gaps with public transit and bike rides.
- Hiromi Matsumoto (Designer)

To simplify my life, I sell, donate, or just throw away anything I haven’t used in the last year. I don’t own a lot of things, but what I do have, I use. I also don’t have to store closets full of stuff I don’t use.
- Spencer Hartberg (Developer)

I write code (either for work or for side projects depending on upcoming deadlines) while riding the bus to and from work.
- Steve Vlaminck (Developer)

Outside of work, one of my hobbies is brewing beer. While brewing requires a certain minimum time commitment, I’ve found some simple ways to make that time and effort go further. All my spent brewing grain gets turned into loaves of bread, dog treats, or compost for the garden, and any leftover beer gets turned into malt vinegar to give as gifts around the holidays. This saves several trips to the store throughout the year.
- Josh Reed (Developer)

This summer I have been minimizing the use and expense of driving my car to the grocery by visiting local farmers markets on my bike and supporting local farmers.
- Dane Messall (Designer)

I used to carry a lot of keys “just in case” I needed them and I realized that I rarely use the key to my in-laws house. So now I typically carry just the keys I need on my key chain: one key for the car, one for the house. And I have a separate key chain for each car, rather than two keychains that each have keys for both cars. At the office, we have a finger scanner lock, so that I don’t have to carry a key to our suite door. Likewise, I downsized my wallet. I got a card carrier and now carry only my essential credit cards and I keep cash in a money clip, rather than a “Castanza wallet“.
- Scott Vlaminck (Developer)

I buy clothes in similar shades and tones so I can mix and match clothes without too much care. This works especially well when packing for a trip.
- Ben Edwards (Designer)

Are you applying agile principles to your life outside of work? Tell us how!

Posted in Agile Processes | 1 Comment

Igniting Ideas through Online Communities

Post by bill

A couple weeks ago, Sara and I were discussing our sponsorship of the latest Ignite Minneapolis event that was held in April. Many of you may recall that, along with our sponsorship, we designed and hosted an idea community called Igniting Ideas that challenged event-goers to share ideas for making events in the Twin Cities even better.

Due to timing of concept agreement with the Ignite staff, we only had a few days to create the community in order to give it time to have an impact on the event. Needless to say, we made it happen, and by the night of the event, the community received about a dozen ideas and had over 75 votes and many comments. Even after the event, the site still generates the occasional idea and votes continue to be cast on the ideas from the Ignite participants.

This got us thinking: If we could put together an idea community in a matter of days using MileMarker’s IdeaCapture and IdeaShare widgets, our customers can, too! What impressed me the most (yes, even as a co-founder of MileMarker) was that after finalizing a design (which only took a couple of days), we had the community up and running in less than 48 hours. We knew this was possible using the tools within MileMarker, but it really put us to the test, as we had an immovable deadline in front of us.

Of course, the moral of the story is less about the time it took and more about the ease of it. We talk with many customers who have great ideas about how to engage their audiences in generating ideas and helping to innovate on their products and services. Often, there seems to be either a technical roadblock or a financial one. Our goal, and what we’ve seen so far, is that it shouldn’t be difficult to stand up a basic community, and MileMarker facilitates this with such ease.

If you haven’t seen the Igniting Ideas community, make sure to check it out. We hope that you’re as excited by this kind of opportunity as we are.

Posted in Business, community, Design, MIleMarker, Products | Leave a comment