We have been selected by AlwaysOn as an AlwaysOn Global 250 Winner

Global 250 WinnerWe have been chosen by AlwaysOn as one of the AlwaysOn Global 250 winners. Inclusion in the AlwaysOn Global 250 signifies leadership amongst its peers and game-changing approaches and technologies that are likely to disrupt existing markets and entrenched players.

Here is the press release: 500friends Selected by AlwaysOn as an AlwaysOn Global 250 Winner.

A full list of all the AlwaysOn Global 250 winners can be found on the AlwaysOn website:
2012 AlwaysOn Global 250 Top Private Companies.

For more context on 500friends check Startup Spotlight: Q&A with 500friends.

git-flow with rebase

We are using git-flow for our source code branch management model. If you are not familiar with git-flow, Why aren’t you using git-flow? article provides a nice overview.

Many git users may be familiar with the git merge vs git rebase debate. In essence:

  1. Merge is simple to use and works great. It creates however lots of merge commits especially when working with a larger team.
  2. Rebase keeps commit history linear and clean. It is however harder to use and can be potentially destructive.

git merge vs git rebase: Avoiding Rebase Hell article provides a great comparison of both techniques.

The way to get the best of both worlds is to be explicit about when to use one versus the other. For us the simple rules to follow are:

  1. Rebase feature branches.
  2. Never rebase develop or master branch. (Always merge into develop and master.)
  3. Never rebase public branches.

To implement the rules we made a small change to the standard git-flow process:

When implementing enhancements or fixes always start by creating a feature branch:

git flow feature start foo

When done with work:

  1. pull develop branch from github
  2. rebase feature branch on top of develop

    git rebase develop feature/foo
  3. finish feature branch

    git flow feature finish foo
  4. push develop to github

To get more details on using rebase with feature branches please go to The magical (and not harmful) rebase article.

With this simple process change, git commit history is easier to follow while risks of making a mistake are kept at bay.

CTO Insights has global reach

Visitors come from all corners of the world. The top 5 countries are:

  1. USA – 32% of visitors
  2. India – 12%
  3. UK – 6%
  4. Germany – 4%
  5. Canada – 4%

What tools is your Ruby on Rails engineering team using?

I put together a catalog of the key tools we are using:

Development Environment

Mac
TextEdit
RVM Managing multiple applications, multiple versions of Ruby and gemsets.
SmartGit GUI client for git.
Sequel Pro GUI client for MySQL.
Transmit GUI client for Amazon S3.
Lighthouseapp Issue tracking.
github Source code repository.
git-flow Source code branch management. Jeff Kreeftmeijer wrote a nice overview:
Why aren’t you using git-flow?

QATools

spec, capybara, selenium-webdriver, factory_girl Unit and integration testing.
tddium Continuous testing. You can find more details at Continuous Integration in the Cloud.
Sauce Labs Cross-browser testing.
litmus Email testing.
httperf Load/stress testing.

Production Environment

RightScale / Amazon EC2 Servers An overview of the environment is available at Managing Uptime on Amazon EC2.
Amazon CloudFront CDN
Custom built RightScale RightScripts Software release process. You can find out more at Deploying Ruby applications in the cloud.
delayed_job, cron Job management. More details are available at Running distributed cron jobs in the cloud.
RightScale Server monitoring.
New Relic Application and availability monitoring.
Airbrake Exception management.
PagerDuty Alert management.
SendGrid Email delivery.

What tools are you using?

We have announced $4.5MM Series A funding from Crosslink Capital and Intel Capital

Here is the press release: Premier Social Loyalty Solution 500friends Secures $4.5Million Series A Financing from Crosslink Capital and Intel Capital.

Earlier this year we were placed among 2012 OnMedia 100 Top Private Companies.

Philosophical underpinnings of our product are described in my recent article: Turbocharging Loyalty Programs With Social Media. 

What Technical Skills Are In Demand In 2012?

Article first published as And the most in-demand tech skills of 2012 are … on VentureBeat.

One way to find out is by looking at the job posts. I decided to analyze recent craigslist San Francisco Bay Area job ads. It is a good proxy for the local demand. Bay Area is often a trend setter, and technologies which become popular here frequently gain broader adoption. The findings can therefore also be viewed as a leading indicator for other geographies.

Here are the key insights:

  • “Mobile” appears in 30% of all ads winning popularity (or hype?) contest.
  • Java continues to lead the pack among the development languages followed by Ruby, Python and PHP.
  • MySQL is by far the most commonly mentioned relational database.
  • NoSQL is featured prominently. Hadoop is first on the list of NoSQL databases followed by Cassandra, Redis and MongoDB.
  • Linux has little contest among the operating systems. Ubuntu is mentioned more frequently than CentOS.
  • Android is mentioned slightly more often than iOS/iPhone.
  • jQuery is the most commonly mentioned JavaScript framework.
  • Spring continues to be the most commonly mentioned Java framework.
  • git outranks subversion among the source code management systems.
  • Selenium is the most frequently mentioned testing tool.
  • Drupal is the most often mentioned CMS tool.

I run similar analysis a year ago. For the most part results were similar. There are a few notable differences:

  • Demand for mobile skills is accelerating. “Mobile” and “social” had similar mention frequency last year. This year “mobile” mentions are far ahead of “social”.
  • NoSQL skills requests increased significantly.
  • PHP mentions went down, Ruby went  up.
  • git overtook subversion.
  • Flash/ActionScript mentions went down.

List of the top 50 skills most commonly featured in the job ads is shown below.

Top 50 Skills

Fig 1. Top 50 Technical Skills in Demand

Methodology:

  • I run a term frequency analysis on job posts which appeared on craigslist in the SF Bay Area Internet Engineering category between 1st and 31st of January 2012.
  • Count reflects number of posts a term appears in. Multiple mentions of the same term in a single post count as one.

Our startup is among OnMedia 100 top emerging companies

Here is Always On announcement:

Announcing the 2012 OnMedia 100 Top Private Companies

And here is more information:

500friends, Inc. Selected by AlwaysOn as OnMedia Top 100 Winner

 

Follow

Get every new post delivered to your Inbox.

Join 105 other followers

%d bloggers like this: