- Great mentorship and work-life balance.
- Flexible hours and work from home policy
- Treated as full time member of team, with an equal say in team decisions
- Teams have a very large amount of autonomy, supporting different working styles. Some teams are very autonomous, while others rely heavily on pairing. Many teams are split across offices.
- Interns can lead Failure Friday, and motivated interns can go on-call for their team
- Functional programming is applied very widely; Many teams have most of their code in either Elixir or Scala, with only legacy code in Ruby
- Free lunch
- The people are very accommodating to different backgrounds and lifestyles. [Daddy|Mommy]Duty, for example, is a common term for when you adjust your work schedule so that you can take care of your kid. There are also various support groups within the company, like SisterDity and VeteranDuty. PD doesn't use "culture fit" as an excuse to exclude people, like some other bay-area companies do.
- Some teams work mostly in (an exceptionally old version of) Ruby on Rails.
- General growing pains as the company grows
I have worked in both offices. I would highly recommend anyone to intern at PD, but make sure you talk to a previous intern on your team to make sure it is a good fit. The Toronto office is better in every respect except weather and pay, with a more laid-back culture and better free lunch.
The lunch is exceptional. There was a wide variety of food from many different vendors each day. If you are in the Toronto office, I highly recommend Spicy Ethiopian day. In SF, deep dish pizza.
PD hires people from a wide variety of backgrounds, which is great. If you can code but you aren't in CS or Software Engineering, don't let that stop you from applying.
I would also recommend asking about their policies on affirmative action if that is something that is important to you.
Questions to ask your team if you get an offer:
- What tools does the team use?
- How much time is usually spent in meetings? How much of the time is spent working on new services and features, vs. polishing existing ones? Ops work vs. coding?