Who are they?
Onlife Health, based in Brentwood, Tennessee, USA, is a health and wellness company. Their clients are insurance carriers, who insure employees of their client companies. Onlife offers those employees ("members") services such as advice, health assessments, help setting and tracking health-related goals, and one-on-one coaching.
What did I do, when, where?
I worked there, in a staff-augmentation role on their team, from March to September 2014, 100% remotely (as did about half the people), via RaveTec. Specifically, I worked on the coach-facing section of their portal, adding features, fixing bugs, reviewing code, helping define/refine the processes, documenting things, etc. For instance, I:
- Added multi-selectability to the filters on the coaches' caseload lists
- Added and fixed filters there
- Added the ability for the coach to order nicotine replacement therapy materials (including exporting the order to the fulfillment center)
- Made it show the coach the name of the group a calling member belongs to (integrating with the Avaya phone system via SOAP)
- Made it close out a member's courses and goals when they opt out of the coaching program
- Made it preserve basic formatting of multi-paragraph text
- Fixed a race condition between the coach caseload item insertion and deletion of Resque background jobs
- Fixed many timezone based problems plaguing the widely distributed team
- Tweaked various UI bits so that users could not enter data that would cause problems
- Centralized documentation on how to set up a development environment (there were several OLH-specific programs that needed to be running, and a few add-ons like Rabbit and Resque)
- Documented how to navigate via the parent company's VPN to the required compliance training
- Introduced the use of Jing for demos of bug fixes and new features, making QA approval and the end-of-sprint demo a breeze (QA had already been using it, but only to make screencasts of bugs)
Unfortunately, since my work was all on the coach-facing part, I can't show you my work products in action, unless you get them to hire you as a coach! ;-)
What did they say?
What did I use?
Technologies, techniques, tools, etc. I used there:
- Ruby on Rails 3.2 (with Ruby 1.9)
- Occasional bits of Angular JS
- Adding things to the REST API to integrate with the Angular front-end
- RSpec and Jasmine for testing
- Scrum, on a two-week sprint cycle
- a private Github account for source control, and peer review via pull requests
- Team City for CI (Continuous Integration)
- TDD (Test Driven Development) or BDD (Behavior Driven Development), for everything
- Pair programming as often and as best as we could, given the time zone differences, with tools like tmux, Skype, and Screen Hero (while it was still free)
- first Pivotal Tracker and then JIRA, for issue tracking
- QA had already been using Jing to make screencasts of bugs; I introduced using it also for bug fixes, and new features (which makes the end-of-sprint demo a breeze!)
- Skype and Google Hangouts for chat rooms and Scrum meetings; occasionally also tried Fuze, plus Cacoo, to make a realtime whiteboard for sprint retrospectives
- a Confluence wiki for documentation
- Helping a bit with the SOAP (including WSDL) to integrate with Avaya telephone systems