Location: San Francisco, CA
URL: http://www.castlighthealth.com
If you're looking to do serious software development, work with outstanding people, solve incredibly difficult computation and machine learning problems, and embrace agile techniques - all while revolutionizing our $2.4 trillion healthcare industry by empowering consumers - this is the place for you. We're looking for talented, dedicated, and passionate developers to join our team.
While we would be surprised if you had all of the following in your quiver, some examples of what we would love to discover in your background or professional goals include:
- Deep mastery of at least one object-oriented or functional programming language
- Fluency in machine learning, statistical analysis, pattern recognition, or artificial intelligence - or just an excellent record in math
- A true passion for coding and the ability to inspire others to create great code
- Interest in and experience with Lean Thinking and Agile practices (TDD, XP, etc)
- Proficiency with relational databases and/or tuning complex, resource-intensive, mission-critical applications to achieve maximum performance
- A taste for exploring innovative technologies such as Ruby, Clojure, Git, Cloud Computing, Key-Value stores, RabbitMQ, Hadoop, Map/Reduce, etc.
- A passion for startups
Right now, we primarily use Ruby on Rails, MySQL, Linux, and Apache because we believe that technology should work for us, not the other way around. We understand that new problems may require new solutions, so we're looking for people who can identify the next big thing and share it with us, but are pragmatic enough to understand that Clojure is not a cure for cancer and TokyoCabinet will not broker world peace.
Let us know if this sounds like your kind of environment and you want to join our team. In addition to a resume and a note about yourself, please send us a solution to one of the puzzles below.
Puzzles
An enchanted hat
At a particular school, an enchanted hat assigns each incoming student to one of four residential houses. School lore says that the hat sorts students into houses entirely on the basis of personality and moral character. But this year, a rumor is circulating that the hat actually assigns each student completely randomly.
The Headmaster hopes to disprove the rumor and reasons that if she can show the hat's assignments to be somewhat predictable, it cannot be assigning randomly. Before the students are sorted, she speaks with each student and privately writes down her prediction of which house that student will be assigned to.
What is the smallest number of students (m) that allows her to make one incorrect prediction yet still establish a high level of confidence (say, 99% certainty) that the hat is not completely random in its sorting?
If the headmaster's predictions are always wrong, would a sufficient number of wrong predictions (w) disprove the rumor with similarly high confidence?
Odd bag out
You have 5 unmarked bags with 100 beads each. Bags #1-4 contain 4 red beads and 96 black beads; bag #5 contains 7 red beads and 93 black beads. You randomly select one of the five bags and remove three beads without looking inside the bag. One is red, and the other two are black. What is the probability that you drew the beads from bag #5?
Return the three beads to the bag and give it a good shake to mix things up. In the best-case scenario, what is the minimum number of beads you can withdraw, one at a time, to identify this bag as bag #5 with at least 50% certainty?
Family plan
Homer Simpson is tired of paying exorbitant charges for his family's cell phone usage. He recently contacted his local OmniTouch representative to get a detailed report on their calling activity. Unfortunately, he's too "stupid" to interpret the data, so he hired a CompuGlobalHyperMegaNet programmer to produce a function that would print the longest call by family member. Here was the function he got back:
var callLogs = [
// format: family_member_1, family_member_2, length_in_minutes
[marge, homer, 5],
[maggie, lisa, 12],
/*
many more entries
*/
]
longestCallByFamilyMember(callLogs) {
familyMmbrs = []
callLengths = []
orderedCallLogs = callLogs.sort_by{|call| call[2]}.reverse
for (call in orderedCallLogs)
has_family_member = false
for (i=0; i<familyMmbrs.length; i++)
if (familyMmbrs[i] == call[0] || familyMmbrs[i] == call[1])
has_family_member = true
continue if has_family_member
familyMmbrs.append(call[0])
callLengths.append(call[2])
familyMmbrs.append(call[1])
callLengths.append(call[2])
end
for (i=0; i<familyMmbrs.length; i++)
print familyMmbrs[i] + " - " + callLengths[i]
}
Unfortunately for Homer, this function is neither correct nor concise. To save the day for the Simpsons family, propose some improvements to this code and explain your reasoning.
Why Join Castlight?
Excel
Putting people first is deeply ingrained in Castlight's culture. We hire only the most talented individuals and empower them to make a difference and get things done. We have daily stand-ups and regular retrospectives. We figure out what we're doing wrong so we can fix it, and what we're doing right so we can make it better.
You will be given the freedom to hone your craft without endless buy-in meetings or dull tools. For example, on your first day at Castlight, you tell us which computer, keyboard, mouse, and code editor make you the most productive, and we'll get them.
Change the world
The impact of your opinions, ideas, strategies, and potential will not be limited by your role or job title. This is your opportunity to play an active role in Castlight from the beginning, to make a mark and call it your own. You will have the support of a proven management team and a strong business model - take that, Social Networking Company #644!
It is also a unique chance for you to deliver ground-breaking, disruptive services and technology that will fundamentally change one of the largest and most powerful industries in the United States.
Castlight is small enough that you can make a difference, yet big enough to positively impact the lives of millions at the most fundamental level: the health of themselves and their loved ones.
Do the impossible
We know what you're thinking: "Anyone can change the world, even that Pet Rock guy. I want to do something hard."
As a software developer at Castlight, you will have to solve some of the toughest business, data-analysis, machine-learning, design, integration, and scalability problems of the IT world. You will be pioneering innovative engineering tools and techniques at the heart of one of the most challenging business domains.
Our leaders are successful healthcare entrepreneurs who know how to navigate the complex healthcare industry. We have a market opportunity, well-defined goals, a pragmatic mindset, and the funding to execute.
So why not join? Get in touch! Email jobs@castlighthealth.com!
Castlight is an equal opportunity employer. Please do not respond to this job posting in person.
To apply: Send a cover letter, resume, and puzzle solution to jobs@castlighthealth.com
Source: 37 Signals Jobs