Principal/Senior Software Engineer (Android)

Principal/Senior Software Engineer (Android)

Do your friends, loved ones, or relatives play Words With Friends?  Be a part of a dynamic team that makes Words With Friends. Our engineers develop and support new and exciting features that surprise and delight millions of players every day.

Come join us! You’ll find a fun culture with great perks (non-stop food, gym membership, subsidized commuting to/from the office using public transit, offsite events).  Our office is located in the downtown core and is easily accessible via the TTC and GO transit.

Minimum qualifications:

  • B.S. in Computer Science or related field or equivalent experience
  • 3+ years professional experience with Java programming
  • Android development (academic work not included) with an understanding of:
    • the Android application lifecycle
    • Building complex Java / XML based layouts and custom components
    • Experience working with JSON and REST based interfaces
    • Familiarity with modern development patterns including MVC/MVP, safe multithreading
    • Experience with dependency injection using Dagger
    • Experience with reactive programming using RxJava
    • Experience with unit testing using JUnit, Roboelectric, and Mockito
  • Knowledge of professional software engineering practices & best practices for the full software development life cycle, including coding standards, code reviews, source control management (Git), build processes, testing, and operations
  • Excellent communication skills, and the ability to work effectively with others in a team environment
  • Good eye for small details, and a love for problem solving
  • Solve very large and complex tasks involving multiple components
  • Ability to mentor junior members of the team
  • Can investigate areas of ambiguity
  • Desire to work on a live product used by millions of people!

Preferred qualifications:

  • Experience with Android Native App Development (NDK)
  • Deep understanding of the Android Debugging and Memory Analysis tools
  • iOS development (Objective-C)
  • Comfortable with C/C++
  • Worked with one or more game engines such as Cocos2d-x or Unity

Back to top