Normal unnamed2

Hinge

New York, NY hinge.co
   
 
   
 

About Hinge Engineering

Hinge is a social dating app that helps you to meet real people, through your real friends, in real life. Our engineering team accomplishes this matchmaking through iOS and Android apps, powered by an API and recommender. We feature a mix of experienced engineers and innovative hackers from successful startups and places like Google, Amazon, Spotify, Etsy, Meetup, Adobe, LivingSocial, ThredUp, Bonobos, and Shutterstock. We value rigor, humility, positive attitude, trustworthiness, and investment in our company and mission.

Small 1331900 Andrew Copp on

Untangling Facebook Authentication on iOS

Authentication is often an afterthought when developing apps. It is a step users will need to complete just once before moving on to the actual features of your product. Hinge’s iOS client was a complicated state machine for a long time. There are a number of paths the user can take and we had zero test cases to ensure we were handling all of them. The mentality was very much, “if it ain’t broke, don’t fix it.”

Our outlook changed when Facebook announced their plans to deprecate v1.0 of the Graph API. We were going to have to update the Facebook SDK and replace many of the classes and methods throughout the app. We took this as an opportunity to revisit the architecture of our authentication process.

Facebook encourages the use of the Singleton Pattern and this had been abused in our code. Our Facebook object had a massive API which led to muddled responsibilities and hidden dependencies. It was confusing to know where in the authentication process a user was in at any given time. Lots of potential steps in the flow were overlooked.

Small 863698 Matthew Reilly on

Adventures in Android Geocoding

Experiments with Google Play Services

Screen Shot 2015-05-11 at 12.15.18 PM


“I can’t register!” “Your app isn’t available in New York City??!!”


Comments like these (some more vocal than others) began pouring in immediately after we ramped up our staged rollout to Google Play. Hinge is, in fact, available in New York City (our hometown!) Clearly something was amiss.

Small 286131 Eric Bogs on

Using Slack for #engineering-team-group-therapy

While I like to think that all of us at Hinge are perfectly aligned towards the same goals, in reality if you take a mindreading machine and eavesdrop on the internal monologues of my team members, you might overhear some... misalignment:


  • "Oh please for the love of god not another meeting, just leave me alone so I can finish building this feature" -Engineer

  • "We really need to have another meeting to sync on what's left to build this feature" -Engineering manager


and

  • "We're not moving fast enough, we need to focus more on speed so we can get this out to our users" -Product manager

  • "We're moving too fast, we need to focus more on quality, let me add some more tests" -Engineer


and

  • "This open plan space is awesome! I can talk with my team all day!" -Engineer A

  • "I can't get any work done because my team won’t stop talking about obscure movie references!" -Engineer B


You can boil each of these issues down to their emotional core: different team members’ needs cause friction and frustration. Together, these issues were compounding to a larger sense of negativity and lack of momentum. Deadlines were slipping, tempers were flaring, engineers were losing sleep and pulling their hair out, and some were resorting to elaborate dance-offs/arm wrestling/fisticuffs in the office to resolve disagreements.

Small 501631 Alistair Leszkiewicz on

How to Optimize Your Workflow for iOS Development

Before switching to iOS development I worked as a web developer, and in the time since one of the things I miss is the feedback cycle involved with writing code for the web. Changes to CSS or Javascript can be reflected instantly in the web browser.

iOS Development is a lot less mature in this regard. Code changes bear the cost of a minimum ~10 second wait time between developer hitting ⌘B and seeing something on-screen. Doesn't sound like much, but that time is enough to get distracted and removed from a flow-like state.

Join Us