However, sometimes we might think that taking the whole company to these great places is the best thing to do, but people tend to end up marrying, having children and getting tired of going to a beautiful island with their workmates when they could just stay at home with their family.
Work/life balance is not imposing our view of a great life to our coworkers. I'm sure you guys are cool with that and you've got a thousand more reasons to be a great place to work, but I wanted to raise this.
Everyone should do what they think is right for them in their current situation. We just want to give options :-)
Revenue and expenses are relatively stable. We've some really good quarters, and some not so good ones. But overall we're profitable. Sometimes we also spend a lot of money on "fun" things without thinking too much and then realize later that we need to be a bit more careful with spending ;-) In particular cash flow issues when waiting for the big corporations to pay their invoices.
In terms of staff, we're actually at the moment not growing that much any more, simply because having too many people makes it difficult to run such a business as the "family & friends" feeling gets lost and we'd probably need to introduce more hierarchy, which we also don't want.
At 25, you stop meeting everyone every week. i.e. Random encounters no longer guarantee that every person in the company keeps good contact with everyone else.
At 50 pax, you stop knowing everyone. i.e. You may know the list of employees by heart, but you don't really befriend them anymore.
Of course, these are soft trigger points. You start noticing something different at 20 people, and are sure of what is happening at 30. It is definitely not the fault of the 25th hire :-)
The remedy is always the same: Company culture. Growing slow is a good ingredient towards a good culture, albeit not the single ingredient.
Do you practice Agile? SCRUM/Kanban?
We also have a few from Latin America, Eastern Europe and Mauritius, where this is also a very good salary.
We weren't looking specifically in those countries nor are we limiting ourselves, but it simply happened that we found people through contacts in our personal networks.
I also noticed that you bonus folks based on pro-activity and other measures, which presumably plays a pretty big role in the decision-making process?
That said, we've noticed that many people care much more about the freedom and flexibility we over, rather than having a huge salary, as long as the base salary is fair.
With the bonus we want to encourage everyone to think and act like a co-founder. Take responsibility and action where needed instead of just ignoring problems until the shit hits the fan.
We also had cases where potential clients decided to go with a cheaper option and then came back to us to "rescue" the project.
In the end the price itself doesn't say too much. More important is the value you get for that price and that is different for every agency. There are things like quality, being pro-activity and recommending the right things to do (not those that make the agency the most money), experience beyond pure design & development (e.g. marketing apps, getting featured, high App Store ratings and reviews, etc.)
* We pay fair salaries. For most people in our team it's way more than what they've earned before.
* We pay everyone the same (base) salary. Regardless of their role or title.
* We pay quarterly bonuses based on pro-activity, responsibility and other performance indicators.
* Everyone can work from wherever they like, still many people choose to work from our main office in Barcelona. (For example I work many weeks out of my camper van with 3G/4G connection from beautiful surf locations)
* In theory, everyone can choose how much or how little they want. Not always possible, but we try to make it possible as much as we can.
* We have managers, but they don't demand things. They are responsible that certain things happen, but decisions are being made collaboratively.
* All managers are either engineers or designers. No bullshit managers.
* We don't have a dedicated sales person. All work we get is from word-of-mouth and the first person a new client speaks to is either an engineer or designer (or both).
* We play Mario Kart / StarCraft after lunch ;-)
* We do a lot of sports activities together
* We have a lot of BBQs on our terrace
* We use some of the profits for fun internal experiments (small projects without an expected outcome other than having fun & learning). However, some of them are now actually turning into actual products: http://bugfender.com/
* MJ University: we take online classes together as a group
* MJ Talk: weekly presentation about an interesting topic (not necessarily tech related). For example we had talks about personal finance (investing), achieving happiness, etc.
* We encourage pair programming where it makes sense
* MJ Weekend: once or twice every year we fly everyone to Spain, rent a nice villa with pool and have a good time together. Some pics: http://blog.mobilejazz.cat/work-life-balance-at-mobile-jazz/
* MJ Retreats: we're going to remote places and work there together. At the moment six of us are on an island in Thailand. In February we go skiing in Austria.
* We put a lot of effort in hearing everyone's opinion and feedback and try to put it into action
With all that we've managed to attract and retain incredible talent, but most importantly we have a very pleasant time together.
That said, we're a company optimizing on lifestyle and happiness, rather than profit. So this way of running a business is probably not applicable everywhere.
(Edit: formatting, typos and a few additions)