Causes.com - San Francisco - Relocation Available - FT
Causes.com is looking for great software engineers to join our growing eng team (currently 20). Design, build and deliver innovative tools that inspire people to create social change from their corner of the world. You’ll give people the ability to support their beliefs, clean up political corruption and provide real-time relief to those in need. Engineers at Causes tend to be jack-of-all-trades, though we love people who have mastered a specific part of the stack, from front-end to back-end and all the data in between. We believe that the only way to create change is for people to work together; it's the principle that guides how we run our company. From deep-dive product debates to catered lunch chats, every great idea gets its day at Causes. We encourage each other's interests just as much as we foster professional growth, and here those two tend to be one and the same.
We are currently hiring for software engineers and one iOS engineer. Read more about the positions at (<a href="http://causes.com/jobs" >http://causes.com/jobs</a>)
Below are some common questions we get from engineers who are interested, and one of our awesome engineers has decided to answer them:
Q: What is your team environment like? 
A: The team environment is extremely open and loose. Our engineering team has a flat structure - one of our explicit goals is to create a space where we are all on equal footing to create opportunities to teach ourselves and learn from each other. We encourage everyone to be constantly questioning and evaluating our development processes so that we can keep getting better over time. Every engineer has a tremendous amount of power in terms of identifying what the most impactful things to be working on are, and to take on those challenges with the support of the team.
Q: Are you a pretty casual startup or more corporate styled? 
A: We have a couple key meetings each week. Each morning we have a standup that we expect the whole team to be present for; having the team start the day together is important to us. We finish each week with a retrospective where we gather around a whiteboard, have some drinks, and consider the process for the week. Taking time each week to reflect on what went well and how we can replicate success, as well as what didn't and how we can avoid similar mistakes in the future makes this feel like one of the healthiest teams I have ever been a part of.
Q: Do you guys pair program? 
A: We definitely encourage pairing - I probably spend about a quarter of my time coding with a partner, and I'm trying to find ways to do even more. We used to have pairing stations set up explicitly for this (two keyboards, two mice, four monitors), but as our team has gotten more comfortable with other solutions like screen sharing via tmux the pairing stations have gently fallen into disuse. I would love to hear what setups you have found to be successful in encouraging good pairing sessions. We're always looking to find more ways to effectively collaborate!
Q: What is the developer life like?
A: In my opinion, the developer life at Causes is pretty spectacular. I get to work with some of the most awesome people I know, both technically and in a wide variety of other talents and interests. Jimmy, who leads our engineering team, used to be a performing stage magician. Rocky works with our Impact team and has represented the US in Ultimate Frisbee tournaments. There is a level of passion in my coworkers that I've never seen anywhere else, and I get to spend my time working, eating, talking, and playing with these people. As a developer, I get to work with fantastic technology. We are constantly upgrading our stack, and I often get to learn about things that are new to me. Most of our devs spend the day ssh'd into a workstation editing code in Vim, although we have one dev who tunnels the filesystem so that he can work in RubyMine, and at different times we have had folks working in TextMate, Sublime, Emacs, and Eclipse. All of our code goes through a code review tool called Gerrit that we use both to prevent software defects and as a way to teach each other about our craft. Gerrit is integrated with our Jenkins CI so that every patch has the complete test suite run against it before being merged.
We work in small development teams that generally include four developers, a product manager, and a designer. These teams give engineering access to the product design process that I haven't seen at the other companies I have been at. There's a neat sense of satisfaction when you are pairing with a designer to tweak a page into perfection. Working directly with the product team means that we get a lot of insight into what is coming down the pipe, and can often contribute to the direction of the product.
------------
Have you seen enough and you're now interested in joining the team? Please send over some code samples and a linked/resume to REDACTED_EMAIL with "HN" in the subject line.
Thanks!
Causes.com team (<a href="http://www.causes.com/team" >http://www.causes.com/team</a>)