Ruby on Rails was the first major web framework to include automated tests as
part of every new project. The effects have been enormously positive. Many
developers have learned to write tests well, which in turn
helped them get better at design. Experienced developers were drawn by Rails'
focus on productivity and beautiful code. Their community activities have
helped push the craft of web development forward. Over the years positive
effects have rippled to other communities too.

Bugs and messy code slow down development, and can make complex projects fail. We write code with good intentions, but in practice as complexity increases we need a system to help us avoid problems.

This is where BDD (Behavior-driven Development) can make a huge difference: it provides us with a sustainable process for continuously producing high-quality software, with clean code and automated tests as a side effect.

In the Developer Interview series,
we talk to engineers who use Semaphore.
We pick their brains about how they work, what wisdom they would like to pass on,
and the most challenging problems they’ve faced during development.

This time around, we had the pleasure to talk
to Gant Laborde, a member of the
Ignite team and
chief technology strategist for the San Francisco
company Infinite Red.

Just like last year, the team behind Semaphore took
2 days off from our usual jobs and went on to work on the things that excite us,
but are not part of our day-to-day work. Read on to find out about the things
we've built and problems solved over these two days.

par8o is a platform designed for healthcare teams to
coordinate, communicate, and close the loop on patient referrals - for better
relationships with providers and patients. par8o also offers a chat platform to
encourage office-to-office and referral communication for quicker results.

The referral portion of par8o is a large application built with Ruby on Rails
and AngularJS. It is configurable to support the workflow needs of different
organizations. The application is also used to integrate with other healthcare
systems.

The engineering team at par8o takes testing seriously and uses MiniTest for
unit and controller tests and RSpec for browser testing. We use a development
workflow that is very similar to the GitHub workflow, but instead of merging
to master after a story has been verified in production, we merge to master
once a story has been verified in our QA environment by our quality assurance
team.

In the Developer Interview series,
we talk to engineers who use Semaphore.
We pick their brains about how they work, what wisdom they would like to pass on,
and the most challenging problems they’ve faced during development.

In the Developer Interview series
we talk to engineers who use Semaphore and
pick their brains about how they work, what wisdom they would like to pass on,
and the most challenging problems they’ve faced during developing.

This is a guest post by Abe Haskins, a Firebase engineer at Google. For the past five years, Abe has been helping engineers build Firebase-powered things to help them take over the world.

Firebase has you covered when it comes to building and architecting your app,
but what about deploying your projects onto Firebase? Until now that’s been a
manual process done via firebase-tools
(the command-line interface for Firebase), but now we can use the power of
Semaphore to create an entirely automated continuous
deployment process.